From 1431e56b96e15a20a22e9f5a2db88f43724f1089 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Wed, 21 Dec 2016 00:11:37 +0100 Subject: [PATCH] gtkglext: initial add 1.2.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Andreas Müller --- .../0001-gtkglwidget-various-fixes.patch | 173 ++++++++++++++++++ recipes-support/gtkglext/gtkglext_1.2.0.bb | 17 ++ 2 files changed, 190 insertions(+) create mode 100644 recipes-support/gtkglext/files/0001-gtkglwidget-various-fixes.patch create mode 100644 recipes-support/gtkglext/gtkglext_1.2.0.bb diff --git a/recipes-support/gtkglext/files/0001-gtkglwidget-various-fixes.patch b/recipes-support/gtkglext/files/0001-gtkglwidget-various-fixes.patch new file mode 100644 index 0000000..3abd82b --- /dev/null +++ b/recipes-support/gtkglext/files/0001-gtkglwidget-various-fixes.patch @@ -0,0 +1,173 @@ +From be3b1dcbe0d9920eff4094e0a2ef8cd736051dff Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= +Date: Wed, 21 Dec 2016 08:20:27 +0100 +Subject: [PATCH] gtkglwidget: various fixes +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Taken from [1] + +[1] http://pkgs.fedoraproject.org/cgit/rpms/gtkglext.git/plain/gtkglext-1.2.0-bz677457.diff + +Upstream Status: Pending + +Signed-off-by: Andreas Müller +--- + gtk/gtkglwidget.c | 31 +++++++++++++++++++------------ + 1 file changed, 19 insertions(+), 12 deletions(-) + +diff --git a/gtk/gtkglwidget.c b/gtk/gtkglwidget.c +index ecb41ef..2e5e9f6 100644 +--- a/gtk/gtkglwidget.c ++++ b/gtk/gtkglwidget.c +@@ -16,7 +16,9 @@ + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + */ + +-#include ++#ifdef HAVE_CONFIG_H ++#include "config.h" ++#endif /* HAVE_CONFIG_H */ + + #include "gtkglprivate.h" + #include "gtkglwidget.h" +@@ -68,6 +70,7 @@ + gtk_gl_widget_realize (GtkWidget *widget, + GLWidgetPrivate *private) + { ++ GdkWindow *window; + GdkGLWindow *glwindow; + + GTK_GL_NOTE_FUNC_PRIVATE (); +@@ -77,9 +80,10 @@ + * handlers. + */ + +- if (!gdk_window_is_gl_capable (widget->window)) ++ window = gtk_widget_get_window (widget); ++ if (!gdk_window_is_gl_capable (window)) + { +- glwindow = gdk_window_set_gl_capability (widget->window, ++ glwindow = gdk_window_set_gl_capability (window, + private->glconfig, + NULL); + if (glwindow == NULL) +@@ -127,9 +131,9 @@ + * Synchronize OpenGL and window resizing request streams. + */ + +- if (GTK_WIDGET_REALIZED (widget) && private->is_realized) ++ if (gtk_widget_get_realized (widget) && private->is_realized) + { +- gldrawable = gdk_window_get_gl_drawable (widget->window); ++ gldrawable = gdk_window_get_gl_drawable (gtk_widget_get_window (widget)); + gdk_gl_drawable_wait_gdk (gldrawable); + } + } +@@ -146,7 +150,7 @@ + + if (private->glcontext != NULL) + { +- gdk_gl_context_destroy (private->glcontext); ++ g_object_unref (private->glcontext); + private->glcontext = NULL; + } + +@@ -154,8 +158,8 @@ + * Remove OpenGL-capability from widget->window. + */ + +- if (GTK_WIDGET_REALIZED (widget)) +- gdk_window_unset_gl_capability (widget->window); ++ if (gtk_widget_get_realized (widget)) ++ gdk_window_unset_gl_capability (gtk_widget_get_window (widget)); + + private->is_realized = FALSE; + } +@@ -174,7 +178,7 @@ + */ + + toplevel = gtk_widget_get_toplevel (widget); +- if (GTK_WIDGET_TOPLEVEL (toplevel) && !GTK_WIDGET_REALIZED (toplevel)) ++ if (gtk_widget_is_toplevel (toplevel) && !gtk_widget_get_realized (toplevel)) + { + GTK_GL_NOTE (MISC, + g_message (" - Install colormap to the top-level window.")); +@@ -188,23 +192,27 @@ + GtkStyle *previous_style, + gpointer user_data) + { ++ GdkWindow *window; ++ + GTK_GL_NOTE_FUNC_PRIVATE (); + + /* + * Set a background of "None" on window to avoid AIX X server crash. + */ + +- if (GTK_WIDGET_REALIZED (widget)) ++ if (gtk_widget_get_realized (widget)) + { ++ window = gtk_widget_get_window (widget); ++ + GTK_GL_NOTE (MISC, + g_message (" - window->bg_pixmap = %p", +- ((GdkWindowObject *) (widget->window))->bg_pixmap)); ++ ((GdkWindowObject *) window)->bg_pixmap)); + +- gdk_window_set_back_pixmap (widget->window, NULL, FALSE); ++ gdk_window_set_back_pixmap (window, NULL, FALSE); + + GTK_GL_NOTE (MISC, + g_message (" - window->bg_pixmap = %p", +- ((GdkWindowObject *) (widget->window))->bg_pixmap)); ++ ((GdkWindowObject *) window)->bg_pixmap)); + } + } + +@@ -250,8 +258,8 @@ + GTK_GL_NOTE_FUNC (); + + g_return_val_if_fail (GTK_IS_WIDGET (widget), FALSE); +- g_return_val_if_fail (!GTK_WIDGET_NO_WINDOW (widget), FALSE); +- g_return_val_if_fail (!GTK_WIDGET_REALIZED (widget), FALSE); ++ g_return_val_if_fail (gtk_widget_get_has_window (widget), FALSE); ++ g_return_val_if_fail (!gtk_widget_get_realized (widget), FALSE); + g_return_val_if_fail (GDK_IS_GL_CONFIG (glconfig), FALSE); + + /* +@@ -432,9 +440,9 @@ + GTK_GL_NOTE_FUNC (); + + g_return_val_if_fail (GTK_IS_WIDGET (widget), NULL); +- g_return_val_if_fail (GTK_WIDGET_REALIZED (widget), NULL); ++ g_return_val_if_fail (gtk_widget_get_realized (widget), NULL); + +- gldrawable = gdk_window_get_gl_drawable (widget->window); ++ gldrawable = gdk_window_get_gl_drawable (gtk_widget_get_window (widget)); + if (gldrawable == NULL) + return NULL; + +@@ -474,7 +482,7 @@ + GLWidgetPrivate *private; + + g_return_val_if_fail (GTK_IS_WIDGET (widget), NULL); +- g_return_val_if_fail (GTK_WIDGET_REALIZED (widget), NULL); ++ g_return_val_if_fail (gtk_widget_get_realized (widget), NULL); + + private = g_object_get_qdata (G_OBJECT (widget), quark_gl_private); + if (private == NULL) +@@ -501,7 +509,7 @@ + gtk_widget_get_gl_window (GtkWidget *widget) + { + g_return_val_if_fail (GTK_IS_WIDGET (widget), NULL); +- g_return_val_if_fail (GTK_WIDGET_REALIZED (widget), NULL); ++ g_return_val_if_fail (gtk_widget_get_realized (widget), NULL); + +- return gdk_window_get_gl_window (widget->window); ++ return gdk_window_get_gl_window (gtk_widget_get_window (widget)); + } +-- +2.5.5 + diff --git a/recipes-support/gtkglext/gtkglext_1.2.0.bb b/recipes-support/gtkglext/gtkglext_1.2.0.bb new file mode 100644 index 0000000..e1951f9 --- /dev/null +++ b/recipes-support/gtkglext/gtkglext_1.2.0.bb @@ -0,0 +1,17 @@ +SUMMARY = "OpenGL Extension to GTK" +LICENSE = "GPLv2 | LGPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ + file://COPYING.LIB;md5=bbb461211a33b134d42ed5ee802b37ff" + +inherit gnomebase pkgconfig distro_features_check + +REQUIRED_DISTRO_FEATURES = "x11 opengl" + +DEPENDS += "gtk+ pangox-compat libglu libxmu" + +SRC_URI += "file://0001-gtkglwidget-various-fixes.patch" +SRC_URI[archive.md5sum] = "ed7ba24ce06a8630c07f2d0ee5f04ab4" +SRC_URI[archive.sha256sum] = "16bd736074f6b14180f206b7e91263fc721b49912ea3258ab5f094cfa5497f51" +GNOME_COMPRESS_TYPE="bz2" + +FILES_${PN}-dev += "${libdir}/gtkglext-1.0"