[jhbuild] [3.0] Patch WebKit-1.3.7, required to build with gtk+3



commit 5db3926936424b5c432a7e3285cee87e34407ab0
Author: Craig Keogh <cskeogh adam com au>
Date:   Sun Dec 5 10:47:15 2010 +1030

    [3.0] Patch WebKit-1.3.7, required to build with gtk+3

 modulesets/gnome-suites-core-deps-3.0.modules |    6 +-
 patches/WebKit-1.3.7-changeset_r73330.diff    |  171 +++++++++++++++++++++++++
 2 files changed, 176 insertions(+), 1 deletions(-)
---
diff --git a/modulesets/gnome-suites-core-deps-3.0.modules b/modulesets/gnome-suites-core-deps-3.0.modules
index fc84228..990fef9 100644
--- a/modulesets/gnome-suites-core-deps-3.0.modules
+++ b/modulesets/gnome-suites-core-deps-3.0.modules
@@ -1162,7 +1162,11 @@
     <branch repo="webkitgtk.org"
             module="webkit-1.3.7.tar.gz" version="1.3.7"
             hash="sha256:937c75610108d09f9ac35aa120937cb193bc78a409c5fbfc439930a65a054652"
-            md5sum="134a799199d633899f4bb54b11e966e6" size="9797065"/>
+            md5sum="134a799199d633899f4bb54b11e966e6" size="9797065">
+      <!-- patch needed to build with gtk3, remove when 1.3.8 released -->
+      <!-- see http://trac.webkit.org/changeset/73330 -->
+      <patch file="WebKit-1.3.7-changeset_r73330.diff" strip="2"/>
+    </branch>
     <dependencies>
       <dep package="cairo"/>
       <dep package="fontconfig"/>
diff --git a/patches/WebKit-1.3.7-changeset_r73330.diff b/patches/WebKit-1.3.7-changeset_r73330.diff
new file mode 100644
index 0000000..b06f577
--- /dev/null
+++ b/patches/WebKit-1.3.7-changeset_r73330.diff
@@ -0,0 +1,171 @@
+Index: /trunk/JavaScriptCore/wtf/gobject/GTypedefs.h
+===================================================================
+--- /trunk/JavaScriptCore/wtf/gobject/GTypedefs.h	(revision 70257)
++++ /trunk/JavaScriptCore/wtf/gobject/GTypedefs.h	(revision 73330)
+@@ -45,5 +45,4 @@
+ typedef struct _GdkCursor GdkCursor;
+ typedef struct _GdkDragContext GdkDragContext;
+-typedef struct _GdkDrawable GdkDrawable;
+ typedef struct _GdkEventConfigure GdkEventConfigure;
+ typedef struct _GdkEventExpose GdkEventExpose;
+@@ -86,5 +85,7 @@
+ #ifdef GTK_API_VERSION_2
+ typedef struct _GdkRectangle GdkRectangle;
++typedef struct _GdkDrawable GdkWindow;
+ #else
++typedef struct _GdkWindow GdkWindow;
+ typedef struct _cairo_rectangle_int cairo_rectangle_int_t;
+ typedef cairo_rectangle_int_t GdkRectangle;
+Index: /trunk/JavaScriptCore/ChangeLog
+===================================================================
+--- /trunk/JavaScriptCore/ChangeLog	(revision 73323)
++++ /trunk/JavaScriptCore/ChangeLog	(revision 73330)
+@@ -1,2 +1,11 @@
++2010-12-04  Xan Lopez  <xlopez igalia com>
++
++        Reviewed by Martin Robinson.
++
++        [GTK] Drop GdkDrawable usage, it's deprecated in GTK+3.x and we can use GdkWindow
++        https://bugs.webkit.org/show_bug.cgi?id=50451
++
++        * wtf/gobject/GTypedefs.h: add GdkWindow defines.
++
+ 2010-12-03  Gavin Barraclough  <barraclough apple com>
+ 
+Index: /trunk/WebCore/ChangeLog
+===================================================================
+--- /trunk/WebCore/ChangeLog	(revision 73319)
++++ /trunk/WebCore/ChangeLog	(revision 73330)
+@@ -1,2 +1,24 @@
++2010-12-04  Xan Lopez  <xlopez igalia com>
++
++        Reviewed by Martin Robinson.
++
++        [GTK] Drop GdkDrawable usage, it's deprecated in GTK+3.x and we can use GdkWindow
++        https://bugs.webkit.org/show_bug.cgi?id=50451
++
++        GdkDrawable has been removed in GTK+3.x. To cope with this we can
++        actually stop using it altogether, since GdkWindow is just a
++        typedef for it and that seems to be good enough for us.
++
++        * platform/graphics/GraphicsContext.h: s/GdkDrawable/GdkWindow/.
++        * platform/graphics/cairo/GraphicsContextCairo.cpp:
++        (WebCore::GraphicsContext::gdkWindow): ditto.
++        * platform/gtk/GtkVersioning.h: declare GDK_WINDOW_XWINDOW for GTK 3.x builds.
++        * platform/gtk/PlatformScreenGtk.cpp:
++        (WebCore::screenAvailableRect): s/GdkDrawable/GdkWindow/.
++        * platform/gtk/WidgetGtk.cpp:
++        (WebCore::gdkWindow): ditto.
++        (WebCore::Widget::setCursor): ditto.
++        * platform/gtk/WidgetRenderingContextGtk2.cpp: ditto.
++
+ 2010-12-03  Dimitri Glazkov  <dglazkov chromium org>
+ 
+Index: /trunk/WebCore/platform/graphics/GraphicsContext.h
+===================================================================
+--- /trunk/WebCore/platform/graphics/GraphicsContext.h	(revision 73284)
++++ /trunk/WebCore/platform/graphics/GraphicsContext.h	(revision 73330)
+@@ -90,9 +90,4 @@
+ #endif
+ 
+-#if PLATFORM(GTK)
+-typedef struct _GdkDrawable GdkDrawable;
+-typedef struct _GdkEventExpose GdkEventExpose;
+-#endif
+-
+ #if PLATFORM(WIN)
+ typedef struct HDC__* HDC;
+@@ -408,5 +403,5 @@
+ #if PLATFORM(GTK)
+         void setGdkExposeEvent(GdkEventExpose*);
+-        GdkDrawable* gdkDrawable() const;
++        GdkWindow* gdkWindow() const;
+         GdkEventExpose* gdkExposeEvent() const;
+ #endif
+Index: /trunk/WebCore/platform/graphics/cairo/GraphicsContextCairo.cpp
+===================================================================
+--- /trunk/WebCore/platform/graphics/cairo/GraphicsContextCairo.cpp	(revision 72926)
++++ /trunk/WebCore/platform/graphics/cairo/GraphicsContextCairo.cpp	(revision 73330)
+@@ -1086,10 +1086,10 @@
+ }
+ 
+-GdkDrawable* GraphicsContext::gdkDrawable() const
++GdkWindow* GraphicsContext::gdkWindow() const
+ {
+     if (!m_data->expose)
+         return 0;
+ 
+-    return GDK_DRAWABLE(m_data->expose->window);
++    return m_data->expose->window;
+ }
+ #endif
+Index: /trunk/WebCore/platform/Widget.h
+===================================================================
+--- /trunk/WebCore/platform/Widget.h	(revision 70153)
++++ /trunk/WebCore/platform/Widget.h	(revision 73330)
+@@ -61,5 +61,4 @@
+ 
+ #if PLATFORM(GTK)
+-typedef struct _GdkDrawable GdkDrawable;
+ typedef struct _GtkWidget GtkWidget;
+ typedef struct _GtkContainer GtkContainer;
+Index: /trunk/WebCore/platform/gtk/GtkVersioning.h
+===================================================================
+--- /trunk/WebCore/platform/gtk/GtkVersioning.h	(revision 72722)
++++ /trunk/WebCore/platform/gtk/GtkVersioning.h	(revision 73330)
+@@ -33,4 +33,5 @@
+ #ifndef GTK_API_VERSION_2
+ #define GDK_DISPLAY() (GDK_DISPLAY_XDISPLAY(gdk_display_get_default()))
++#define GDK_WINDOW_XWINDOW(window) (gdk_x11_window_get_xid(window))
+ #else
+ GdkPixbuf* gdk_pixbuf_get_from_surface(cairo_surface_t* surface, int srcX, int srcY,
+Index: /trunk/WebCore/platform/gtk/WidgetRenderingContextGtk2.cpp
+===================================================================
+--- /trunk/WebCore/platform/gtk/WidgetRenderingContextGtk2.cpp	(revision 71791)
++++ /trunk/WebCore/platform/gtk/WidgetRenderingContextGtk2.cpp	(revision 73330)
+@@ -90,7 +90,7 @@
+     // to a temporary surface and preserve transparency. To ensure decent widget rendering, just
+     // paint directly to the target drawable. This will not render CSS rotational transforms properly.
+-    if (!theme->m_themePartsHaveRGBAColormap && graphicsContext->gdkDrawable()) {
++    if (!theme->m_themePartsHaveRGBAColormap && graphicsContext->gdkWindow()) {
+         m_paintRect = graphicsContext->getCTM().mapRect(targetRect);
+-        m_target = graphicsContext->gdkDrawable();
++        m_target = graphicsContext->gdkWindow();
+         return;
+     }
+@@ -132,5 +132,5 @@
+     // We do not need to blit back to the target in the fallback case. See above.
+     RenderThemeGtk* theme = static_cast<RenderThemeGtk*>(RenderTheme::defaultTheme().get());
+-    if (!theme->m_themePartsHaveRGBAColormap && m_graphicsContext->gdkDrawable())
++    if (!theme->m_themePartsHaveRGBAColormap && m_graphicsContext->gdkWindow())
+         return;
+ 
+Index: /trunk/WebCore/platform/gtk/WidgetGtk.cpp
+===================================================================
+--- /trunk/WebCore/platform/gtk/WidgetGtk.cpp	(revision 64526)
++++ /trunk/WebCore/platform/gtk/WidgetGtk.cpp	(revision 73330)
+@@ -61,5 +61,5 @@
+ }
+ 
+-static GdkDrawable* gdkDrawable(PlatformWidget widget)
++static GdkWindow* gdkWindow(PlatformWidget widget)
+ {
+     return widget ? gtk_widget_get_window(widget) : 0;
+@@ -79,5 +79,5 @@
+         return;
+ 
+-    gdk_window_set_cursor(gdkDrawable(platformWidget()) ? GDK_WINDOW(gdkDrawable(platformWidget())) : gtk_widget_get_window(GTK_WIDGET(root()->hostWindow()->platformPageClient())), platformCursor);
++    gdk_window_set_cursor(gdkWindow(platformWidget()) ? gdkWindow(platformWidget()) : gtk_widget_get_window(GTK_WIDGET(root()->hostWindow()->platformPageClient())), platformCursor);
+     lastSetCursor = platformCursor;
+ }
+Index: /trunk/WebCore/platform/gtk/PlatformScreenGtk.cpp
+===================================================================
+--- /trunk/WebCore/platform/gtk/PlatformScreenGtk.cpp	(revision 69293)
++++ /trunk/WebCore/platform/gtk/PlatformScreenGtk.cpp	(revision 73330)
+@@ -122,5 +122,5 @@
+         return screenRect(widget);
+ 
+-    GdkDrawable* rootWindow = GDK_DRAWABLE(gtk_widget_get_root_window(container));
++    GdkWindow* rootWindow = gtk_widget_get_root_window(container);
+     GdkDisplay* display = gdk_window_get_display(rootWindow);
+     Atom xproperty = gdk_x11_get_xatom_by_name_for_display(display, "_NET_WORKAREA");



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]