Commit 75eb3f9d authored by Matthias Clasen's avatar Matthias Clasen Committed by Matthias Clasen

Remove two more places where we were unconditionally setting "visible",

2004-11-11  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkuimanager.c (update_node): Remove two more places
	where we were unconditionally setting "visible", causing
	unnecessary notifications.

	* gtk/gtkclipboard.c (gtk_clipboard_get_for_display):
	(gtk_clipboard_get): Clarify the docs.  (#156638, Torsten
	Schoenfeld)
	(gtk_clipboard_finalize): Warn if the clipboard is still in
	its displays clipboard list.
parent 41628ede
2004-11-11 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkuimanager.c (update_node): Remove two more places
where we were unconditionally setting "visible", causing
unnecessary notifications.
* gtk/gtkclipboard.c (gtk_clipboard_get_for_display):
(gtk_clipboard_get): Clarify the docs. (#156638, Torsten
Schoenfeld)
(gtk_clipboard_finalize): Warn if the clipboard is still in
its displays clipboard list.
Considerably speed up GtkUIManager, by changing the semantics
of the dirty flag. It is now propagated up the tree, and
update_node() doesn't descend into clean subtrees. (#143668,
......@@ -44,7 +54,7 @@ Thu Nov 11 11:34:32 2004 Jonathan Blandford <jrb@redhat.com>
by leaving room for the resize grip. (#157778, Christian Persch)
* gdk/linux-fb/*: Fix many sparse warnings. (#157253,
Kjartan Maraas.
Kjartan Maraas).
* NEWS: Updates
......
2004-11-11 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkuimanager.c (update_node): Remove two more places
where we were unconditionally setting "visible", causing
unnecessary notifications.
* gtk/gtkclipboard.c (gtk_clipboard_get_for_display):
(gtk_clipboard_get): Clarify the docs. (#156638, Torsten
Schoenfeld)
(gtk_clipboard_finalize): Warn if the clipboard is still in
its displays clipboard list.
Considerably speed up GtkUIManager, by changing the semantics
of the dirty flag. It is now propagated up the tree, and
update_node() doesn't descend into clean subtrees. (#143668,
......@@ -44,7 +54,7 @@ Thu Nov 11 11:34:32 2004 Jonathan Blandford <jrb@redhat.com>
by leaving room for the resize grip. (#157778, Christian Persch)
* gdk/linux-fb/*: Fix many sparse warnings. (#157253,
Kjartan Maraas.
Kjartan Maraas).
* NEWS: Updates
......
2004-11-11 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkuimanager.c (update_node): Remove two more places
where we were unconditionally setting "visible", causing
unnecessary notifications.
* gtk/gtkclipboard.c (gtk_clipboard_get_for_display):
(gtk_clipboard_get): Clarify the docs. (#156638, Torsten
Schoenfeld)
(gtk_clipboard_finalize): Warn if the clipboard is still in
its displays clipboard list.
Considerably speed up GtkUIManager, by changing the semantics
of the dirty flag. It is now propagated up the tree, and
update_node() doesn't descend into clean subtrees. (#143668,
......@@ -44,7 +54,7 @@ Thu Nov 11 11:34:32 2004 Jonathan Blandford <jrb@redhat.com>
by leaving room for the resize grip. (#157778, Christian Persch)
* gdk/linux-fb/*: Fix many sparse warnings. (#157253,
Kjartan Maraas.
Kjartan Maraas).
* NEWS: Updates
......
2004-11-11 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkuimanager.c (update_node): Remove two more places
where we were unconditionally setting "visible", causing
unnecessary notifications.
* gtk/gtkclipboard.c (gtk_clipboard_get_for_display):
(gtk_clipboard_get): Clarify the docs. (#156638, Torsten
Schoenfeld)
(gtk_clipboard_finalize): Warn if the clipboard is still in
its displays clipboard list.
Considerably speed up GtkUIManager, by changing the semantics
of the dirty flag. It is now propagated up the tree, and
update_node() doesn't descend into clean subtrees. (#143668,
......@@ -44,7 +54,7 @@ Thu Nov 11 11:34:32 2004 Jonathan Blandford <jrb@redhat.com>
by leaving room for the resize grip. (#157778, Christian Persch)
* gdk/linux-fb/*: Fix many sparse warnings. (#157253,
Kjartan Maraas.
Kjartan Maraas).
* NEWS: Updates
......
......@@ -194,13 +194,22 @@ gtk_clipboard_finalize (GObject *object)
{
GtkClipboard *clipboard;
GtkWidget *clipboard_widget;
GSList *clipboards;
clipboard = GTK_CLIPBOARD (object);
clipboards = g_object_get_data (G_OBJECT (clipboard->display), "gtk-clipboard-list");
if (g_slist_index (clipboards, clipboard) >= 0)
g_warning ("GtkClipboard prematurely finalized");
clipboard_widget = get_clipboard_widget (clipboard->display);
clipboard_unset (clipboard);
clipboards = g_object_get_data (G_OBJECT (clipboard->display), "gtk-clipboard-list");
clipboards = g_slist_remove (clipboards, clipboard);
g_object_set_data (G_OBJECT (clipboard->display), "gtk-clipboard-list", clipboards);
if (g_main_loop_is_running (clipboard->store_loop))
{
g_main_loop_quit (clipboard->store_loop);
......@@ -227,10 +236,9 @@ clipboard_display_closed (GdkDisplay *display,
clipboards = g_object_get_data (G_OBJECT (display), "gtk-clipboard-list");
g_object_run_dispose (G_OBJECT (clipboard));
g_object_unref (clipboard);
clipboards = g_slist_remove (clipboards, clipboard);
g_object_set_data (G_OBJECT (display), "gtk-clipboard-list", clipboards);
g_object_unref (clipboard);
}
/**
......@@ -268,8 +276,9 @@ clipboard_display_closed (GdkDisplay *display,
* Return value: the appropriate clipboard object. If no
* clipboard already exists, a new one will
* be created. Once a clipboard object has
* been created, it is persistent for all time and
* cannot be freed.
* been created, it is persistent and, since
* it is owned by GTK+, must not be freed or
* unrefd.
*
* Since: 2.2
**/
......@@ -295,8 +304,9 @@ gtk_clipboard_get_for_display (GdkDisplay *display,
* Return value: the appropriate clipboard object. If no
* clipboard already exists, a new one will
* be created. Once a clipboard object has
* been created, it is persistent for all time and
* cannot be freed.
* been created, it is persistent and, since
* it is owned by GTK+, must not be freed or
* unrefd.
**/
GtkClipboard *
gtk_clipboard_get (GdkAtom selection)
......
......@@ -2110,9 +2110,12 @@ update_node (GtkUIManager *self,
menu = gtk_menu_item_get_submenu (GTK_MENU_ITEM (info->proxy));
siblings = gtk_container_get_children (GTK_CONTAINER (menu));
if (siblings != NULL && GTK_IS_TEAROFF_MENU_ITEM (siblings->data))
g_object_set (G_OBJECT (siblings->data),
"visible", self->private_data->add_tearoffs && !in_popup,
NULL);
{
if (self->private_data->add_tearoffs && !in_popup)
gtk_widget_show (GTK_WIDGET (siblings->data));
else
gtk_widget_hide (GTK_WIDGET (siblings->data));
}
g_list_free (siblings);
}
......@@ -2207,9 +2210,12 @@ update_node (GtkUIManager *self,
menu = gtk_menu_item_get_submenu (GTK_MENU_ITEM (info->proxy));
siblings = gtk_container_get_children (GTK_CONTAINER (menu));
if (siblings != NULL && GTK_IS_TEAROFF_MENU_ITEM (siblings->data))
g_object_set (G_OBJECT (siblings->data),
"visible", self->private_data->add_tearoffs && !in_popup,
NULL);
{
if (self->private_data->add_tearoffs && !in_popup)
gtk_widget_show (GTK_WIDGET (siblings->data));
else
gtk_widget_hide (GTK_WIDGET (siblings->data));
}
g_list_free (siblings);
}
break;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment