append_backup_line() hat einen gueltigen Tag-Namen direkt an gtk_text_buffer_insert_with_tags_by_name uebergeben, ohne zu pruefen ob der Tag existiert. Durch die Speicher Korruption vom Bug #1 enthielt der tag Pointer Muellbytes.
Fix: Tag-Name wird jetzt mit gtk_text_tag_table_lookup() validiert vor dem Gebrauch.
4. Fehlender "cmd" Tag
Live Log Buffer hatte keinen "cmd" Tag, obwohl er verwendet wurde.
## Fehler
Beim Starten eines Backups traten mehrere Fehler auf:
```
(x3-backup:8714): Gtk-CRITICAL: gtk_widget_get_scale_factor: assertion GTK_IS_WIDGET failed
(x3-backup:8714): Gtk-CRITICAL: gtk_box_pack: assertion GTK_IS_BOX failed
(x3-backup:8714): Gtk-WARNING: markup error parsing <b><big>...</big></big>
(x3-backup:8714): Gtk-WARNING: no tag with name garbage bytes!
Segmentation fault (core dumped)
```
## Ursachen & Fixes (01b03f8)
### 1. gtk_box_pack auf GtkMenuBar
`build_toolbar()` hat versucht, den Button-Toolbar in `toolbar_` (GtkMenuBar) einzupacken. GtkMenuBar ist kein GtkBox.
**Fix:** `build_toolbar()` gibt jetzt `GtkWidget*` zurueck statt in `toolbar_` zu packen.
### 2. Markup-Fehler
`<b><big>%s</big></big>` - Falsche Schliessreihenfolge.
**Fix:** `<b><big>%s</big></b>`
### 3. Segfault durch gueltigen Tag-Namen
`append_backup_line()` hat einen gueltigen Tag-Namen direkt an `gtk_text_buffer_insert_with_tags_by_name` uebergeben, ohne zu pruefen ob der Tag existiert. Durch die Speicher Korruption vom Bug #1 enthielt der `tag` Pointer Muellbytes.
**Fix:** Tag-Name wird jetzt mit `gtk_text_tag_table_lookup()` validiert vor dem Gebrauch.
### 4. Fehlender "cmd" Tag
Live Log Buffer hatte keinen "cmd" Tag, obwohl er verwendet wurde.
**Fix:** "cmd" Tag zum Live Log Buffer hinzugefuegt.
## Dateien
- `src/main_window.cpp`
- `src/main_window.h`
Geschlossen durch: 01b03f8
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Fehler
Beim Starten eines Backups traten mehrere Fehler auf:
Ursachen & Fixes (
01b03f8)1. gtk_box_pack auf GtkMenuBar
build_toolbar()hat versucht, den Button-Toolbar intoolbar_(GtkMenuBar) einzupacken. GtkMenuBar ist kein GtkBox.Fix:
build_toolbar()gibt jetztGtkWidget*zurueck statt intoolbar_zu packen.2. Markup-Fehler
<b><big>%s</big></big>- Falsche Schliessreihenfolge.Fix:
<b><big>%s</big></b>3. Segfault durch gueltigen Tag-Namen
append_backup_line()hat einen gueltigen Tag-Namen direkt angtk_text_buffer_insert_with_tags_by_nameuebergeben, ohne zu pruefen ob der Tag existiert. Durch die Speicher Korruption vom Bug #1 enthielt dertagPointer Muellbytes.Fix: Tag-Name wird jetzt mit
gtk_text_tag_table_lookup()validiert vor dem Gebrauch.4. Fehlender "cmd" Tag
Live Log Buffer hatte keinen "cmd" Tag, obwohl er verwendet wurde.
Fix: "cmd" Tag zum Live Log Buffer hinzugefuegt.
Dateien
src/main_window.cppsrc/main_window.hGeschlossen durch:
01b03f8