don't cancel the operations spawned by buttons here,
2006-09-04 Kristian Rietveld <kris@imendio.com> * gtk/gtkpathbar.c (gtk_path_bar_dispose): don't cancel the operations spawned by buttons here, (set_button_image_get_info_cb): bail out if button is NULL, but do free button_data, (button_data_free): only free the data is non NULL (since this function can be called multiple times for the same data), cancel handle is pending but don't free button_data in this case (will happen in the callback).
This commit is contained in:
parent
da07fc7a6e
commit
118715cb43
11
ChangeLog
11
ChangeLog
@ -1,3 +1,14 @@
|
|||||||
|
2006-09-04 Kristian Rietveld <kris@imendio.com>
|
||||||
|
|
||||||
|
* gtk/gtkpathbar.c (gtk_path_bar_dispose): don't cancel the
|
||||||
|
operations spawned by buttons here,
|
||||||
|
(set_button_image_get_info_cb): bail out if button is NULL, but
|
||||||
|
do free button_data,
|
||||||
|
(button_data_free): only free the data is non NULL (since this
|
||||||
|
function can be called multiple times for the same data), cancel
|
||||||
|
handle is pending but don't free button_data in this case (will
|
||||||
|
happen in the callback).
|
||||||
|
|
||||||
2006-09-04 Michael Natterer <mitch@imendio.com>
|
2006-09-04 Michael Natterer <mitch@imendio.com>
|
||||||
|
|
||||||
* gtk/gtkrc.c (rc_parse_token_or_compound)
|
* gtk/gtkrc.c (rc_parse_token_or_compound)
|
||||||
|
@ -259,15 +259,6 @@ gtk_path_bar_dispose (GObject *object)
|
|||||||
gtk_file_system_cancel_operation (path_bar->set_path_handle);
|
gtk_file_system_cancel_operation (path_bar->set_path_handle);
|
||||||
path_bar->set_path_handle = NULL;
|
path_bar->set_path_handle = NULL;
|
||||||
|
|
||||||
for (list = path_bar->button_list; list; list = list->next)
|
|
||||||
{
|
|
||||||
ButtonData *button_data = BUTTON_DATA (list->data);
|
|
||||||
|
|
||||||
if (button_data->handle)
|
|
||||||
gtk_file_system_cancel_operation (button_data->handle);
|
|
||||||
button_data->handle = NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
G_OBJECT_CLASS (gtk_path_bar_parent_class)->dispose (object);
|
G_OBJECT_CLASS (gtk_path_bar_parent_class)->dispose (object);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1020,6 +1011,12 @@ set_button_image_get_info_cb (GtkFileSystemHandle *handle,
|
|||||||
|
|
||||||
data->button_data->handle = NULL;
|
data->button_data->handle = NULL;
|
||||||
|
|
||||||
|
if (!data->button_data->button)
|
||||||
|
{
|
||||||
|
g_free (data->button_data);
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
|
|
||||||
if (cancelled || error)
|
if (cancelled || error)
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
@ -1134,11 +1131,19 @@ set_button_image (GtkPathBar *path_bar,
|
|||||||
static void
|
static void
|
||||||
button_data_free (ButtonData *button_data)
|
button_data_free (ButtonData *button_data)
|
||||||
{
|
{
|
||||||
|
if (button_data->path)
|
||||||
|
gtk_file_path_free (button_data->path);
|
||||||
|
button_data->path = NULL;
|
||||||
|
|
||||||
|
if (button_data->dir_name)
|
||||||
|
g_free (button_data->dir_name);
|
||||||
|
button_data->dir_name = NULL;
|
||||||
|
|
||||||
|
button_data->button = NULL;
|
||||||
|
|
||||||
if (button_data->handle)
|
if (button_data->handle)
|
||||||
gtk_file_system_cancel_operation (button_data->handle);
|
gtk_file_system_cancel_operation (button_data->handle);
|
||||||
|
else
|
||||||
gtk_file_path_free (button_data->path);
|
|
||||||
g_free (button_data->dir_name);
|
|
||||||
g_free (button_data);
|
g_free (button_data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user