diff options
author | Matthias Clasen <mclasen@redhat.com> | 2010-02-23 12:54:00 -0500 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2010-02-23 12:54:00 -0500 |
commit | e06edf375aa46ee3e06b4c00a5db04d3cb41d419 (patch) | |
tree | 73d7a74a741af2343127fb8cf7b11a7346bff6f6 | |
parent | cb184bed8c1f257fd9692b39abc95c5e544344a7 (diff) | |
download | gdk-pixbuf-e06edf375aa46ee3e06b4c00a5db04d3cb41d419.tar.gz |
Fix a crash at startup in the directfb backend
Patch by André Draszik, bug 600789
-rw-r--r-- | gdk/directfb/gdkwindow-directfb.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/gdk/directfb/gdkwindow-directfb.c b/gdk/directfb/gdkwindow-directfb.c index 99419f4fe..8e67680f7 100644 --- a/gdk/directfb/gdkwindow-directfb.c +++ b/gdk/directfb/gdkwindow-directfb.c @@ -306,8 +306,11 @@ _gdk_windowing_window_init (void) _gdk_display->layer->GetConfiguration (_gdk_display->layer, &dlc); _gdk_parent_root = g_object_new (GDK_TYPE_WINDOW, NULL); + private = GDK_WINDOW_OBJECT (_gdk_parent_root); private->impl = g_object_new (_gdk_window_impl_get_type (), NULL); + private->impl_window = private; + impl = GDK_WINDOW_IMPL_DIRECTFB (private->impl); private->window_type = GDK_WINDOW_ROOT; @@ -344,6 +347,9 @@ _gdk_windowing_window_init (void) } impl->drawable.surface->GetPixelFormat(impl->drawable.surface,&impl->drawable.format); private->depth = DFB_BITS_PER_PIXEL(impl->drawable.format); + + _gdk_window_update_size (_gdk_parent_root); + /* Now we can set up the system colormap */ @@ -583,7 +589,7 @@ _gdk_window_impl_new (GdkWindow *window, private->x = (attributes_mask & GDK_WA_X) ? attributes->x : 0; private->y = (attributes_mask & GDK_WA_Y) ? attributes->y : 0; - parent_private = private->parent; + parent_private = GDK_WINDOW_OBJECT (real_parent); parent_impl = GDK_WINDOW_IMPL_DIRECTFB (parent_private->impl); private->parent = parent_private; |