diff options
author | Ray Strode <rstrode@redhat.com> | 2007-04-02 21:15:28 -0400 |
---|---|---|
committer | Ray Strode <rstrode@redhat.com> | 2007-04-02 21:15:28 -0400 |
commit | dd248c1698123f1167713dc685756195c8e7753c (patch) | |
tree | ba6064da8b6a09fa5b6e331730a19ef609de139d | |
parent | 75a05a3fe974bd8f206fc3bc4e5f0ea0d3afd47b (diff) |
fix a segfault in the last bit of stacking fixes
-rw-r--r-- | src/pop-event-listener.c | 22 | ||||
-rw-r--r-- | src/pop-window-view.c | 3 |
2 files changed, 5 insertions, 20 deletions
diff --git a/src/pop-event-listener.c b/src/pop-event-listener.c index e31a9e4..4411f31 100644 --- a/src/pop-event-listener.c +++ b/src/pop-event-listener.c @@ -672,16 +672,12 @@ pop_event_listener_get_cached_window_layer (PopEventListener *listener, */ if (cached_window_below != window) { - g_object_set_data (G_OBJECT (cached_window_below), + g_object_set_data (G_OBJECT (window), "pop-event-listener-cached-window-" "layer-window-above", NULL); - g_object_set_data (G_OBJECT (cached_window_above), - "pop-event-listener-cached-window-" - "layer-window-below", NULL); g_object_set_data (G_OBJECT (window), "pop-event-listener-has-cached-window-layer", GINT_TO_POINTER (FALSE)); - g_object_unref (cached_window_below); g_object_unref (cached_window_above); return FALSE; } @@ -699,21 +695,7 @@ pop_event_listener_cache_window_layer (PopEventListener *listener, old_window_above = g_object_get_data (G_OBJECT (window), "pop-event-listener-cached-window-layer-window-above"); if (old_window_above != NULL) - { - GdkWindow *cached_window_below; - g_assert (G_IS_OBJECT (old_window_above)); - cached_window_below = g_object_get_data (G_OBJECT (window), - "pop-event-listener-cached-" - "window-layer-window-below"); - if (cached_window_below == window) - { - g_object_set_data (G_OBJECT (old_window_above), - "pop-event-listener-cached-window-layer-window-below", - NULL); - g_object_unref (window); - } - g_object_unref (old_window_above); - } + g_object_unref (old_window_above); g_object_set_data (G_OBJECT (window), "pop-event-listener-cached-window-layer-window-above", diff --git a/src/pop-window-view.c b/src/pop-window-view.c index 8209959..6fb8929 100644 --- a/src/pop-window-view.c +++ b/src/pop-window-view.c @@ -626,6 +626,7 @@ pop_window_view_window_shown (PopWindowView *view) { g_print ("window 0x%lx is now visible\n", GDK_WINDOW_XWINDOW (view->priv->window)); + if (view->priv->pattern == NULL) pop_window_view_create_pattern_from_window (view); @@ -892,12 +893,14 @@ pop_window_view_render_to_context (PopWindowView *view, cairo_save (cairo_context); cairo_translate (cairo_context, view->priv->x, view->priv->y); +#if 0 char *text; text = g_strdup_printf ("0x%lx", GDK_WINDOW_XWINDOW (view->priv->window)); cairo_move_to (cairo_context, view->priv->width, view->priv->height); cairo_set_source_rgb (cairo_context, 1.0, 0.0, 1.0); cairo_show_text (cairo_context, text); g_free (text); +#endif cairo_set_source (cairo_context, view->priv->pattern); cairo_move_to (cairo_context, 0.0, 0.0); |