* 033_directfb_client-message.patch: stolen from the upstream SVN. Fix
the DirectFB client_message API. * 034_directfb_memleak.patch: stolen from the upstream SVN. Fix memory leak in the DirectFB code. * Require DirectFB 1.0.0 for the 034 patch. * 070_mandatory-relibtoolize.patch: updated accordingly.
This commit is contained in:
10
debian/changelog
vendored
10
debian/changelog
vendored
@ -1,10 +1,16 @@
|
||||
gtk+2.0 (2.14.7-3) UNRELEASED; urgency=low
|
||||
gtk+2.0 (2.14.7-3) experimental; urgency=low
|
||||
|
||||
* 032_gdkwindowimpl_directfb.patch: new version of the patch. This
|
||||
should restore the basic functionality of the backend, but there is
|
||||
still work underway.
|
||||
* 033_directfb_client-message.patch: stolen from the upstream SVN. Fix
|
||||
the DirectFB client_message API.
|
||||
* 034_directfb_memleak.patch: stolen from the upstream SVN. Fix memory
|
||||
leak in the DirectFB code.
|
||||
* Require DirectFB 1.0.0 for the 034 patch.
|
||||
* 070_mandatory-relibtoolize.patch: updated accordingly.
|
||||
|
||||
-- Josselin Mouette <joss@debian.org> Wed, 18 Feb 2009 13:47:56 +0100
|
||||
-- Josselin Mouette <joss@debian.org> Sat, 21 Feb 2009 14:59:45 +0100
|
||||
|
||||
gtk+2.0 (2.14.7-2) experimental; urgency=low
|
||||
|
||||
|
2
debian/control
vendored
2
debian/control
vendored
@ -31,7 +31,7 @@ Build-Depends: debhelper (>= 5.0.22),
|
||||
chrpath,
|
||||
dpkg-dev (>= 1.13.19),
|
||||
x11proto-xext-dev,
|
||||
libdirectfb-dev (>= 0.9.26),
|
||||
libdirectfb-dev (>= 1.0.0),
|
||||
libcups2-dev (>= 1.2),
|
||||
quilt,
|
||||
gawk
|
||||
|
2
debian/control.in
vendored
2
debian/control.in
vendored
@ -31,7 +31,7 @@ Build-Depends: debhelper (>= 5.0.22),
|
||||
chrpath,
|
||||
dpkg-dev (>= 1.13.19),
|
||||
x11proto-xext-dev,
|
||||
libdirectfb-dev (>= 0.9.26),
|
||||
libdirectfb-dev (>= 1.0.0),
|
||||
libcups2-dev (>= 1.2),
|
||||
quilt,
|
||||
gawk
|
||||
|
188
debian/patches/032_gdkwindowimpl_directfb.patch
vendored
188
debian/patches/032_gdkwindowimpl_directfb.patch
vendored
@ -1,10 +1,13 @@
|
||||
Patch from Sven Neumann to fix DirectFB support for GTK+ 2.14.
|
||||
Based on the original Ubuntu patch for 2.12.
|
||||
|
||||
GNOME #554407
|
||||
Upstream svn r22358,r22381,r22383,r22385
|
||||
|
||||
Index: gtk+-2.14.7/gdk/directfb/gdkgeometry-directfb.c
|
||||
===================================================================
|
||||
--- gtk+-2.14.7.orig/gdk/directfb/gdkgeometry-directfb.c 2009-02-17 23:15:22.211082251 +0100
|
||||
+++ gtk+-2.14.7/gdk/directfb/gdkgeometry-directfb.c 2009-02-18 13:47:09.751083146 +0100
|
||||
--- gtk+-2.14.7.orig/gdk/directfb/gdkgeometry-directfb.c 2009-02-21 14:15:18.127086939 +0100
|
||||
+++ gtk+-2.14.7/gdk/directfb/gdkgeometry-directfb.c 2009-02-21 14:15:20.018583625 +0100
|
||||
@@ -41,9 +41,9 @@
|
||||
|
||||
|
||||
@ -48,8 +51,8 @@ Index: gtk+-2.14.7/gdk/directfb/gdkgeometry-directfb.c
|
||||
GdkDrawableImplDirectFB *impl;
|
||||
Index: gtk+-2.14.7/gdk/directfb/gdkwindow-directfb.c
|
||||
===================================================================
|
||||
--- gtk+-2.14.7.orig/gdk/directfb/gdkwindow-directfb.c 2009-02-17 23:15:22.195084338 +0100
|
||||
+++ gtk+-2.14.7/gdk/directfb/gdkwindow-directfb.c 2009-02-18 13:47:16.162587960 +0100
|
||||
--- gtk+-2.14.7.orig/gdk/directfb/gdkwindow-directfb.c 2009-02-21 14:15:18.091090046 +0100
|
||||
+++ gtk+-2.14.7/gdk/directfb/gdkwindow-directfb.c 2009-02-21 14:54:17.138584001 +0100
|
||||
@@ -33,6 +33,7 @@
|
||||
|
||||
#include "config.h"
|
||||
@ -113,7 +116,13 @@ Index: gtk+-2.14.7/gdk/directfb/gdkwindow-directfb.c
|
||||
}
|
||||
|
||||
return object_type;
|
||||
@@ -406,6 +419,7 @@ _gdk_windowing_window_init (void)
|
||||
@@ -401,11 +414,11 @@ _gdk_windowing_window_init (void)
|
||||
|
||||
g_assert (_gdk_parent_root == NULL);
|
||||
|
||||
- _gdk_display->layer->GetConfiguration(
|
||||
- _gdk_display->layer, &dlc );
|
||||
+ _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);
|
||||
@ -121,7 +130,7 @@ Index: gtk+-2.14.7/gdk/directfb/gdkwindow-directfb.c
|
||||
impl = GDK_WINDOW_IMPL_DIRECTFB (private->impl);
|
||||
|
||||
private->window_type = GDK_WINDOW_ROOT;
|
||||
@@ -647,8 +661,8 @@ gdk_directfb_window_new (GdkWindow
|
||||
@@ -647,8 +660,8 @@ gdk_directfb_window_new (GdkWindow
|
||||
|
||||
GdkWindow *
|
||||
_gdk_window_new (GdkWindow *parent,
|
||||
@ -132,7 +141,7 @@ Index: gtk+-2.14.7/gdk/directfb/gdkwindow-directfb.c
|
||||
{
|
||||
g_return_val_if_fail (attributes != NULL, NULL);
|
||||
|
||||
@@ -1230,28 +1244,19 @@ show_window_internal (GdkWindow *window,
|
||||
@@ -1230,28 +1243,19 @@ show_window_internal (GdkWindow *window,
|
||||
}
|
||||
}
|
||||
|
||||
@ -167,7 +176,7 @@ Index: gtk+-2.14.7/gdk/directfb/gdkwindow-directfb.c
|
||||
{
|
||||
GdkWindowObject *private;
|
||||
GdkWindowImplDirectFB *impl;
|
||||
@@ -1276,11 +1281,11 @@ gdk_window_hide (GdkWindow *window)
|
||||
@@ -1276,11 +1280,11 @@ gdk_window_hide (GdkWindow *window)
|
||||
|
||||
if (!private->input_only && private->parent)
|
||||
{
|
||||
@ -184,7 +193,7 @@ Index: gtk+-2.14.7/gdk/directfb/gdkwindow-directfb.c
|
||||
}
|
||||
|
||||
event_win = gdk_directfb_other_event_window (window, GDK_UNMAP);
|
||||
@@ -1299,8 +1304,8 @@ gdk_window_hide (GdkWindow *window)
|
||||
@@ -1299,8 +1303,8 @@ gdk_window_hide (GdkWindow *window)
|
||||
}
|
||||
}
|
||||
|
||||
@ -195,7 +204,7 @@ Index: gtk+-2.14.7/gdk/directfb/gdkwindow-directfb.c
|
||||
{
|
||||
g_return_if_fail (GDK_IS_WINDOW (window));
|
||||
|
||||
@@ -1309,80 +1314,6 @@ gdk_window_withdraw (GdkWindow *window)
|
||||
@@ -1309,80 +1313,6 @@ gdk_window_withdraw (GdkWindow *window)
|
||||
}
|
||||
|
||||
void
|
||||
@ -276,7 +285,43 @@ Index: gtk+-2.14.7/gdk/directfb/gdkwindow-directfb.c
|
||||
_gdk_directfb_move_resize_child (GdkWindow *window,
|
||||
gint x,
|
||||
gint y,
|
||||
@@ -1439,12 +1370,58 @@ _gdk_directfb_move_resize_child (GdkWind
|
||||
@@ -1407,15 +1337,17 @@ _gdk_directfb_move_resize_child (GdkWind
|
||||
|
||||
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);
|
||||
|
||||
@@ -1432,19 +1364,66 @@ _gdk_directfb_move_resize_child (GdkWind
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
||||
@ -341,7 +386,23 @@ Index: gtk+-2.14.7/gdk/directfb/gdkwindow-directfb.c
|
||||
{
|
||||
GdkWindowObject *private;
|
||||
GdkWindowImplDirectFB *impl;
|
||||
@@ -1478,26 +1455,38 @@ gdk_window_move_resize (GdkWindow *windo
|
||||
@@ -1454,8 +1433,14 @@ gdk_window_move_resize (GdkWindow *windo
|
||||
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;
|
||||
|
||||
@@ -1478,26 +1463,39 @@ gdk_window_move_resize (GdkWindow *windo
|
||||
|
||||
if (impl->drawable.width == width && impl->drawable.height == height)
|
||||
{
|
||||
@ -368,7 +429,8 @@ Index: gtk+-2.14.7/gdk/directfb/gdkwindow-directfb.c
|
||||
- GdkRectangle old =
|
||||
- { private->x, private->y, impl->drawable.width, impl->drawable.height };
|
||||
- _gdk_directfb_move_resize_child (window, x, y, width, height);
|
||||
+ 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)
|
||||
@ -389,7 +451,7 @@ Index: gtk+-2.14.7/gdk/directfb/gdkwindow-directfb.c
|
||||
|
||||
gdk_rectangle_union (&new, &old, &new);
|
||||
gdk_window_invalidate_rect (GDK_WINDOW (private->parent), &new,TRUE);
|
||||
@@ -1510,11 +1499,11 @@ gdk_window_move_resize (GdkWindow *windo
|
||||
@@ -1510,11 +1508,11 @@ gdk_window_move_resize (GdkWindow *windo
|
||||
}
|
||||
}
|
||||
|
||||
@ -406,7 +468,7 @@ Index: gtk+-2.14.7/gdk/directfb/gdkwindow-directfb.c
|
||||
{
|
||||
GdkWindowObject *window_private;
|
||||
GdkWindowObject *parent_private;
|
||||
@@ -1523,10 +1512,10 @@ _gdk_window_reparent (GdkWindow *window,
|
||||
@@ -1523,10 +1521,10 @@ _gdk_window_reparent (GdkWindow *window,
|
||||
GdkWindowImplDirectFB *parent_impl;
|
||||
GdkVisual *visual;
|
||||
|
||||
@ -419,7 +481,7 @@ Index: gtk+-2.14.7/gdk/directfb/gdkwindow-directfb.c
|
||||
|
||||
if (!new_parent)
|
||||
new_parent = _gdk_parent_root;
|
||||
@@ -1539,7 +1528,7 @@ _gdk_window_reparent (GdkWindow *window,
|
||||
@@ -1539,7 +1537,7 @@ _gdk_window_reparent (GdkWindow *window,
|
||||
|
||||
/* already parented */
|
||||
if( window_private->parent == (GdkWindowObject *)new_parent )
|
||||
@ -428,7 +490,7 @@ Index: gtk+-2.14.7/gdk/directfb/gdkwindow-directfb.c
|
||||
|
||||
window_private->parent = (GdkWindowObject *) new_parent;
|
||||
|
||||
@@ -1593,7 +1582,7 @@ _gdk_window_reparent (GdkWindow *window,
|
||||
@@ -1593,7 +1591,7 @@ _gdk_window_reparent (GdkWindow *window,
|
||||
{
|
||||
g_assert(0);
|
||||
_gdk_window_destroy (window, FALSE);
|
||||
@ -437,7 +499,7 @@ Index: gtk+-2.14.7/gdk/directfb/gdkwindow-directfb.c
|
||||
}
|
||||
/* we hold a reference count on ourselves */
|
||||
g_object_ref (window);
|
||||
@@ -1609,14 +1598,17 @@ _gdk_window_reparent (GdkWindow *window,
|
||||
@@ -1609,14 +1607,17 @@ _gdk_window_reparent (GdkWindow *window,
|
||||
&rect,
|
||||
&impl->drawable.surface);
|
||||
}
|
||||
@ -461,7 +523,7 @@ Index: gtk+-2.14.7/gdk/directfb/gdkwindow-directfb.c
|
||||
{
|
||||
GdkWindowObject *private;
|
||||
GdkDrawableImplDirectFB *impl;
|
||||
@@ -1700,51 +1692,8 @@ _gdk_windowing_window_clear_area (GdkWin
|
||||
@@ -1700,51 +1701,8 @@ _gdk_windowing_window_clear_area (GdkWin
|
||||
g_object_unref (gc);
|
||||
}
|
||||
|
||||
@ -515,7 +577,7 @@ Index: gtk+-2.14.7/gdk/directfb/gdkwindow-directfb.c
|
||||
{
|
||||
GdkWindowImplDirectFB *impl;
|
||||
|
||||
@@ -1774,8 +1723,8 @@ gdk_window_raise (GdkWindow *window)
|
||||
@@ -1774,8 +1732,8 @@ gdk_window_raise (GdkWindow *window)
|
||||
}
|
||||
}
|
||||
|
||||
@ -526,7 +588,7 @@ Index: gtk+-2.14.7/gdk/directfb/gdkwindow-directfb.c
|
||||
{
|
||||
GdkWindowImplDirectFB *impl;
|
||||
|
||||
@@ -1875,9 +1824,9 @@ gdk_window_set_role (GdkWindow *window
|
||||
@@ -1875,9 +1833,9 @@ gdk_window_set_role (GdkWindow *window
|
||||
* Since: 2.12
|
||||
*
|
||||
**/
|
||||
@ -538,7 +600,7 @@ Index: gtk+-2.14.7/gdk/directfb/gdkwindow-directfb.c
|
||||
{
|
||||
}
|
||||
|
||||
@@ -1907,9 +1856,9 @@ gdk_window_set_transient_for (GdkWindow
|
||||
@@ -1907,9 +1865,9 @@ gdk_window_set_transient_for (GdkWindow
|
||||
root->children = g_list_insert (root->children, window, i);
|
||||
}
|
||||
|
||||
@ -551,7 +613,7 @@ Index: gtk+-2.14.7/gdk/directfb/gdkwindow-directfb.c
|
||||
{
|
||||
GdkWindowObject *private;
|
||||
|
||||
@@ -1930,10 +1879,10 @@ gdk_window_set_background (GdkWindow *wi
|
||||
@@ -1930,10 +1888,10 @@ gdk_window_set_background (GdkWindow *wi
|
||||
private->bg_pixmap = NULL;
|
||||
}
|
||||
|
||||
@ -566,7 +628,7 @@ Index: gtk+-2.14.7/gdk/directfb/gdkwindow-directfb.c
|
||||
{
|
||||
GdkWindowObject *private;
|
||||
GdkPixmap *old_pixmap;
|
||||
@@ -1972,9 +1921,9 @@ gdk_window_set_back_pixmap (GdkWindow *w
|
||||
@@ -1972,9 +1930,9 @@ gdk_window_set_back_pixmap (GdkWindow *w
|
||||
}
|
||||
}
|
||||
|
||||
@ -579,7 +641,7 @@ Index: gtk+-2.14.7/gdk/directfb/gdkwindow-directfb.c
|
||||
{
|
||||
GdkWindowImplDirectFB *impl;
|
||||
GdkCursor *old_cursor;
|
||||
@@ -2011,13 +1960,13 @@ gdk_window_set_cursor (GdkWindow *window
|
||||
@@ -2011,13 +1969,13 @@ gdk_window_set_cursor (GdkWindow *window
|
||||
gdk_cursor_unref (old_cursor);
|
||||
}
|
||||
|
||||
@ -600,7 +662,7 @@ Index: gtk+-2.14.7/gdk/directfb/gdkwindow-directfb.c
|
||||
{
|
||||
GdkWindowObject *private;
|
||||
GdkDrawableImplDirectFB *impl;
|
||||
@@ -2078,10 +2027,10 @@ _gdk_directfb_calc_abs (GdkWindow *windo
|
||||
@@ -2078,10 +2036,10 @@ _gdk_directfb_calc_abs (GdkWindow *windo
|
||||
}
|
||||
}
|
||||
|
||||
@ -615,7 +677,7 @@ Index: gtk+-2.14.7/gdk/directfb/gdkwindow-directfb.c
|
||||
{
|
||||
g_return_val_if_fail (GDK_IS_WINDOW (window), FALSE);
|
||||
|
||||
@@ -2215,8 +2164,8 @@ _gdk_windowing_window_get_pointer (displ
|
||||
@@ -2215,8 +2173,8 @@ _gdk_windowing_window_get_pointer (displ
|
||||
|
||||
}
|
||||
|
||||
@ -626,7 +688,7 @@ Index: gtk+-2.14.7/gdk/directfb/gdkwindow-directfb.c
|
||||
{
|
||||
g_return_val_if_fail (GDK_IS_WINDOW (window), 0);
|
||||
|
||||
@@ -2226,9 +2175,9 @@ gdk_window_get_events (GdkWindow *window
|
||||
@@ -2226,9 +2184,9 @@ gdk_window_get_events (GdkWindow *window
|
||||
return GDK_WINDOW_OBJECT (window)->event_mask;
|
||||
}
|
||||
|
||||
@ -639,7 +701,7 @@ Index: gtk+-2.14.7/gdk/directfb/gdkwindow-directfb.c
|
||||
{
|
||||
g_return_if_fail (GDK_IS_WINDOW (window));
|
||||
|
||||
@@ -2240,27 +2189,27 @@ gdk_window_set_events (GdkWindow *win
|
||||
@@ -2240,27 +2198,27 @@ gdk_window_set_events (GdkWindow *win
|
||||
GDK_WINDOW_OBJECT (window)->event_mask = event_mask;
|
||||
}
|
||||
|
||||
@ -680,7 +742,7 @@ Index: gtk+-2.14.7/gdk/directfb/gdkwindow-directfb.c
|
||||
{
|
||||
}
|
||||
|
||||
@@ -2584,13 +2533,13 @@ gdk_window_set_functions (GdkWindow
|
||||
@@ -2584,13 +2542,13 @@ gdk_window_set_functions (GdkWindow
|
||||
g_message("unimplemented %s", __FUNCTION__);
|
||||
}
|
||||
|
||||
@ -698,7 +760,7 @@ Index: gtk+-2.14.7/gdk/directfb/gdkwindow-directfb.c
|
||||
{
|
||||
}
|
||||
|
||||
@@ -2604,9 +2553,9 @@ gdk_window_merge_child_input_shapes (Gdk
|
||||
@@ -2604,9 +2562,9 @@ gdk_window_merge_child_input_shapes (Gdk
|
||||
{
|
||||
}
|
||||
|
||||
@ -711,7 +773,23 @@ Index: gtk+-2.14.7/gdk/directfb/gdkwindow-directfb.c
|
||||
{
|
||||
g_return_val_if_fail (GDK_IS_WINDOW (window), FALSE);
|
||||
|
||||
@@ -3153,11 +3102,11 @@ gdk_window_impl_directfb_begin_paint_reg
|
||||
@@ -2708,6 +2666,7 @@ GdkWindow *gdk_directfb_create_child_win
|
||||
|
||||
window = g_object_new (GDK_TYPE_WINDOW, NULL);
|
||||
private = GDK_WINDOW_OBJECT (window);
|
||||
+ private->impl = g_object_new (_gdk_window_impl_get_type (), NULL);
|
||||
parent_private = GDK_WINDOW_OBJECT (parent);
|
||||
parent_impl = GDK_WINDOW_IMPL_DIRECTFB (parent_private->impl);
|
||||
private->parent = parent_private;
|
||||
@@ -2787,6 +2746,7 @@ gdk_window_foreign_new_for_display (GdkD
|
||||
/* we hold a reference count on ourselves */
|
||||
g_object_ref (window);
|
||||
private = GDK_WINDOW_OBJECT (window);
|
||||
+ private->impl = g_object_new (_gdk_window_impl_get_type (), NULL);
|
||||
private->parent = parent_private;
|
||||
private->window_type = GDK_WINDOW_TOPLEVEL;
|
||||
impl = GDK_WINDOW_IMPL_DIRECTFB (private->impl);
|
||||
@@ -3153,11 +3113,11 @@ gdk_window_impl_directfb_begin_paint_reg
|
||||
|
||||
D_DEBUG_AT( GDKDFB_Window, " -> [%2d] %4d,%4d-%4dx%4d\n", i, GDKDFB_RECTANGLE_VALS_FROM_BOX( box ) );
|
||||
|
||||
@ -728,7 +806,7 @@ Index: gtk+-2.14.7/gdk/directfb/gdkwindow-directfb.c
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3281,6 +3230,33 @@ _gdk_windowing_window_set_composited (Gd
|
||||
@@ -3281,6 +3241,33 @@ _gdk_windowing_window_set_composited (Gd
|
||||
{
|
||||
}
|
||||
|
||||
@ -764,8 +842,8 @@ Index: gtk+-2.14.7/gdk/directfb/gdkwindow-directfb.c
|
||||
#include "gdkaliasdef.c"
|
||||
Index: gtk+-2.14.7/gdk/directfb/gdkprivate-directfb.h
|
||||
===================================================================
|
||||
--- gtk+-2.14.7.orig/gdk/directfb/gdkprivate-directfb.h 2009-02-17 23:15:22.187084160 +0100
|
||||
+++ gtk+-2.14.7/gdk/directfb/gdkprivate-directfb.h 2009-02-18 13:47:09.820439866 +0100
|
||||
--- gtk+-2.14.7.orig/gdk/directfb/gdkprivate-directfb.h 2009-02-21 14:15:18.071083243 +0100
|
||||
+++ gtk+-2.14.7/gdk/directfb/gdkprivate-directfb.h 2009-02-21 14:48:30.330588850 +0100
|
||||
@@ -172,6 +172,17 @@ void gdk_directfb_window_id_table
|
||||
void gdk_directfb_window_id_table_remove (DFBWindowID dfb_id);
|
||||
GdkWindow * gdk_directfb_window_id_table_lookup (DFBWindowID dfb_id);
|
||||
@ -784,3 +862,43 @@ Index: gtk+-2.14.7/gdk/directfb/gdkprivate-directfb.h
|
||||
|
||||
typedef struct
|
||||
{
|
||||
Index: gtk+-2.14.7/gdk/directfb/gdkdisplay-directfb.c
|
||||
===================================================================
|
||||
--- gtk+-2.14.7.orig/gdk/directfb/gdkdisplay-directfb.c 2009-02-21 14:50:43.626587155 +0100
|
||||
+++ gtk+-2.14.7/gdk/directfb/gdkdisplay-directfb.c 2009-02-21 14:51:12.202624962 +0100
|
||||
@@ -36,14 +36,13 @@
|
||||
#include "gdkalias.h"
|
||||
|
||||
|
||||
-
|
||||
-extern void _gdk_visual_init (void);
|
||||
-extern void _gdk_events_init (void);
|
||||
-extern void _gdk_input_init (void);
|
||||
-extern void _gdk_dnd_init (void);
|
||||
-extern void _gdk_windowing_window_init (void);
|
||||
-extern void _gdk_windowing_image_init (void);
|
||||
-extern void _gdk_directfb_keyboard_init (void);
|
||||
+extern void _gdk_visual_init (void);
|
||||
+extern void _gdk_events_init (void);
|
||||
+extern void _gdk_input_init (void);
|
||||
+extern void _gdk_dnd_init (void);
|
||||
+extern void _gdk_windowing_window_init (void);
|
||||
+extern void _gdk_windowing_image_init (void);
|
||||
+extern void _gdk_directfb_keyboard_init (void);
|
||||
|
||||
static gboolean gdk_directfb_argb_font = FALSE;
|
||||
static gint gdk_directfb_glyph_surface_cache = 8;
|
||||
@@ -130,11 +129,10 @@ GdkDisplay * gdk_display_open (const gch
|
||||
_gdk_screen = g_object_new (GDK_TYPE_SCREEN, NULL);
|
||||
|
||||
_gdk_visual_init ();
|
||||
+ _gdk_windowing_window_init ();
|
||||
|
||||
gdk_screen_set_default_colormap (_gdk_screen,
|
||||
- gdk_screen_get_system_colormap (_gdk_screen));
|
||||
- _gdk_windowing_window_init ();
|
||||
- _gdk_windowing_image_init ();
|
||||
+ gdk_screen_get_system_colormap (_gdk_screen)); _gdk_windowing_image_init ();
|
||||
|
||||
_gdk_input_init ();
|
||||
_gdk_dnd_init ();
|
||||
|
72
debian/patches/033_directfb_client-message.patch
vendored
Normal file
72
debian/patches/033_directfb_client-message.patch
vendored
Normal file
@ -0,0 +1,72 @@
|
||||
GNOME #560671
|
||||
Upstream svn r22364
|
||||
|
||||
Index: gtk+-2.14.7/gdk/directfb/gdkevents-directfb.c
|
||||
===================================================================
|
||||
--- gtk+-2.14.7.orig/gdk/directfb/gdkevents-directfb.c 2009-02-21 14:35:01.226582685 +0100
|
||||
+++ gtk+-2.14.7/gdk/directfb/gdkevents-directfb.c 2009-02-21 14:35:44.242582415 +0100
|
||||
@@ -162,24 +162,22 @@ dfb_events_process_window_event (DFBWind
|
||||
|
||||
static gboolean
|
||||
gdk_event_send_client_message_by_window (GdkEvent *event,
|
||||
- GdkWindow *window)
|
||||
+ GdkWindow *window)
|
||||
{
|
||||
- GdkEvent *new_event;
|
||||
+ DFBUserEvent evt;
|
||||
|
||||
g_return_val_if_fail(event != NULL, FALSE);
|
||||
g_return_val_if_fail(GDK_IS_WINDOW(window), FALSE);
|
||||
|
||||
- new_event = gdk_directfb_event_make (window, GDK_CLIENT_EVENT);
|
||||
- new_event->client.message_type = event->client.message_type;
|
||||
- new_event->client.data_format = event->client.data_format;
|
||||
- memcpy(&new_event->client.data,
|
||||
- &event->client.data,
|
||||
- sizeof(event->client.data));
|
||||
+ evt.clazz = DFEC_USER;
|
||||
+ evt.type = GPOINTER_TO_UINT (GDK_ATOM_TO_POINTER (event->client.message_type));
|
||||
+ evt.data = (void *) event->client.data.l[0];
|
||||
+
|
||||
+ _gdk_display->buffer->PostEvent(_gdk_display->buffer, DFB_EVENT (&evt));
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
-
|
||||
static void
|
||||
dfb_events_dispatch (void)
|
||||
{
|
||||
@@ -230,6 +228,32 @@ dfb_events_io_func (GIOChannel *channe
|
||||
else
|
||||
dfb_events_process_window_event (&event->window);
|
||||
break;
|
||||
+
|
||||
+ case DFEC_USER:
|
||||
+ {
|
||||
+ GList *list;
|
||||
+
|
||||
+ GDK_NOTE (EVENTS, g_print (" client_message"));
|
||||
+
|
||||
+ for (list = client_filters; list; list = list->next)
|
||||
+ {
|
||||
+ GdkClientFilter *filter = list->data;
|
||||
+ DFBUserEvent *user_event = (DFBUserEvent *) event;
|
||||
+ GdkAtom type;
|
||||
+
|
||||
+ type = GDK_POINTER_TO_ATOM (GUINT_TO_POINTER (user_event->type));
|
||||
+
|
||||
+ if (filter->type == type)
|
||||
+ {
|
||||
+ if (filter->function (user_event,
|
||||
+ NULL,
|
||||
+ filter->data) != GDK_FILTER_CONTINUE)
|
||||
+ break;
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+ break;
|
||||
+
|
||||
default:
|
||||
break;
|
||||
}
|
117
debian/patches/034_directfb_memleak.patch
vendored
Normal file
117
debian/patches/034_directfb_memleak.patch
vendored
Normal file
@ -0,0 +1,117 @@
|
||||
GNOME #533456
|
||||
Upstream svn r22369
|
||||
|
||||
Index: gtk+-2.14.7/configure.in
|
||||
===================================================================
|
||||
--- gtk+-2.14.7.orig/configure.in 2009-02-21 14:48:32.835086281 +0100
|
||||
+++ gtk+-2.14.7/configure.in 2009-02-21 14:54:42.690587468 +0100
|
||||
@@ -1620,7 +1620,7 @@ AC_SUBST(GDK_PIXBUF_XLIB_DEP_LIBS)
|
||||
AC_SUBST(GDK_PIXBUF_XLIB_DEP_CFLAGS)
|
||||
|
||||
if test "x$gdktarget" = "xdirectfb"; then
|
||||
- DIRECTFB_REQUIRED_VERSION=0.9.26
|
||||
+ DIRECTFB_REQUIRED_VERSION=1.0.0
|
||||
AC_MSG_CHECKING(for DirectFB)
|
||||
|
||||
if $PKG_CONFIG --atleast-version $DIRECTFB_REQUIRED_VERSION directfb && $PKG_CONFIG --exists cairo-directfb ; then
|
||||
Index: gtk+-2.14.7/gdk/directfb/gdkcursor-directfb.c
|
||||
===================================================================
|
||||
--- gtk+-2.14.7.orig/gdk/directfb/gdkcursor-directfb.c 2009-02-21 14:48:30.306588314 +0100
|
||||
+++ gtk+-2.14.7/gdk/directfb/gdkcursor-directfb.c 2009-02-21 14:54:42.690587468 +0100
|
||||
@@ -41,10 +41,6 @@
|
||||
|
||||
#include <directfb_version.h>
|
||||
|
||||
-#if DIRECTFB_MAJOR_VERSION < 1
|
||||
-#define u32 __u32
|
||||
-#define u8 __u8
|
||||
-#endif
|
||||
|
||||
static struct {
|
||||
const guchar *bits;
|
||||
Index: gtk+-2.14.7/gdk/directfb/gdkdirectfb.h
|
||||
===================================================================
|
||||
--- gtk+-2.14.7.orig/gdk/directfb/gdkdirectfb.h 2009-02-21 14:48:30.374585434 +0100
|
||||
+++ gtk+-2.14.7/gdk/directfb/gdkdirectfb.h 2009-02-21 14:54:42.690587468 +0100
|
||||
@@ -80,10 +80,8 @@ GdkVisual * gdk_directfb_visual_by_forma
|
||||
IDirectFBWindow *gdk_directfb_window_lookup(GdkWindow *window);
|
||||
IDirectFBSurface *gdk_directfb_surface_lookup(GdkWindow *window);
|
||||
|
||||
-#if (DIRECTFB_MAJOR_VERSION >= 1)
|
||||
GdkWindow *gdk_directfb_create_child_window(GdkWindow *parent,
|
||||
- IDirectFBSurface *subsurface);
|
||||
-#endif
|
||||
+ IDirectFBSurface *subsurface);
|
||||
|
||||
|
||||
G_END_DECLS
|
||||
Index: gtk+-2.14.7/gdk/directfb/gdkevents-directfb.c
|
||||
===================================================================
|
||||
--- gtk+-2.14.7.orig/gdk/directfb/gdkevents-directfb.c 2009-02-21 14:54:41.887087234 +0100
|
||||
+++ gtk+-2.14.7/gdk/directfb/gdkevents-directfb.c 2009-02-21 14:54:42.690587468 +0100
|
||||
@@ -419,7 +419,6 @@ gdk_directfb_event_windows_add (GdkWindo
|
||||
impl->window->CreateEventBuffer (impl->window, &EventBuffer);
|
||||
}
|
||||
|
||||
-#if (DIRECTFB_MAJOR_VERSION >= 1)
|
||||
void
|
||||
gdk_directfb_event_windows_remove (GdkWindow *window)
|
||||
{
|
||||
@@ -436,7 +435,6 @@ gdk_directfb_event_windows_remove (GdkWi
|
||||
impl->window->DetachEventBuffer (impl->window, EventBuffer);
|
||||
/* FIXME: should we warn if (! EventBuffer) ? */
|
||||
}
|
||||
-#endif
|
||||
|
||||
GdkWindow *
|
||||
gdk_directfb_child_at (GdkWindow *window,
|
||||
Index: gtk+-2.14.7/gdk/directfb/gdkprivate-directfb.h
|
||||
===================================================================
|
||||
--- gtk+-2.14.7.orig/gdk/directfb/gdkprivate-directfb.h 2009-02-21 14:48:30.330588850 +0100
|
||||
+++ gtk+-2.14.7/gdk/directfb/gdkprivate-directfb.h 2009-02-21 14:54:42.690587468 +0100
|
||||
@@ -239,10 +239,8 @@ GdkImage* _gdk_directfb_copy_to_image (G
|
||||
gint width,
|
||||
gint height);
|
||||
|
||||
-void gdk_directfb_event_windows_add (GdkWindow *window);
|
||||
-#if (DIRECTFB_MAJOR_VERSION >= 1)
|
||||
+void gdk_directfb_event_windows_add (GdkWindow *window);
|
||||
void gdk_directfb_event_windows_remove (GdkWindow *window);
|
||||
-#endif
|
||||
|
||||
GdkGrabStatus gdk_directfb_keyboard_grab (GdkDisplay *display,
|
||||
GdkWindow *window,
|
||||
Index: gtk+-2.14.7/gdk/directfb/gdkwindow-directfb.c
|
||||
===================================================================
|
||||
--- gtk+-2.14.7.orig/gdk/directfb/gdkwindow-directfb.c 2009-02-21 14:54:17.138584001 +0100
|
||||
+++ gtk+-2.14.7/gdk/directfb/gdkwindow-directfb.c 2009-02-21 14:54:42.694585602 +0100
|
||||
@@ -698,9 +698,8 @@ _gdk_windowing_window_destroy (GdkWindow
|
||||
impl = GDK_WINDOW_IMPL_DIRECTFB (private->impl);
|
||||
|
||||
_gdk_selection_window_destroyed (window);
|
||||
-#if (DIRECTFB_MAJOR_VERSION >= 1)
|
||||
gdk_directfb_event_windows_remove (window);
|
||||
-#endif
|
||||
+
|
||||
if (window == _gdk_directfb_pointer_grab_window)
|
||||
gdk_pointer_ungrab (GDK_CURRENT_TIME);
|
||||
if (window == _gdk_directfb_keyboard_grab_window)
|
||||
@@ -2651,9 +2650,8 @@ gdk_window_get_frame_extents (GdkWindow
|
||||
* Given a directfb window and a subsurface of that window
|
||||
* create a gdkwindow child wrapper
|
||||
*/
|
||||
-#if (DIRECTFB_MAJOR_VERSION >= 1)
|
||||
GdkWindow *gdk_directfb_create_child_window(GdkWindow *parent,
|
||||
- IDirectFBSurface *subsurface)
|
||||
+ IDirectFBSurface *subsurface)
|
||||
{
|
||||
GdkWindow *window;
|
||||
GdkWindowObject *private;
|
||||
@@ -2698,7 +2696,6 @@ GdkWindow *gdk_directfb_create_child_win
|
||||
return window;
|
||||
|
||||
}
|
||||
-#endif
|
||||
|
||||
/*
|
||||
* The wrapping is not perfect since directfb does not give full access
|
79023
debian/patches/070_mandatory-relibtoolize.patch
vendored
79023
debian/patches/070_mandatory-relibtoolize.patch
vendored
File diff suppressed because it is too large
Load Diff
2
debian/patches/series
vendored
2
debian/patches/series
vendored
@ -12,6 +12,8 @@
|
||||
030_gtkentry_password-char-circle.patch
|
||||
031_directfb_dead-keys.patch
|
||||
032_gdkwindowimpl_directfb.patch
|
||||
033_directfb_client-message.patch
|
||||
034_directfb_memleak.patch
|
||||
041_ia32-libs.patch
|
||||
042_treeview_single-focus.patch
|
||||
060_ignore-random-icons.patch
|
||||
|
Reference in New Issue
Block a user