[gtk+] Add a few missing gtk_widget_unregister_window calls
- From: Alexander Larsson <alexl src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] Add a few missing gtk_widget_unregister_window calls
- Date: Mon, 18 Feb 2013 08:39:58 +0000 (UTC)
commit c6bbfc8e3d4eab0bb1c3cb2a5d5bd2eef234c3bd
Author: Alexander Larsson <alexl redhat com>
Date: Mon Feb 18 09:35:58 2013 +0100
Add a few missing gtk_widget_unregister_window calls
This was causing warnings on widget unparent like:
Gdk-CRITICAL **: gdk_window_has_native: assertion `GDK_IS_WINDOW (window)' failed
Becasue the window was not properly removed from the lists on unrealize.
gtk/gtktexthandle.c | 16 ++++++++++++++--
gtk/gtktreeview.c | 1 +
2 files changed, 15 insertions(+), 2 deletions(-)
---
diff --git a/gtk/gtktexthandle.c b/gtk/gtktexthandle.c
index 97449b4..8298cdf 100644
--- a/gtk/gtktexthandle.c
+++ b/gtk/gtktexthandle.c
@@ -369,10 +369,18 @@ gtk_text_handle_finalize (GObject *object)
g_object_unref (priv->relative_to);
if (priv->windows[GTK_TEXT_HANDLE_POSITION_SELECTION_START].window)
- gdk_window_destroy (priv->windows[GTK_TEXT_HANDLE_POSITION_SELECTION_START].window);
+ {
+ gtk_widget_unregister_window (priv->parent,
+ priv->windows[GTK_TEXT_HANDLE_POSITION_SELECTION_START].window);
+ gdk_window_destroy (priv->windows[GTK_TEXT_HANDLE_POSITION_SELECTION_START].window);
+ }
if (priv->windows[GTK_TEXT_HANDLE_POSITION_SELECTION_END].window)
- gdk_window_destroy (priv->windows[GTK_TEXT_HANDLE_POSITION_SELECTION_END].window);
+ {
+ gtk_widget_unregister_window (priv->parent,
+ priv->windows[GTK_TEXT_HANDLE_POSITION_SELECTION_END].window);
+ gdk_window_destroy (priv->windows[GTK_TEXT_HANDLE_POSITION_SELECTION_END].window);
+ }
if (g_signal_handler_is_connected (priv->parent, priv->draw_signal_id))
g_signal_handler_disconnect (priv->parent, priv->draw_signal_id);
@@ -527,7 +535,11 @@ _gtk_text_handle_set_relative_to (GtkTextHandle *handle,
if (priv->relative_to)
{
+ gtk_widget_unregister_window (priv->parent,
+ priv->windows[GTK_TEXT_HANDLE_POSITION_SELECTION_START].window);
gdk_window_destroy (priv->windows[GTK_TEXT_HANDLE_POSITION_SELECTION_START].window);
+ gtk_widget_unregister_window (priv->parent,
+ priv->windows[GTK_TEXT_HANDLE_POSITION_SELECTION_END].window);
gdk_window_destroy (priv->windows[GTK_TEXT_HANDLE_POSITION_SELECTION_END].window);
g_object_unref (priv->relative_to);
}
diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c
index 34898ab..af7b8a0 100644
--- a/gtk/gtktreeview.c
+++ b/gtk/gtktreeview.c
@@ -3347,6 +3347,7 @@ gtk_tree_view_button_release_drag_column (GtkWidget *widget,
tree_view->priv->cur_reorder->left_column);
}
tree_view->priv->drag_column = NULL;
+ gtk_widget_unregister_window (widget, tree_view->priv->drag_window);
gdk_window_destroy (tree_view->priv->drag_window);
tree_view->priv->drag_window = NULL;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]