diff --git a/gtkglext-1.2.0-bz677457.diff b/gtkglext-1.2.0-bz677457.diff new file mode 100644 index 0000000..24a5856 --- /dev/null +++ b/gtkglext-1.2.0-bz677457.diff @@ -0,0 +1,150 @@ +diff -Naur gtkglext-1.2.0.orig/gtk/gtkglwidget.c gtkglext-1.2.0/gtk/gtkglwidget.c +--- gtkglext-1.2.0.orig/gtk/gtkglwidget.c 2004-02-20 10:38:36.000000000 +0100 ++++ gtkglext-1.2.0/gtk/gtkglwidget.c 2011-02-16 19:06:48.383730534 +0100 +@@ -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)); + } diff --git a/gtkglext.spec b/gtkglext.spec index 2becc97..67fb1fb 100644 --- a/gtkglext.spec +++ b/gtkglext.spec @@ -3,13 +3,14 @@ Summary: OpenGL Extension to GTK Name: gtkglext Version: 1.2.0 -Release: 11%{?dist} +Release: 12%{?dist} License: LGPLv2+ or GPLv2+ Group: System Environment/Libraries URL: http://gtkglext.sourceforge.net/ Source0: http://dl.sourceforge.net/sourceforge/gtkglext/gtkglext-%{version}.tar.bz2 -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +# Upstream changes, addressing BZ 677457 +Patch0: gtkglext-1.2.0-bz677457.diff BuildRequires: gtk2-devel BuildRequires: libGLU-devel @@ -32,9 +33,6 @@ Summary: OpenGL Extension to GTK Group: System Environment/Libraries License: LGPLv2+ -Obsoletes: gtkglext < %{version}-%{release} -Provides: gtkglext = %{version}-%{release} - %description libs GtkGLExt is an OpenGL extension to GTK. It provides the GDK objects which support OpenGL rendering in GTK, and GtkWidget API add-ons to @@ -64,14 +62,8 @@ and developer docs for GtkGLExt. make %install -rm -rf $RPM_BUILD_ROOT make DESTDIR=$RPM_BUILD_ROOT install -%if 0%{?fedora} >= 8 rm -f $RPM_BUILD_ROOT%{_libdir}/*.la -%endif - -%clean -rm -rf $RPM_BUILD_ROOT %post libs /sbin/ldconfig @@ -92,14 +84,15 @@ rm -rf $RPM_BUILD_ROOT %{_includedir}/* %{_libdir}/gtkglext-%{api_version} %{_libdir}/lib*.so -%if 0%{?fedora} < 8 -%{_libdir}/lib*.a -%endif %{_libdir}/pkgconfig/* %{_datadir}/aclocal/* %doc %{_datadir}/gtk-doc/html/* %changelog +* Wed Feb 16 2011 Ralf Corsépius - 1.2.0-12 +- Add gtkglext-1.2.0-bz677457.diff (BZ 677457). +- Spec file cleanup. + * Wed Feb 09 2011 Fedora Release Engineering - 1.2.0-11 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild