diff options
author | jylefort <jylefort@FreeBSD.org> | 2005-04-14 05:06:25 +0800 |
---|---|---|
committer | jylefort <jylefort@FreeBSD.org> | 2005-04-14 05:06:25 +0800 |
commit | 45346325f80041b89687ed4fcee82623283bf290 (patch) | |
tree | d41f8508e0ef17657c771bea6ad28e6dfd951546 /x11-toolkits | |
parent | e616480e355989ee4cab4cbeebd2e093d147cb83 (diff) | |
download | freebsd-ports-graphics-45346325f80041b89687ed4fcee82623283bf290.tar.gz freebsd-ports-graphics-45346325f80041b89687ed4fcee82623283bf290.tar.zst freebsd-ports-graphics-45346325f80041b89687ed4fcee82623283bf290.zip |
Fixes thread safety
(http://bugzilla.gnome.org/show_bug.cgi?id=156885).
Approved by: adamw (mentor)
Diffstat (limited to 'x11-toolkits')
-rw-r--r-- | x11-toolkits/eel/Makefile | 1 | ||||
-rw-r--r-- | x11-toolkits/eel/files/patch-eel_eel-editable-label.c | 13 | ||||
-rw-r--r-- | x11-toolkits/eel/files/patch-eel_eel-gnome-extensions.c | 12 | ||||
-rw-r--r-- | x11-toolkits/eel/files/patch-eel_eel-open-with-dialog.c | 47 | ||||
-rw-r--r-- | x11-toolkits/eel/files/patch-eel_eel-stock-dialogs.c | 40 |
5 files changed, 110 insertions, 3 deletions
diff --git a/x11-toolkits/eel/Makefile b/x11-toolkits/eel/Makefile index 310358fec5e..c933c7ef01c 100644 --- a/x11-toolkits/eel/Makefile +++ b/x11-toolkits/eel/Makefile @@ -7,6 +7,7 @@ PORTNAME= eel PORTVERSION= 2.10.1 +PORTREVISION= 1 CATEGORIES= x11-toolkits gnome MASTER_SITES= ${MASTER_SITE_GNOME} MASTER_SITE_SUBDIR= sources/${PORTNAME}/2.10 diff --git a/x11-toolkits/eel/files/patch-eel_eel-editable-label.c b/x11-toolkits/eel/files/patch-eel_eel-editable-label.c new file mode 100644 index 00000000000..042628e4b6f --- /dev/null +++ b/x11-toolkits/eel/files/patch-eel_eel-editable-label.c @@ -0,0 +1,13 @@ +--- eel/eel-editable-label.c.orig Mon Mar 21 06:20:09 2005 ++++ eel/eel-editable-label.c Mon Mar 21 06:20:12 2005 +@@ -3998,7 +3998,10 @@ + static gboolean + eel_editable_label_accessible_idle_notify_insert (gpointer data) + { ++ GDK_THREADS_ENTER (); + eel_editable_label_accessible_notify_insert (data); ++ GDK_THREADS_LEAVE (); ++ + return FALSE; + } + diff --git a/x11-toolkits/eel/files/patch-eel_eel-gnome-extensions.c b/x11-toolkits/eel/files/patch-eel_eel-gnome-extensions.c new file mode 100644 index 00000000000..3d6922deda5 --- /dev/null +++ b/x11-toolkits/eel/files/patch-eel_eel-gnome-extensions.c @@ -0,0 +1,12 @@ +--- eel/eel-gnome-extensions.c.orig Mon Mar 21 06:20:58 2005 ++++ eel/eel-gnome-extensions.c Mon Mar 21 06:21:00 2005 +@@ -246,7 +246,9 @@ + IconSelectionData *selection_data; + + selection_data = (IconSelectionData *) callback_data; ++ GDK_THREADS_ENTER (); + gtk_widget_destroy (selection_data->dialog); ++ GDK_THREADS_LEAVE (); + g_free (selection_data); + return FALSE; + } diff --git a/x11-toolkits/eel/files/patch-eel_eel-open-with-dialog.c b/x11-toolkits/eel/files/patch-eel_eel-open-with-dialog.c index 9512a270329..b94075cd399 100644 --- a/x11-toolkits/eel/files/patch-eel_eel-open-with-dialog.c +++ b/x11-toolkits/eel/files/patch-eel_eel-open-with-dialog.c @@ -1,6 +1,6 @@ ---- eel/eel-open-with-dialog.c.orig Mon Oct 4 00:30:27 2004 -+++ eel/eel-open-with-dialog.c Mon Oct 4 00:30:40 2004 -@@ -380,7 +380,7 @@ +--- eel/eel-open-with-dialog.c.orig Mon Mar 21 06:25:51 2005 ++++ eel/eel-open-with-dialog.c Mon Mar 21 06:39:29 2005 +@@ -422,7 +422,7 @@ gtk_file_chooser_set_select_multiple (GTK_FILE_CHOOSER (chooser), FALSE); gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (chooser), @@ -9,3 +9,44 @@ gtk_widget_show (chooser); } +@@ -452,10 +452,13 @@ + char *file; + gboolean long_operation; + ++ GDK_THREADS_ENTER (); ++ + long_operation = FALSE; + do { + if (!dialog->details->add_icon_paths) { + dialog->details->add_icons_idle_id = 0; ++ GDK_THREADS_LEAVE (); + return FALSE; + } + +@@ -508,6 +511,8 @@ + /* don't go back into the main loop if this wasn't very hard to do */ + } while (!long_operation); + ++ GDK_THREADS_LEAVE (); ++ + return TRUE; + } + +@@ -575,6 +580,8 @@ + GSList *l; + const char *prev_name; + ++ GDK_THREADS_ENTER (); ++ + /* create list store */ + dialog->details->program_list_store = gtk_list_store_new (NUM_COLUMNS, + GDK_TYPE_PIXBUF, +@@ -633,6 +640,8 @@ + NULL); + + gtk_tree_view_append_column (GTK_TREE_VIEW (dialog->details->program_list), column); ++ ++ GDK_THREADS_LEAVE (); + + dialog->details->add_icon_paths = g_slist_reverse (dialog->details->add_icon_paths); + diff --git a/x11-toolkits/eel/files/patch-eel_eel-stock-dialogs.c b/x11-toolkits/eel/files/patch-eel_eel-stock-dialogs.c new file mode 100644 index 00000000000..f1389b93996 --- /dev/null +++ b/x11-toolkits/eel/files/patch-eel_eel-stock-dialogs.c @@ -0,0 +1,40 @@ +--- eel/eel-stock-dialogs.c.orig Mon Mar 21 06:35:10 2005 ++++ eel/eel-stock-dialogs.c Mon Mar 21 06:36:23 2005 +@@ -104,6 +104,8 @@ + { + guint handler_id; + ++ GDK_THREADS_ENTER (); ++ + handler_id = GPOINTER_TO_UINT (g_object_get_data (G_OBJECT (callback_data), + "eel-stock-dialogs/delayed_close_handler_timeout_id")); + +@@ -113,6 +115,8 @@ + + gtk_object_destroy (GTK_OBJECT (callback_data)); + ++ GDK_THREADS_LEAVE (); ++ + return FALSE; + } + +@@ -202,7 +206,10 @@ + + wait = callback_data; + ++ GDK_THREADS_ENTER (); ++ + if (gnome_authentication_manager_dialog_is_visible ()) { ++ GDK_THREADS_LEAVE (); + return TRUE; + } + +@@ -249,6 +256,8 @@ + + wait->timeout_handler_id = 0; + wait->dialog = dialog; ++ ++ GDK_THREADS_LEAVE (); + + return FALSE; + } |