gtk+ r22384 - in trunk: . gdk/directfb
- From: neo svn gnome org
- To: svn-commits-list gnome org
- Subject: gtk+ r22384 - in trunk: . gdk/directfb
- Date: Thu, 19 Feb 2009 22:31:04 +0000 (UTC)
Author: neo
Date: Thu Feb 19 22:31:04 2009
New Revision: 22384
URL: http://svn.gnome.org/viewvc/gtk+?rev=22384&view=rev
Log:
2009-02-19 Sven Neumann <sven gimp org>
* gdk/directfb/gdkwindow-directfb.c
(gdk_directfb_window_move_resize): looks like being called with
negative width and height should be interpreted as a move. Fixes
scrolling and makes popups work to some extent.
(_gdk_directfb_move_resize_child): formatting.
Modified:
trunk/ChangeLog
trunk/gdk/directfb/gdkwindow-directfb.c
Modified: trunk/gdk/directfb/gdkwindow-directfb.c
==============================================================================
--- trunk/gdk/directfb/gdkwindow-directfb.c (original)
+++ trunk/gdk/directfb/gdkwindow-directfb.c Thu Feb 19 22:31:04 2009
@@ -1334,15 +1334,17 @@
if (!private->input_only)
{
- if (impl->drawable.surface) {
- GdkDrawableImplDirectFB *dimpl = GDK_DRAWABLE_IMPL_DIRECTFB (private->impl);
- if(dimpl->cairo_surface) {
- cairo_surface_destroy(dimpl->cairo_surface);
- dimpl->cairo_surface= NULL;
- }
- impl->drawable.surface->Release (impl->drawable.surface);
- impl->drawable.surface = NULL;
- }
+ if (impl->drawable.surface)
+ {
+ if (impl->drawable.cairo_surface)
+ {
+ cairo_surface_destroy (impl->drawable.cairo_surface);
+ impl->drawable.cairo_surface = NULL;
+ }
+
+ impl->drawable.surface->Release (impl->drawable.surface);
+ impl->drawable.surface = NULL;
+ }
parent_impl = GDK_WINDOW_IMPL_DIRECTFB (GDK_WINDOW_OBJECT (private->parent)->impl);
@@ -1359,7 +1361,8 @@
for (list = private->children; list; list = list->next)
{
private = GDK_WINDOW_OBJECT (list->data);
- impl = GDK_WINDOW_IMPL_DIRECTFB (private->impl);
+ impl = GDK_WINDOW_IMPL_DIRECTFB (private->impl);
+
_gdk_directfb_move_resize_child (list->data,
private->x, private->y,
impl->drawable.width, impl->drawable.height);
@@ -1427,8 +1430,14 @@
private = GDK_WINDOW_OBJECT (window);
impl = GDK_WINDOW_IMPL_DIRECTFB (private->impl);
+ if (with_move && (width < 0 && height < 0))
+ {
+ gdk_directfb_window_move (window, x, y);
+ return;
+ }
+
if (width < 1)
- width = 1;
+ width = 1;
if (height < 1)
height = 1;
@@ -1467,7 +1476,8 @@
}
else
{
- GdkRectangle old = { private->x, private->y, impl->drawable.width, impl->drawable.height };
+ GdkRectangle old = { private->x, private->y,
+ impl->drawable.width, impl->drawable.height };
GdkRectangle new = { x, y, width, height };
if (! with_move)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]