summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRay Strode <rstrode@redhat.com>2007-04-02 21:15:28 -0400
committerRay Strode <rstrode@redhat.com>2007-04-02 21:15:28 -0400
commitdd248c1698123f1167713dc685756195c8e7753c (patch)
treeba6064da8b6a09fa5b6e331730a19ef609de139d
parent75a05a3fe974bd8f206fc3bc4e5f0ea0d3afd47b (diff)
fix a segfault in the last bit of stacking fixes
-rw-r--r--src/pop-event-listener.c22
-rw-r--r--src/pop-window-view.c3
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);