summaryrefslogtreecommitdiff
path: root/xfce-base/xfce4-session/files/xfce4-session-4.13.0-add-edit-autostart-segv.patch
diff options
context:
space:
mode:
Diffstat (limited to 'xfce-base/xfce4-session/files/xfce4-session-4.13.0-add-edit-autostart-segv.patch')
-rw-r--r--xfce-base/xfce4-session/files/xfce4-session-4.13.0-add-edit-autostart-segv.patch57
1 files changed, 57 insertions, 0 deletions
diff --git a/xfce-base/xfce4-session/files/xfce4-session-4.13.0-add-edit-autostart-segv.patch b/xfce-base/xfce4-session/files/xfce4-session-4.13.0-add-edit-autostart-segv.patch
new file mode 100644
index 000000000000..ff5b805d3225
--- /dev/null
+++ b/xfce-base/xfce4-session/files/xfce4-session-4.13.0-add-edit-autostart-segv.patch
@@ -0,0 +1,57 @@
+From 193b09a9c159d1d16ad69e4298f48c2b531e9392 Mon Sep 17 00:00:00 2001
+From: Eric Koegel <eric.koegel@gmail.com>
+Date: Mon, 1 May 2017 06:55:05 +0300
+Subject: Add/Edit Application Autostart Entries (Bug #13271)
+
+With xfce4-session built from git (after the gtk3
+migration work), trying to add or edit an application
+autostart entry results in a segmentation fault after a
+"(xfce4-session-settings:9094): Gtk-CRITICAL **:
+gtk_entry_get_text: assertion 'GTK_IS_ENTRY (entry)'
+failed" message.
+
+It appears that when the "notify::text" signal callbacks
+for the "command_entry" and "name_entry" GtkEntry objects
+are created, they are called immediately, before the second
+GtkEntry object is created resulting in a failure in the
+xfae_dialog_update() function to properly process the objects.
+Thanks to ToZ for reporting and providing the fix.
+---
+ settings/xfae-dialog.c | 11 +++++++----
+ 1 file changed, 7 insertions(+), 4 deletions(-)
+
+diff --git a/settings/xfae-dialog.c b/settings/xfae-dialog.c
+index af860b9..7442634 100644
+--- a/settings/xfae-dialog.c
++++ b/settings/xfae-dialog.c
+@@ -98,8 +98,7 @@ xfae_dialog_init (XfaeDialog *dialog)
+ dialog->name_entry = g_object_new (GTK_TYPE_ENTRY,
+ "activates-default", TRUE,
+ NULL);
+- g_signal_connect_swapped (G_OBJECT (dialog->name_entry), "notify::text",
+- G_CALLBACK (xfae_dialog_update), dialog);
++
+ gtk_grid_attach (GTK_GRID (grid), dialog->name_entry, 1, 0, 1, 1);
+ gtk_widget_show (dialog->name_entry);
+
+@@ -132,11 +131,15 @@ xfae_dialog_init (XfaeDialog *dialog)
+ dialog->command_entry = g_object_new (GTK_TYPE_ENTRY,
+ "activates-default", TRUE,
+ NULL);
+- g_signal_connect_swapped (G_OBJECT (dialog->command_entry), "notify::text",
+- G_CALLBACK (xfae_dialog_update), dialog);
++
+ gtk_box_pack_start (GTK_BOX (hbox), dialog->command_entry, TRUE, TRUE, 0);
+ gtk_widget_show (dialog->command_entry);
+
++ g_signal_connect_swapped (G_OBJECT (dialog->name_entry), "notify::text",
++ G_CALLBACK (xfae_dialog_update), dialog);
++ g_signal_connect_swapped (G_OBJECT (dialog->command_entry), "notify::text",
++ G_CALLBACK (xfae_dialog_update), dialog);
++
+ button = g_object_new (GTK_TYPE_BUTTON,
+ "can-default", FALSE,
+ NULL);
+--
+cgit v1.1
+