forked from AuroraMiddleware/gtk
Apply a patch by Padraig O'Briain to avoid a deadlock.
2006-09-29 Matthias Clasen <mclasen@redhat.com> * gtk/gtkfilesystemunix.c: Apply a patch by Padraig O'Briain to avoid a deadlock.
This commit is contained in:
parent
fa2acd5921
commit
96741a1b05
@ -1,3 +1,8 @@
|
||||
2006-09-29 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* gtk/gtkfilesystemunix.c: Apply a patch by Padraig O'Briain
|
||||
to avoid a deadlock.
|
||||
|
||||
2006-09-27 Kristian Rietveld <kris@imendio.com>
|
||||
|
||||
* gtk/gtktreemodelfilter.c (gtk_tree_model_filter_free_level),
|
||||
|
@ -255,6 +255,7 @@ static GtkFileInfo *create_file_info (GtkFileFolderUnix *folder_uni
|
||||
const char *mime_type);
|
||||
|
||||
static gboolean execute_callbacks_idle (gpointer data);
|
||||
static void execute_callbacks (gpointer data);
|
||||
|
||||
static gboolean fill_in_names (GtkFileFolderUnix *folder_unix,
|
||||
GError **error);
|
||||
@ -443,7 +444,7 @@ gtk_file_system_unix_dispose (GObject *object)
|
||||
system_unix->execute_callbacks_idle_id = 0;
|
||||
|
||||
/* call pending callbacks */
|
||||
execute_callbacks_idle (system_unix);
|
||||
execute_callbacks (system_unix);
|
||||
}
|
||||
|
||||
G_OBJECT_CLASS (gtk_file_system_unix_parent_class)->dispose (object);
|
||||
@ -699,15 +700,13 @@ struct callback_info
|
||||
|
||||
|
||||
|
||||
static gboolean
|
||||
execute_callbacks_idle (gpointer data)
|
||||
static void
|
||||
execute_callbacks (gpointer data)
|
||||
{
|
||||
GSList *l;
|
||||
gboolean unref_file_system = TRUE;
|
||||
GtkFileSystemUnix *system_unix = GTK_FILE_SYSTEM_UNIX (data);
|
||||
|
||||
GDK_THREADS_ENTER ();
|
||||
|
||||
if (!system_unix->execute_callbacks_idle_id)
|
||||
unref_file_system = FALSE;
|
||||
else
|
||||
@ -746,6 +745,14 @@ execute_callbacks_idle (gpointer data)
|
||||
g_object_unref (system_unix);
|
||||
|
||||
system_unix->execute_callbacks_idle_id = 0;
|
||||
}
|
||||
|
||||
static gboolean
|
||||
execute_callbacks_idle (gpointer data)
|
||||
{
|
||||
GDK_THREADS_ENTER ();
|
||||
|
||||
execute_callbacks(data);
|
||||
|
||||
GDK_THREADS_LEAVE ();
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user