diff --git a/ChangeLog b/ChangeLog index dc90e5222..e79d5a1e7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2008-01-31 Sven Neumann + + * gdk/directfb/gdkimage-directfb.c (_gdk_directfb_copy_to_image): + applied patch from Denis Oliver Kropp . + 2008-01-31 Sven Neumann * gdk/directfb/gdkdisplay-directfb.c diff --git a/gdk/directfb/gdkimage-directfb.c b/gdk/directfb/gdkimage-directfb.c index e6f6eda33..ff65bb648 100644 --- a/gdk/directfb/gdkimage-directfb.c +++ b/gdk/directfb/gdkimage-directfb.c @@ -278,7 +278,7 @@ _gdk_directfb_copy_to_image (GdkDrawable *drawable, { DFBResult ret; - ret = layer->SetCooperativeLevel (layer, DLSCL_EXCLUSIVE); + ret = layer->SetCooperativeLevel (layer, DLSCL_ADMINISTRATIVE); if (ret) { DirectFBError ("_gdk_directfb_copy_to_image - SetCooperativeLevel", @@ -300,7 +300,7 @@ _gdk_directfb_copy_to_image (GdkDrawable *drawable, if (!image) image = gdk_image_new (GDK_IMAGE_NORMAL, - gdk_visual_get_system (), width, height); + gdk_drawable_get_visual (drawable), width, height); private = image->windowing_data; @@ -309,7 +309,7 @@ _gdk_directfb_copy_to_image (GdkDrawable *drawable, private->surface->Blit( private->surface, impl->surface, &rect, dest_x, dest_y ); - private->surface->Lock( private->surface, DSLF_WRITE, &image->mem, &pitch ); + private->surface->Lock( private->surface, DSLF_READ | DSLF_WRITE, &image->mem, &pitch ); image->bpl = pitch; if (impl->wrapper == _gdk_parent_root)