diff --git a/gimp-fix-statusbar.patch b/gimp-fix-statusbar.patch new file mode 100644 index 0000000..3c2f5b6 --- /dev/null +++ b/gimp-fix-statusbar.patch @@ -0,0 +1,67 @@ +From 501c4f65f08c111df0654cb887d95c2c06e82710 Mon Sep 17 00:00:00 2001 +From: Nils Philippsen +Date: Wed, 24 Mar 2010 17:08:01 +0000 +Subject: backport statusbar code needed for GTK+ >= 2.19.1 + +Use the hbox that is provided via gtk_statusbar_get_message_area() +since GTK+ 2.19.1. +--- +diff --git a/app/display/gimpstatusbar.c b/app/display/gimpstatusbar.c +index 5e89427..36651cd 100644 +--- a/app/display/gimpstatusbar.c ++++ b/app/display/gimpstatusbar.c +@@ -49,6 +49,9 @@ + /* maximal width of the string holding the cursor-coordinates */ + #define CURSOR_LEN 256 + ++/* the spacing of the hbox */ ++#define HBOX_SPACING 1 ++ + /* spacing between the icon and the statusbar label */ + #define ICON_SPACING 2 + +@@ -152,6 +155,7 @@ static void + gimp_statusbar_init (GimpStatusbar *statusbar) + { + GtkWidget *hbox; ++ GtkWidget *label; + GtkWidget *image; + GimpUnitStore *store; + +@@ -171,13 +175,27 @@ gimp_statusbar_init (GimpStatusbar *statusbar) + statusbar->progress_active = FALSE; + statusbar->progress_shown = FALSE; + +- /* remove the label and insert a hbox */ +- gtk_container_remove (GTK_CONTAINER (GTK_STATUSBAR (statusbar)->frame), +- g_object_ref (GTK_STATUSBAR (statusbar)->label)); +- +- hbox = gtk_hbox_new (FALSE, 1); +- gtk_container_add (GTK_CONTAINER (GTK_STATUSBAR (statusbar)->frame), hbox); +- gtk_widget_show (hbox); ++ label = g_object_ref (GTK_STATUSBAR (statusbar)->label); ++ ++ /* remove the message area or label and insert a hbox */ ++#if GTK_CHECK_VERSION (2, 19, 1) ++ { ++ hbox = gtk_statusbar_get_message_area (GTK_STATUSBAR (statusbar)); ++ gtk_box_set_spacing (GTK_BOX (hbox), HBOX_SPACING); ++ gtk_container_remove (GTK_CONTAINER (hbox), label); ++ } ++#else ++ { ++ GtkWidget *label_parent; ++ ++ label_parent = gtk_widget_get_parent (label); ++ gtk_container_remove (GTK_CONTAINER (label_parent), label); ++ ++ hbox = gtk_hbox_new (FALSE, HBOX_SPACING); ++ gtk_container_add (GTK_CONTAINER (label_parent), hbox); ++ gtk_widget_show (hbox); ++ } ++#endif + + statusbar->cursor_label = gtk_label_new ("8888, 8888"); + gtk_misc_set_alignment (GTK_MISC (statusbar->cursor_label), 0.5, 0.5); +-- +cgit v0.8.3.1 diff --git a/gimp.changes b/gimp.changes index c0be0b2..a5eb1a1 100644 --- a/gimp.changes +++ b/gimp.changes @@ -1,3 +1,15 @@ +------------------------------------------------------------------- +Sun May 23 19:41:18 CEST 2010 - vuntz@opensuse.org + +- Add gimp-fix-statusbar.patch to fix missing widgets in status + bar. Fix bnc#601712. + +------------------------------------------------------------------- +Sun May 23 16:16:03 CEST 2010 - vuntz@opensuse.org + +- Move the input device module to a specific package, to isolate + the HAL dependency. Fix bnc#601947. + ------------------------------------------------------------------- Tue Apr 6 12:40:10 CEST 2010 - vuntz@opensuse.org diff --git a/gimp.spec b/gimp.spec index 3ac5af9..d7cebed 100644 --- a/gimp.spec +++ b/gimp.spec @@ -48,7 +48,7 @@ BuildRequires: update-desktop-files BuildRequires: xorg-x11-libXfixes-devel Url: http://www.gimp.org/ Version: 2.6.8 -Release: 2 +Release: 3 License: GPLv2+ Group: Productivity/Graphics/Bitmap Editors Suggests: AdobeICCProfiles @@ -61,6 +61,8 @@ Source: ftp://ftp.gimp.org/pub/gimp/v2.6/%{name}-%{version}.tar.bz2 Source1: macros.gimp # PATCH-FIX-UPSTREAM gimp-new-libpng.patch vuntz@opensuse.org -- Taken from upstream, fix build with recent libpng Patch0: gimp-new-libpng.patch +# PATCH-FIX-UPSTREAM gimp-fix-statusbar.patch bnc601712 vuntz@opensuse.org -- Taken from upstream, fix status bar not complete with recent gtk+ +Patch1: gimp-fix-statusbar.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build Requires: %{name}-branding >= 2.4 Recommends: %{name}-plugins-python = %{version} gimp-2.0-scanner-plugin %{name}-help-browser @@ -167,6 +169,27 @@ Supplements: packageand(%{name}:gimp-help) This package contains the help browser for the GIMP. +%package module-hal +License: GPLv2+ +Summary: The GNU Image Manipulation Program - module to detect input devices with HAL +Requires: %{name} = %{version} +Supplements: packageand(%{name}:hal) +Group: Productivity/Graphics/Bitmap Editors + +%description module-hal +The GIMP (GNU Image Manipulation Program) is a powerful image +composition and editing program, which can be extremely useful for +creating logos and other graphics for Web pages. The GIMP offers many +of the tools and filters you would expect to find in similar commercial +offerings and contains some interesting extras as well. The GIMP +provides alarge image manipulation toolbox, including channel +operations and layers, effects, subpixel imaging and antialiasing, and +conversions- all including multilevel undo. The GIMP offers a scripting +facility, but many of the included scripts rely on fonts that we cannot +distribute. + +This package provides a module to detect input devices with HAL. + %lang_package %prep %setup -q @@ -177,6 +200,7 @@ translation-update-upstream po-script-fu gimp20-script-fu translation-update-upstream po-plug-ins gimp20-std-plug-ins translation-update-upstream po-tips gimp20-tips %patch0 -p1 +%patch1 -p1 # Safety check for ABI version change. vabi=`printf "%d" $(sed -n '/#define GIMP_MODULE_ABI_VERSION/{s/.* //;p}' libgimpmodule/gimpmodule.h)` if test "x${vabi}" != "x%{abiver}"; then @@ -254,6 +278,7 @@ rm -rf $RPM_BUILD_ROOT %dir %{_libdir}/gimp/2.0/interpreters %{_libdir}/gimp/2.0/interpreters/default.interp %{_libdir}/gimp/2.0/modules +%exclude %{_libdir}/gimp/2.0/modules/libcontroller-linux-input.so %dir %{_libdir}/gimp/2.0/plug-ins %doc %{_mandir}/man?/*.* %dir %{_sysconfdir}/gimp @@ -276,6 +301,10 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/gimp/2.0/python # FIXME: Maybe split gimp-lang and gimp-plugins-python-lang +%files module-hal +%defattr(-,root,root) +%{_libdir}/gimp/2.0/modules/libcontroller-linux-input.so + %files lang -f gimp20.lang %files devel