mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-12-26 13:41:07 +00:00
looks like being called with negative width and height should be
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. svn path=/trunk/; revision=22384
This commit is contained in:
parent
69fe31489c
commit
92c30df34d
@ -1,3 +1,12 @@
|
||||
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.
|
||||
|
||||
2009-02-19 Sven Neumann <sven@gimp.org>
|
||||
|
||||
* gdk/directfb/gdkdisplay-directfb.c (gdk_display_open): move the
|
||||
|
@ -1334,15 +1334,17 @@ _gdk_directfb_move_resize_child (GdkWindow *window,
|
||||
|
||||
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 @@ _gdk_directfb_move_resize_child (GdkWindow *window,
|
||||
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 @@ gdk_directfb_window_move_resize (GdkWindow *window,
|
||||
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 @@ gdk_directfb_window_move_resize (GdkWindow *window,
|
||||
}
|
||||
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)
|
||||
|
Loading…
Reference in New Issue
Block a user