[gnome-continuous] Try out a GLib patch for g_object_ref()



commit dd0d3a8766dc76530766138801974dc8c3071251
Author: Emmanuele Bassi <ebassi gnome org>
Date:   Fri Dec 8 15:47:32 2017 +0000

    Try out a GLib patch for g_object_ref()
    
    Let's see if WebKitGTK builds with this, before pushing it.

 manifest.json                      |    1 +
 patches/glib-object-refcount.patch |   29 +++++++++++++++++++++++++++++
 2 files changed, 30 insertions(+), 0 deletions(-)
---
diff --git a/manifest.json b/manifest.json
index 7d9ec46..8c05510 100644
--- a/manifest.json
+++ b/manifest.json
@@ -72,6 +72,7 @@
                  "patches": ["python-meson-buildsys.patch"]},
 
                {"src": "gnome:glib",
+                 "patches": ["glib-object-refcount.patch"],
                 "component": "minimal",
                  "requires": {"pkgconfig": ["libffi >= 3.0.10"]},
                  "force-autotools": true,
diff --git a/patches/glib-object-refcount.patch b/patches/glib-object-refcount.patch
new file mode 100644
index 0000000..cc5d0f8
--- /dev/null
+++ b/patches/glib-object-refcount.patch
@@ -0,0 +1,29 @@
+From e6293945ebd3deedbaa96a9ab751e47ef4da239e Mon Sep 17 00:00:00 2001
+From: Emmanuele Bassi <ebassi gnome org>
+Date: Fri, 8 Dec 2017 15:44:37 +0000
+Subject: [PATCH] Disable refcounting type propagation with C++
+
+The type propagation breaks the GRefPtr.h class in WebKitGTK, and in
+any case existing C++ code calling the C API will need to perform an
+explicit cast, as there's no automatic promotion of pointer types to
+and from void*.
+---
+ gobject/gobject.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/gobject/gobject.h b/gobject/gobject.h
+index 490d9266a..eaefe9243 100644
+--- a/gobject/gobject.h
++++ b/gobject/gobject.h
+@@ -508,7 +508,7 @@ GLIB_AVAILABLE_IN_ALL
+ void        g_object_remove_weak_pointer      (GObject        *object, 
+                                                gpointer       *weak_pointer_location);
+ 
+-#if defined(__GNUC__) && GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_56
++#if defined(__GNUC__) && !defined(__cplusplus) && GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_56
+ /* Make reference APIs type safe with macros */
+ #define g_object_ref(Obj)      ((__typeof__(Obj)) (g_object_ref) (Obj))
+ #define g_object_ref_sink(Obj) ((__typeof__(Obj)) (g_object_ref_sink) (Obj))
+-- 
+2.14.3
+


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