1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
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
|