Hello community, here is the log from the commit of package gtk2 for openSUSE:12.1:Update:Test checked in at 2011-11-28 18:44:47 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:12.1:Update:Test/gtk2 (Old) and /work/SRC/openSUSE:12.1:Update:Test/.gtk2.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "gtk2", Maintainer is "gnome-maintainers@suse.de" Changes: -------- New Changes file: --- /dev/null 2010-08-26 16:28:41.000000000 +0200 +++ /work/SRC/openSUSE:12.1:Update:Test/.gtk2.new/gtk2.changes 2011-11-28 18:44:50.000000000 +0100 @@ -0,0 +1,3354 @@ +------------------------------------------------------------------- +Wed Nov 23 15:26:43 UTC 2011 - dimstar@opensuse.org + +- Add gtk2-bgo662633.patch: Fix crash in various GTK+ applications. + [bgo#662633, bnC#732257] + +------------------------------------------------------------------- +Fri Oct 28 18:33:42 UTC 2011 - vuntz@opensuse.org + +- Add gtk3-immodule-fallback.patch: make it possible to specify + fallback input method modules in the GTK_IM_MODULE environment + variable. This is useful in case a module doesn't exist for both + gtk2 and gtk3. Fix bnc#723382. + +------------------------------------------------------------------- +Wed Oct 19 00:08:03 UTC 2011 - kirill.kirillov@gmail.com + +- Add gtk2-window-dragging.patch: this adds support of window + dragging from menubars/toolbars. Fix bgo#611313. + +------------------------------------------------------------------- +Tue Oct 18 06:44:44 UTC 2011 - vuntz@opensuse.org + +- Update to version 2.24.7: + + Filechooser updates: + - Sort recent files by age + - Don't ellipsize filter names + + OS X updates. + + Bugs fixed: bgo#514843, bgo#616544, bgo#617583, bgo#624270, + bgo#628396, bgo#630962, bgo#649979, bgo#653450, bgo#653847, + bgo#655057, bgo#656053, bgo#657186, bgo#657770, bgo#658767, + bgo#658772, bgo#658841, bgo#658842, bgo#659907. + + Updated translations. +- Remove workaround in %prep that disabled the build of a broken + test: fixed upstream. + +------------------------------------------------------------------- +Fri Oct 14 17:20:07 CEST 2011 - sbrabec@suse.cz + +- Fixed translation-update-upstream support (bnc#690180). + +------------------------------------------------------------------- +Wed Aug 31 09:52:22 CEST 2011 - vuntz@opensuse.org + +- Update to version 2.24.6: + + Filechooser updates: + - Remove the expander in Save mode + - Move the path bar up in Save mode + - Remember the last opened directory + - Start in recently-used mode when no folder is set + - Update recent-files when confirming in the file chooser + + Win32 build fixes + + OS X build fixes for Lion + + Bugs fixed: bgo#508601, bgo#599664, bgo#649588, bgo#652045, + bgo#653191, bgo#655074, bgo#655087, bgo#655122, bgo#655392. + + Updated translations. +- Use a sed workaround in %prep to disable the build of a broken + source for a test (see bgo#658039). + +------------------------------------------------------------------- +Wed Jul 6 16:17:41 CEST 2011 - vuntz@opensuse.org + +- Change branding-upstream subpackage: + + Add Requires for libgtk-2_0-0 since the branding package is + useless without it. + + Update summary and description. + + Make noarch. + + Add branding comments to let people know how gtk2 branding + works. + +------------------------------------------------------------------- +Fri Jun 17 10:26:03 CEST 2011 - vuntz@opensuse.org + +- Update to version 2.24.5: + + Annotation fixes + + Update some deprecation notes and porting hints + + Bugs fixed: + - Ensure we always grab the lock in async callbacks + - Use an existing mimetype for the GTK_FILE stock icon + - Fix missing icons in the builtin icon theme + - Fix the build without XSHM + - Fix the build against recent GLib + - bgo#576492, bgo#637304, bgo#647908, bgo#648931, bgo#65210, + bgo#652239, bgo#652402. +- Rebase gtk2-tracker-0.10.patch. + +------------------------------------------------------------------- +Wed Apr 27 01:21:49 CEST 2011 - vuntz@opensuse.org + +- Comment out calls to translation-update-upstream as it breaks the + build right now (bnc#690180). +- Change gtk2 Obsoletes from <= to < now that we have a new + upstream version. + +------------------------------------------------------------------- +Wed Apr 27 00:04:41 CEST 2011 - vuntz@opensuse.org + +- Update to version 2.24.4: + + Add missing introspection annotations + + Fix GtkComboBoxEntry accessibility support + + Thread-safety fixes in file chooser and app chooser code + + Fix some deficiencies with the builtin icon theme + + Updated translations. +- Changes from version 2.24.3: + + Build fix. +- Changes from version 2.24.2: + + Bugs fixed: bgo#642905, bgo#643170, bgo#643216, bgo#643416, + bgo#644353. +- Changes from version 2.24.1: + + GTK+ now refuses to load modules that are linked against the + wrong GTK+ version, preventing GTK_PATH accidents. + + A number of memory leaks and segfaults involving accessibility + have been fixed. + + Bugs fixed: bgo#599907, bgo#626730, bgo#633291, bgo#640487, + bgo#640992, bgo#642137, bgo#642642, bgo#642681, bgo#642772. + + Updated translations. +- Changes from version 2.24.0: + + GtkBuilder has gained support for + - items in GtkComboBoxText + - tags in GtkTextTagTable + - menus in GtkMenuToolButton + + The gtk-builder-convert script gained a --target-version option + + Many introspection annotation fixes + + Bugs fixed: bgo#351755, bgo#590459, bgo#639327, bgo#634677. + + Updated translations. +- Changes from version 2.23.90: + + New deprecations: + - gdk_set_pointer_hooks(), gdk_display_set_pointer_hooks() + - gtk_range_get/set_update_policy() + - gtk_window_get/set_frame_dimensions() and + gtk_window_get/set_has_frame() + + The cups print backend can now send print jobs directly in PDF + if cups supports it + + Bugs fixed: bgo#144324, bgo#165987, bgo#560177, bgo#562182, + bgo#622125, bgo#637691, bgo#637958, bgo#637973. +- Changes from version 2.23.3: + + New deprecations: + - GtkRuler (and subclasses) + - gtk_widget_reset_shapes + - gdk_set_sm_client_id + - Foreign window APIs + - gdk_spawn_* + - gdkx_visual_get + - gdk_net_wm_supports + - gdk_set_locale, gtk_set_locale + - Some GDK text conversion routines + - gdk_drag_context_new + - gdk_drag_find_window and gdk_drag_get_protocol + - gdk_xid_table functions + + Bugs fixed: bgo#629955, bgo#634558, bgo#634697, bgo#634882, + bgo#635307, bgo#635588, bgo#636832, bgo#637069, bgo#637156. + + Updated translations. +- Changes from version 2.23.2: + + Fix a branch messup + + Readd the gtk_private_flags_get_type symbol + + Fix crashes on 64-bit + + Allow building with libtool 2.4 +- Changes from version 2.23.1: + + New deprecations: + - gtk_widget_hide_all + + New APIs added to aid migration to GTK+ 3: + - gtk_combo_box_new_with_model_and_entry + + Bugs fixed: bgo#624025, bgo#632381, bgo#632539, bgo#633050, + bgo#634060. +- Changes from version 2.23.0: + + New deprecations: + - gdk_cairo_set_source_pixmap + - Misc GdkDrawable APIs + - gtk_object_destroy + - gtk_init_add, gtk_remove_add, etc + - gtk_noteboook_set_window_creation_hook + - gtk_notebook_set/get_group + - gtk_link_button_set_uri_hook + - gtk_about_dialog_set_url/email_hook + - GtkComboBoxEntry + - combo box text convenience API + + New APIs added to aid migration to GTK+ 3: + - gdk_cairo_set_source_window + - GdkWindow API to supersede GdkDrawable API + - gtk_notebook_set/get_group_name + - GtkLinkButton::activate-link signal + - gtk_combo_box_new_with_entry + - GtkComboBoxText + + Bugs fixed: bgo#423201, bgo#612396, bgo#613728, bgo#629722, + bgo#629955, bgo#630521, bgo#631473, bgo#631697, bgo#632140. +- Rebase gtk2-tracker-0.10.patch, and include additional changes + from git. +- Rebase gtk64.patch. + +------------------------------------------------------------------- +Sat Feb 19 18:03:57 CET 2011 - vuntz@opensuse.org + +- Add gtk2-tracker-0.10.patch: fix tracker support in GTK+, for + tracker 0.10. Patch cherry-picked from GTK+ 3. + +------------------------------------------------------------------- +Sat Feb 19 10:40:20 CET 2011 - vuntz@opensuse.org ++++ 3157 more lines (skipped) ++++ between /dev/null ++++ and /work/SRC/openSUSE:12.1:Update:Test/.gtk2.new/gtk2.changes New: ---- README.SuSE _link baselibs.conf bugzilla-129753-gtk+-2.8.9-localize-font-style-name.diff bugzilla-131498-allow-xim-for-all-languages.patch gtk+-2.24.7.tar.bz2 gtk-path-local.patch gtk2-bgo662633.patch gtk2-bnc130159-bgo319483-async-selection-in-gtk-font-selection.diff gtk2-immodule-fallback.patch gtk2-tracker-0.10.patch gtk2-window-dragging.patch gtk2.changes gtk2.spec gtk64.patch gtkrc macros.gtk2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ gtk2.spec ++++++ # # spec file for package gtk2 # # Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # # When updating the binary version, do not forget to also update baselibs.conf %define gtk_binary_version 2.10.0 Name: gtk2 %define _name gtk+ Version: 2.24.7 Release: 1 # FIXME: 2.19.3 doesn't compile with parallel build. Check if this is still true for later versions. # FIXME: when updating to next version, check whether we can remove the workaround for bgo#596977 below (removing -fomit-frame-pointer) License: LGPLv2.1+ Summary: The GTK+ toolkit library (version 2) Url: http://www.gtk.org/ Group: System/Libraries Source: http://download.gnome.org/sources/gtk+/2.24/%{_name}-%{version}.tar.bz2 Source2: README.SuSE Source3: gtkrc Source4: baselibs.conf Source5: macros.gtk2 # PATCH-FIX-UPSTREAM gtk2-window-dragging.patch bgo#611313 -- Taken from Fedora, to support window dragging from menubars/toolbars Patch0: gtk2-window-dragging.patch # PATCH-FIX-OPENSUSE gtk64.patch sbrabec@novell.com - 64-bit dual install. See also the Fedora patch for a simpler way of doing this. Patch8: gtk64.patch # PATCH-FEATURE-UPSTREAM gtk2-immodule-fallback.patch bgo#603559 bnc#723382 vuntz@opensuse.org -- Make it possible to specify fallback im modules in GTK_IM_MODULE; useful in case a module doesn't exist for both gtk2 and gtk3 Patch21: gtk2-immodule-fallback.patch # PATCH-FEATURE-UPSTREAM bugzilla-129753-gtk+-2.8.9-localize-font-style-name.diff bnc129753 bgo319484 mfabian@novell.com - Translate the font styles in the GUI Patch22: bugzilla-129753-gtk+-2.8.9-localize-font-style-name.diff # PATCH-FIX-OPENSUSE bugzilla-131498-allow-xim-for-all-languages.patch bnc131498 mfabian@novell.com - Allow all languages to be run with the X Input Method Patch23: bugzilla-131498-allow-xim-for-all-languages.patch # PATCH-FIX-UPSTREAM gtk2-bnc130159-bgo319483-async-selection-in-gtk-font-selection.diff bnc130159 bgo319483 federico@novell.com - Load fonts asynchronously in GtkFontSelection to make it appear faster for CJK languages Patch24: gtk2-bnc130159-bgo319483-async-selection-in-gtk-font-selection.diff # PATCH-FIX-UPSTREAM gtk2-tracker-0.10.patch vuntz@opensuse.org -- Use new tracker 0.10 API to fix search in open file dialogs. Cherry-picked from GTK+ 3 branch, with some additional fixes (bgo#642768, bgo#642771) Patch25: gtk2-tracker-0.10.patch # Patches taken from upstream or slated to go upstream. We can expect these to become obsolete # in future releases. # Please don't delete this comment even if this section is empty -- "# empty" should # be sufficient. # FIXME: this section is incomplete, and that some of the patches listed earlier should # be here instead. # PATCH-FIX-OPENSUSE gtk-path-local.patch Search in /usr/local/%{_lib} by default. bnc369696 bgo534474 Patch53: gtk-path-local.patch # PATCH-FIX-UPSTREAM gtk2-bgo662633.patch bnc#732257 bgo#662633 dimstar@opensuse.org -- Fix crash in various GTK+ applications. Patch54: gtk2-bgo662633.patch BuildRequires: fdupes BuildRequires: gcc-c++ BuildRequires: atk-devel BuildRequires: cairo-devel BuildRequires: cups-devel BuildRequires: gdk-pixbuf-devel # Needed for patches touching the build system BuildRequires: gnome-common BuildRequires: gnome-patch-translation BuildRequires: gobject-introspection-devel BuildRequires: libjasper-devel BuildRequires: libtiff-devel BuildRequires: pango-devel BuildRequires: translation-update-upstream BuildRoot: %{_tmppath}/%{name}-%{version}-build %description GTK+ is a multi-platform toolkit for creating graphical user interfaces. Offering a complete set of widgets, GTK+ is suitable for projects ranging from small one-off projects to complete application suites. %package -n libgtk-2_0-0 License: LGPLv2.1+ Summary: The GTK+ toolkit library (version 2) Group: System/Libraries Requires(post): %{name}-tools # While hicolor is not a Requires strictly speaking, we put it as # such instead of as a Recommends because many applications just # assume it's there and we need to have a low-level package to # bring it in. Requires: hicolor-icon-theme # gtk+ can work without branding/data/translations. Built in defaults will be used then. Recommends: %{name}-branding Recommends: %{name}-data = %{version} # it's nice to have input modules for various locales installed by default Recommends: %{name}-immodule-amharic = %{version} Recommends: %{name}-immodule-inuktitut = %{version} Recommends: %{name}-immodule-thai = %{version} Recommends: %{name}-immodule-tigrigna = %{version} Recommends: %{name}-immodule-vietnamese = %{version} Recommends: %{name}-lang Recommends: gvfs # Provide %{name} to make the lang and immodules packages installable Provides: %{name} = %{version} Obsoletes: %{name} < %{version} # gail is part of gtk+ as of 2.13.x Provides: gail = 1.22.1 Obsoletes: gail < 1.22.1 # bug437293 %ifarch ppc64 Obsoletes: gtk2-64bit %endif # %description -n libgtk-2_0-0 GTK+ is a multi-platform toolkit for creating graphical user interfaces. Offering a complete set of widgets, GTK+ is suitable for projects ranging from small one-off projects to complete application suites. %package immodule-amharic License: LGPLv2.1+ Summary: The GTK+ toolkit library (version 2) -- Amharic Input Method Group: System/Libraries Requires: %{name} = %{version} Requires(post): %{name}-tools Requires(postun): %{name}-tools Provides: locale(%{name}:am) %description immodule-amharic GTK+ is a multi-platform toolkit for creating graphical user interfaces. Offering a complete set of widgets, GTK+ is suitable for projects ranging from small one-off projects to complete application suites. This package provides an input method for Amharic. %package immodule-inuktitut License: LGPLv2.1+ Summary: The GTK+ toolkit library (version 2) -- Inuktitut Input Method Group: System/Libraries Requires: %{name} = %{version} Requires(post): %{name}-tools Requires(postun): %{name}-tools Provides: locale(%{name}:iu) %description immodule-inuktitut GTK+ is a multi-platform toolkit for creating graphical user interfaces. Offering a complete set of widgets, GTK+ is suitable for projects ranging from small one-off projects to complete application suites. This package provides an input method for Inuktitut. %package immodule-multipress License: LGPLv2.1+ Summary: The GTK+ toolkit library (version 2) -- Multipress Input Method Group: System/Libraries Requires: %{name} = %{version} Requires(post): %{name}-tools Requires(postun): %{name}-tools %description immodule-multipress GTK+ is a multi-platform toolkit for creating graphical user interfaces. Offering a complete set of widgets, GTK+ is suitable for projects ranging from small one-off projects to complete application suites. This package provides an input method which allows text entry via the multi-press method, as on a mobile phone. %package immodule-thai License: LGPLv2.1+ Summary: The GTK+ toolkit library (version 2) -- Thai-Lao Input Method Group: System/Libraries Requires: %{name} = %{version} Requires(post): %{name}-tools Requires(postun): %{name}-tools Provides: locale(%{name}:lo) Provides: locale(%{name}:th) %description immodule-thai GTK+ is a multi-platform toolkit for creating graphical user interfaces. Offering a complete set of widgets, GTK+ is suitable for projects ranging from small one-off projects to complete application suites. This package provides an input method for Thai-Lao. %package immodules-tigrigna License: LGPLv2.1+ Summary: The GTK+ toolkit library (version 2) -- Tigrigna Input Methods Group: System/Libraries Requires: %{name} = %{version} Requires(post): %{name}-tools Requires(postun): %{name}-tools Provides: locale(%{name}:ti) %description immodules-tigrigna GTK+ is a multi-platform toolkit for creating graphical user interfaces. Offering a complete set of widgets, GTK+ is suitable for projects ranging from small one-off projects to complete application suites. This package provides two input methods for Tigrigna. %package immodule-vietnamese License: LGPLv2.1+ Summary: The GTK+ toolkit library (version 2) -- Vietnamese Input Method Group: System/Libraries Requires: %{name} = %{version} Requires(post): %{name}-tools Requires(postun): %{name}-tools Provides: locale(%{name}:vi) %description immodule-vietnamese GTK+ is a multi-platform toolkit for creating graphical user interfaces. Offering a complete set of widgets, GTK+ is suitable for projects ranging from small one-off projects to complete application suites. This package provides an input method for Vietnamese. %package immodule-xim License: LGPLv2.1+ Summary: The GTK+ toolkit library (version 2) -- X Input Method Group: System/Libraries Requires: %{name} = %{version} Requires(post): %{name}-tools Requires(postun): %{name}-tools Provides: locale(%{name}:ko) Provides: locale(%{name}:ja) Provides: locale(%{name}:th) Provides: locale(%{name}:zh) %description immodule-xim GTK+ is a multi-platform toolkit for creating graphical user interfaces. Offering a complete set of widgets, GTK+ is suitable for projects ranging from small one-off projects to complete application suites. This package provides an input method based on the X Input Method. %package tools License: LGPLv2.1+ Summary: The GTK+ toolkit library (version 2) -- Tools Group: System/Libraries Requires(post): update-alternatives Requires(postun): update-alternatives %description tools GTK+ is a multi-platform toolkit for creating graphical user interfaces. Offering a complete set of widgets, GTK+ is suitable for projects ranging from small one-off projects to complete application suites. %package data License: LGPLv2.1+ Summary: The GTK+ toolkit library (version 2) -- Data Files Group: System/Libraries BuildArch: noarch %description data GTK+ is a multi-platform toolkit for creating graphical user interfaces. Offering a complete set of widgets, GTK+ is suitable for projects ranging from small one-off projects to complete application suites. %package branding-upstream License: LGPLv2.1+ Summary: The GTK+ toolkit library (version 2) -- Upstream theme configuration Group: System/Libraries Requires: libgtk-2_0-0 = %{version} Provides: %{name}-branding = %{version} Conflicts: otherproviders(%{name}-branding) Supplements: packageand(%{name}:branding-upstream) BuildArch: noarch #BRAND: Provides /etc/gtk-2.0/gtkrc, to define default theme and icon theme. #BRAND: Do not forget to add proper Requires in branding package if changing #BRAND: those. %description branding-upstream GTK+ is a multi-platform toolkit for creating graphical user interfaces. Offering a complete set of widgets, GTK+ is suitable for projects ranging from small one-off projects to complete application suites. %package devel License: LGPLv2.1+ Summary: The GTK+ toolkit library (version 2) -- Development Files Group: Development/Libraries/X11 Requires: libgtk-2_0-0 = %{version} # gtk-builder-convert needs this. Requires: python-xml # gail is part of gtk+ as of 2.13.x Provides: gail-devel = 1.22.1 Obsoletes: gail-devel < 1.22.1 Provides: gtk2-doc = %{version} Obsoletes: gtk2-doc < %{version} # bug437293 %ifarch ppc64 Obsoletes: gtk2-devel-64bit %endif # %description devel GTK+ is a multi-platform toolkit for creating graphical user interfaces. Offering a complete set of widgets, GTK+ is suitable for projects ranging from small one-off projects to complete application suites. This package contains the development files for GTK+ 2.x. %lang_package %prep %setup -q -n %{_name}-%{version} translation-update-upstream translation-update-upstream po-properties gtk20-properties # remove incomplete translations caused by translation-update-upstream (global LINGUAS file, two domains) for LNG in po/*.po ; do LNG=`basename ${LNG%%.po}` if ! test -f po-properties/$LNG.po ; then echo "Removing incomplete $LNG from LINGUAS." sed -i "/^$LNG\$/d" po/LINGUAS fi done gnome-patch-translation-prepare %if "%_lib" == "lib64" cp -a %{S:2} . # WARNING: This patch does not patch not installed demos and tests. %patch8 -p1 %endif %patch21 -p1 %patch22 -p1 %patch23 -p1 %patch24 -p1 %if 0%{?suse_version} > 1130 %patch25 -p1 %endif %patch53 %patch54 -p1 gnome-patch-translation-update %build NOCONFIGURE=1 gnome-autogen.sh export CFLAGS="$RPM_OPT_FLAGS" export CFLAGS="$CFLAGS -fstack-protector" %ifarch ppc64 export CFLAGS="$CFLAGS -mminimal-toc" %endif # fix crash in gdm, nautilus, etc. (bgo#596977) export CFLAGS=`echo $CFLAGS | sed -e 's/-fomit-frame-pointer//g'` %configure \ --disable-static \ --enable-man \ --with-xinput=xfree \ --enable-introspection #%{__make} %{?_smp_mflags} %{__make} %install %makeinstall find %{buildroot}%{_libdir} -name '*.la' -delete -print %if 0%{?suse_version} <= 1130 %{__rm} %{buildroot}%{_datadir}/locale/kg/LC_MESSAGES/* %endif %find_lang gtk20 %find_lang gtk20-properties install -m 644 %{S:3} %{buildroot}%{_sysconfdir}/gtk-2.0 touch %{buildroot}%{_sysconfdir}/gtk-2.0/gtk.immodules %if "%_lib" == "lib64" mv %{buildroot}%{_bindir}/gtk-query-immodules-2.0 %{buildroot}%{_bindir}/gtk-query-immodules-2.0-64 mv %{buildroot}%{_sysconfdir}/gtk-2.0/gtk.immodules %{buildroot}%{_sysconfdir}/gtk-2.0/gtk64.immodules %endif # Alternatives for gtk-update-icon-cache mv %{buildroot}%{_bindir}/gtk-update-icon-cache %{buildroot}%{_bindir}/gtk-update-icon-cache-2.0 mv %{buildroot}%{_mandir}/man1/gtk-update-icon-cache.1 %{buildroot}%{_mandir}/man1/gtk-update-icon-cache-2.0.1 touch %{buildroot}%{_bindir}/gtk-update-icon-cache touch %{buildroot}%{_mandir}/man1/gtk-update-icon-cache.1 chmod a+x %{buildroot}%{_bindir}/gtk-update-icon-cache # Install rpm macros mkdir -p %{buildroot}%{_sysconfdir}/rpm cp %{S:5} %{buildroot}%{_sysconfdir}/rpm %fdupes %{buildroot}%{_datadir} %fdupes %{buildroot}%{_libdir} %clean rm -rf %{buildroot} ########################################################################### # Note: when updating scriptlets, don't forget to also update baselibs.conf ########################################################################### # Convenient %define for the scriplets %if "%_lib" == "lib64" %define _gtk_query_immodules %{_bindir}/gtk-query-immodules-2.0-64 %define _gtk_query_immodules_update_cache %{_gtk_query_immodules} > %{_sysconfdir}/gtk-2.0/gtk64.immodules %else %define _gtk_query_immodules %{_bindir}/gtk-query-immodules-2.0 %define _gtk_query_immodules_update_cache %{_gtk_query_immodules} > %{_sysconfdir}/gtk-2.0/gtk.immodules %endif %post -n libgtk-2_0-0 /sbin/ldconfig %if 0 # In case libgtk-2_0-0 gets installed before gtk2-tools, we don't want to fail. # So we make the call to gtk-query-immodules-2.0 dependent on the existence of # the binary. This is why we also have a %post for gtk2-tools. %endif if test -f %{_gtk_query_immodules}; then %{_gtk_query_immodules_update_cache} fi %post immodule-amharic %{_gtk_query_immodules_update_cache} %post immodule-inuktitut %{_gtk_query_immodules_update_cache} %post immodule-multipress %{_gtk_query_immodules_update_cache} %post immodule-thai %{_gtk_query_immodules_update_cache} %post immodules-tigrigna %{_gtk_query_immodules_update_cache} %post immodule-vietnamese %{_gtk_query_immodules_update_cache} %post immodule-xim %{_gtk_query_immodules_update_cache} %post tools %if 0 # If we install gtk2-tools for the first time, then we should run it in case # libgtk-2_0-0 was installed first (ie, if # %{_libdir}/gtk-2.0/%{gtk_binary_version} already exists) which means # gtk-query-immodules-2.0 couldn't run there. %endif if [ $1 == 1 ]; then test -d %{_libdir}/gtk-2.0/%{gtk_binary_version} if test $? -eq 0; then %{_gtk_query_immodules_update_cache} fi fi %if 0 # If the gtk-update-icon-cache group is in automatic mode, then this will also # switch all symlinks automatically %endif update-alternatives --install %{_bindir}/gtk-update-icon-cache gtk-update-icon-cache %{_bindir}/gtk-update-icon-cache-2.0 2 \ --slave %{_mandir}/man1/gtk-update-icon-cache.1.gz gtk-update-icon-cache.1.gz %{_mandir}/man1/gtk-update-icon-cache-2.0.1.gz %if 0 # No need to call gtk-query-immodules-2.0 in postun: # - if it's an upgrade, it will have been called in post # - if it's an uninstall, we don't care about this anymore %endif %postun -n libgtk-2_0-0 -p /sbin/ldconfig %postun immodule-amharic %{_gtk_query_immodules_update_cache} %postun immodule-inuktitut %{_gtk_query_immodules_update_cache} %postun immodule-multipress %{_gtk_query_immodules_update_cache} %postun immodule-thai %{_gtk_query_immodules_update_cache} %postun immodules-tigrigna %{_gtk_query_immodules_update_cache} %postun immodule-vietnamese %{_gtk_query_immodules_update_cache} %postun immodule-xim %{_gtk_query_immodules_update_cache} %postun tools %if 0 # Note: we don't use "$1 -eq 0", to avoid issues if the package gets renamed %endif if [ ! -f %{_bindir}/gtk-update-icon-cache-2.0 ]; then update-alternatives --remove gtk-update-icon-cache %{_bindir}/gtk-update-icon-cache-2.0 fi %files -n libgtk-2_0-0 %defattr(-,root,root) %doc AUTHORS COPYING README NEWS ChangeLog %if "%_lib" == "lib64" %doc README.SuSE %endif %dir %{_sysconfdir}/gtk-2.0 %if "%_lib" == "lib64" %ghost %{_sysconfdir}/gtk-2.0/gtk64.immodules %else %ghost %{_sysconfdir}/gtk-2.0/gtk.immodules %endif %dir %{_libdir}/gtk-2.0 %dir %{_libdir}/gtk-2.0/%{gtk_binary_version} %dir %{_libdir}/gtk-2.0/%{gtk_binary_version}/engines %{_libdir}/gtk-2.0/%{gtk_binary_version}/engines/libpixmap.so %dir %{_libdir}/gtk-2.0/%{gtk_binary_version}/immodules %{_libdir}/gtk-2.0/%{gtk_binary_version}/immodules/im-cedilla.so %{_libdir}/gtk-2.0/%{gtk_binary_version}/immodules/im-cyrillic-translit.so %{_libdir}/gtk-2.0/%{gtk_binary_version}/immodules/im-ipa.so %dir %{_libdir}/gtk-2.0/%{gtk_binary_version}/printbackends %{_libdir}/gtk-2.0/%{gtk_binary_version}/printbackends/libprintbackend-cups.so %{_libdir}/gtk-2.0/%{gtk_binary_version}/printbackends/libprintbackend-file.so %{_libdir}/gtk-2.0/%{gtk_binary_version}/printbackends/libprintbackend-lpr.so %dir %{_libdir}/gtk-2.0/modules %{_libdir}/gtk-2.0/modules/libgail.so %{_libdir}/libgailutil.so.* %{_libdir}/libgdk-x11-2.0.so.* %{_libdir}/libgtk-x11-2.0.so.* %{_libdir}/girepository-1.0/Gdk-2.0.typelib %{_libdir}/girepository-1.0/GdkX11-2.0.typelib %{_libdir}/girepository-1.0/Gtk-2.0.typelib %files immodule-amharic %defattr(-,root,root) %{_libdir}/gtk-2.0/%{gtk_binary_version}/immodules/im-am-et.so %files immodule-inuktitut %defattr(-,root,root) %{_libdir}/gtk-2.0/%{gtk_binary_version}/immodules/im-inuktitut.so %files immodule-multipress %defattr(-,root,root) %{_libdir}/gtk-2.0/%{gtk_binary_version}/immodules/im-multipress.so %config %{_sysconfdir}/gtk-2.0/im-multipress.conf %files immodule-thai %defattr(-,root,root) %{_libdir}/gtk-2.0/%{gtk_binary_version}/immodules/im-thai.so %files immodules-tigrigna %defattr(-,root,root) %{_libdir}/gtk-2.0/%{gtk_binary_version}/immodules/im-ti-er.so %{_libdir}/gtk-2.0/%{gtk_binary_version}/immodules/im-ti-et.so %files immodule-vietnamese %defattr(-,root,root) %{_libdir}/gtk-2.0/%{gtk_binary_version}/immodules/im-viqr.so %files immodule-xim %defattr(-,root,root) %{_libdir}/gtk-2.0/%{gtk_binary_version}/immodules/im-xim.so %files tools %defattr(-,root,root) %{_bindir}/gtk-query-immodules-2.0* %{_bindir}/gtk-update-icon-cache-2.0 %ghost %{_bindir}/gtk-update-icon-cache %{_mandir}/man1/gtk-query-immodules-2.0*.1* %{_mandir}/man1/gtk-update-icon-cache-2.0.1* %ghost %{_mandir}/man1/gtk-update-icon-cache.1* %files data %defattr(-,root,root) %{_datadir}/themes/Default/ %{_datadir}/themes/Emacs/ %{_datadir}/themes/Raleigh/ %files branding-upstream %defattr(-,root,root) %config %{_sysconfdir}/gtk-2.0/gtkrc %files lang -f gtk20.lang -f gtk20-properties.lang %files devel %defattr(-,root,root) %doc %{_datadir}/gtk-doc/html/gail-libgail-util/ %doc %{_datadir}/gtk-doc/html/gdk/ %doc %{_datadir}/gtk-doc/html/gtk/ %{_bindir}/gtk-builder-convert %{_bindir}/gtk-demo %{_mandir}/man1/gtk-builder-convert.1* %{_datadir}/aclocal/gtk-2.0.m4 %{_datadir}/gir-1.0/*.gir %dir %{_datadir}/gtk-2.0 %{_datadir}/gtk-2.0/demo/ %{_includedir}/gail-1.0/ %{_includedir}/gtk-2.0/ %{_includedir}/gtk-unix-print-2.0/ %{_libdir}/gtk-2.0/include/ %{_libdir}/gtk-2.0/modules/libferret.so %{_libdir}/pkgconfig/*.pc %{_libdir}/libgailutil.so %{_libdir}/libgdk-x11-2.0.so %{_libdir}/libgtk-x11-2.0.so %{_sysconfdir}/rpm/macros.gtk2 %changelog ++++++ README.SuSE ++++++ README for bi-architecture 64 bit platforms users ================================================= Current version of GTK+ has a problem running 32 and 64 version on single machine. See http://bugzilla.gnome.org/show_bug.cgi?id=129540 and http://bugzilla.gnome.org/show_bug.cgi?id=153848 for more information. To work around this problem, 64 bit version for SuSE Linux uses special names for following files: /usr/bin/gtk-query-immodules-2.0: /usr/bin/gtk-query-immodules-2.0-64 /etc/gtk-2.0/gtk.immodules: /usr/gtk-2.0/gtk.immodules64 And following variable: $GTK_PATH: $GTK_PATH64 This can cause problems during self-compilation of packages. To work-around these problems (introduced by this work-around), you should: Either: - Make a patch of package (please do not send it to package developers, it's temporary solution). Or: - Install 32 bit version of GTK+. - After installation, you must run following commands: touch /var/adm/SuSEconfig/run-gtk SuSEconfig These problems should be correctly solved in GTK+ sometimes in future. ++++++ _link ++++++ <link project="openSUSE:12.1" package="gtk2" baserev="f80a91f508822cfdac609754ff0855e7"> <patches> <branch/> </patches> </link> ++++++ baselibs.conf ++++++ gtk2-tools +/usr/bin/gtk-query-immodules-2.0(-64)? post "%if "%_lib" == "lib64"" post "if [ $1 == 1 ]; then test -d <prefix>%{_libdir}/gtk-2.0/2.10.0; if test $? -eq 0; then <prefix>%{_bindir}/gtk-query-immodules-2.0-64 > <prefix>%{_sysconfdir}/gtk-2.0/gtk64.immodules; fi; fi" post "%else" post "if [ $1 == 1 ]; then test -d <prefix>%{_libdir}/gtk-2.0/2.10.0; if test $? -eq 0; then <prefix>%{_bindir}/gtk-query-immodules-2.0 > <prefix>%{_sysconfdir}/gtk-2.0/gtk.immodules; fi; fi" post "%endif" libgtk-2_0-0 +/etc/gtk-2.0/gtk(64)?.immodules requires "gtk2-tools-<targettype>" provides "gtk2-<targettype> = <version>" obsoletes "gtk2-<targettype> < <version>" obsoletes "gail-<targettype> <= 1.22.1" post "%if "%_lib" == "lib64"" post "if test -f <prefix>%{_bindir}/gtk-query-immodules-2.0-64; then <prefix>%{_bindir}/gtk-query-immodules-2.0-64 > <prefix>%{_sysconfdir}/gtk-2.0/gtk64.immodules; fi" post "%else" post "if test -f <prefix>%{_bindir}/gtk-query-immodules-2.0; then <prefix>%{_bindir}/gtk-query-immodules-2.0 > <prefix>%{_sysconfdir}/gtk-2.0/gtk.immodules; fi" post "%endif" arch ppc package gtk2-devel gtk2-immodule-amharic requires "gtk2-<targettype>" post "%if "%_lib" == "lib64"" post "<prefix>%{_bindir}/gtk-query-immodules-2.0-64 > <prefix>%{_sysconfdir}/gtk-2.0/gtk64.immodules" post "%else" post "<prefix>%{_bindir}/gtk-query-immodules-2.0 > <prefix>%{_sysconfdir}/gtk-2.0/gtk.immodules" post "%endif" postun "%if "%_lib" == "lib64"" postun "<prefix>%{_bindir}/gtk-query-immodules-2.0-64 > <prefix>%{_sysconfdir}/gtk-2.0/gtk64.immodules" postun "%else" postun "<prefix>%{_bindir}/gtk-query-immodules-2.0 > <prefix>%{_sysconfdir}/gtk-2.0/gtk.immodules" postun "%endif" gtk2-immodule-inuktitut requires "gtk2-<targettype>" post "%if "%_lib" == "lib64"" post "<prefix>%{_bindir}/gtk-query-immodules-2.0-64 > <prefix>%{_sysconfdir}/gtk-2.0/gtk64.immodules" post "%else" post "<prefix>%{_bindir}/gtk-query-immodules-2.0 > <prefix>%{_sysconfdir}/gtk-2.0/gtk.immodules" post "%endif" postun "%if "%_lib" == "lib64"" postun "<prefix>%{_bindir}/gtk-query-immodules-2.0-64 > <prefix>%{_sysconfdir}/gtk-2.0/gtk64.immodules" postun "%else" postun "<prefix>%{_bindir}/gtk-query-immodules-2.0 > <prefix>%{_sysconfdir}/gtk-2.0/gtk.immodules" postun "%endif" gtk2-immodule-multipress requires "gtk2-<targettype>" post "%if "%_lib" == "lib64"" post "<prefix>%{_bindir}/gtk-query-immodules-2.0-64 > <prefix>%{_sysconfdir}/gtk-2.0/gtk64.immodules" post "%else" post "<prefix>%{_bindir}/gtk-query-immodules-2.0 > <prefix>%{_sysconfdir}/gtk-2.0/gtk.immodules" post "%endif" postun "%if "%_lib" == "lib64"" postun "<prefix>%{_bindir}/gtk-query-immodules-2.0-64 > <prefix>%{_sysconfdir}/gtk-2.0/gtk64.immodules" postun "%else" postun "<prefix>%{_bindir}/gtk-query-immodules-2.0 > <prefix>%{_sysconfdir}/gtk-2.0/gtk.immodules" postun "%endif" gtk2-immodule-thai requires "gtk2-<targettype>" post "%if "%_lib" == "lib64"" post "<prefix>%{_bindir}/gtk-query-immodules-2.0-64 > <prefix>%{_sysconfdir}/gtk-2.0/gtk64.immodules" post "%else" post "<prefix>%{_bindir}/gtk-query-immodules-2.0 > <prefix>%{_sysconfdir}/gtk-2.0/gtk.immodules" post "%endif" postun "%if "%_lib" == "lib64"" postun "<prefix>%{_bindir}/gtk-query-immodules-2.0-64 > <prefix>%{_sysconfdir}/gtk-2.0/gtk64.immodules" postun "%else" postun "<prefix>%{_bindir}/gtk-query-immodules-2.0 > <prefix>%{_sysconfdir}/gtk-2.0/gtk.immodules" postun "%endif" gtk2-immodules-tigrigna requires "gtk2-<targettype>" post "%if "%_lib" == "lib64"" post "<prefix>%{_bindir}/gtk-query-immodules-2.0-64 > <prefix>%{_sysconfdir}/gtk-2.0/gtk64.immodules" post "%else" post "<prefix>%{_bindir}/gtk-query-immodules-2.0 > <prefix>%{_sysconfdir}/gtk-2.0/gtk.immodules" post "%endif" postun "%if "%_lib" == "lib64"" postun "<prefix>%{_bindir}/gtk-query-immodules-2.0-64 > <prefix>%{_sysconfdir}/gtk-2.0/gtk64.immodules" postun "%else" postun "<prefix>%{_bindir}/gtk-query-immodules-2.0 > <prefix>%{_sysconfdir}/gtk-2.0/gtk.immodules" postun "%endif" gtk2-immodule-vietnamese requires "gtk2-<targettype>" post "%if "%_lib" == "lib64"" post "<prefix>%{_bindir}/gtk-query-immodules-2.0-64 > <prefix>%{_sysconfdir}/gtk-2.0/gtk64.immodules" post "%else" post "<prefix>%{_bindir}/gtk-query-immodules-2.0 > <prefix>%{_sysconfdir}/gtk-2.0/gtk.immodules" post "%endif" postun "%if "%_lib" == "lib64"" postun "<prefix>%{_bindir}/gtk-query-immodules-2.0-64 > <prefix>%{_sysconfdir}/gtk-2.0/gtk64.immodules" postun "%else" postun "<prefix>%{_bindir}/gtk-query-immodules-2.0 > <prefix>%{_sysconfdir}/gtk-2.0/gtk.immodules" postun "%endif" gtk2-immodule-xim requires "gtk2-<targettype>" post "%if "%_lib" == "lib64"" post "<prefix>%{_bindir}/gtk-query-immodules-2.0-64 > <prefix>%{_sysconfdir}/gtk-2.0/gtk64.immodules" post "%else" post "<prefix>%{_bindir}/gtk-query-immodules-2.0 > <prefix>%{_sysconfdir}/gtk-2.0/gtk.immodules" post "%endif" postun "%if "%_lib" == "lib64"" postun "<prefix>%{_bindir}/gtk-query-immodules-2.0-64 > <prefix>%{_sysconfdir}/gtk-2.0/gtk64.immodules" postun "%else" postun "<prefix>%{_bindir}/gtk-query-immodules-2.0 > <prefix>%{_sysconfdir}/gtk-2.0/gtk.immodules" postun "%endif" ++++++ bugzilla-129753-gtk+-2.8.9-localize-font-style-name.diff ++++++ Index: gtk+-2.19.0/gtk/gtkfontbutton.c =================================================================== --- gtk+-2.19.0.orig/gtk/gtkfontbutton.c +++ gtk+-2.19.0/gtk/gtkfontbutton.c @@ -893,7 +893,7 @@ gtk_font_button_update_font_info (GtkFon if (style == NULL || !g_ascii_strcasecmp (style, "Regular")) family_style = g_strdup (family); else - family_style = g_strdup_printf ("%s %s", family, style); + family_style = g_strdup_printf ("%s %s", family, _(style)); gtk_label_set_text (GTK_LABEL (font_button->priv->font_label), family_style); Index: gtk+-2.19.0/gtk/gtkfontsel.c =================================================================== --- gtk+-2.19.0.orig/gtk/gtkfontsel.c +++ gtk+-2.19.0/gtk/gtkfontsel.c @@ -76,6 +76,21 @@ #define DEFAULT_FONT_NAME "Sans 10" +/* These are the commonly used font styles, listed here only for + translations. */ +#define FONT_STYLE_ULTRA_LIGHT N_("Ultra-Light") +#define FONT_STYLE_LIGHT N_("Light") +#define FONT_STYLE_MEDIUM N_("Medium") +#define FONT_STYLE_NORMAL N_("Normal") +#define FONT_STYLE_REGULAR N_("Regular") +#define FONT_STYLE_ITALIC N_("Italic") +#define FONT_STYLE_OBLIQUE N_("Oblique") +#define FONT_STYLE_SEMI_BOLD N_("Semi-Bold") +#define FONT_STYLE_BOLD N_("Bold") +#define FONT_STYLE_ULTRA_BOLD N_("Ultra-Bold") +#define FONT_STYLE_HEAVY N_("Heavy") +#define FONT_STYLE_BOLD_ITALIC N_("Bold Italic") + /* This is the initial and maximum height of the preview entry (it expands when large font sizes are selected). Initial height is also the minimum. */ #define INITIAL_PREVIEW_HEIGHT 44 @@ -869,7 +884,7 @@ gtk_font_selection_show_available_styles gtk_list_store_append (model, &iter); gtk_list_store_set (model, &iter, FACE_COLUMN, faces[i], - FACE_NAME_COLUMN, str, + FACE_NAME_COLUMN, _(str), -1); if (i == 0) ++++++ bugzilla-131498-allow-xim-for-all-languages.patch ++++++ --- gtk+-2.10.1/modules/input/imxim.c +++ gtk+-2.10.1/modules/input/imxim.c @@ -28,7 +28,7 @@ N_("X Input Method"), /* Human readable name */ GETTEXT_PACKAGE, /* Translation domain */ GTK_LOCALEDIR, /* Dir for bindtextdomain (not strictly needed for "gtk+") */ - "ko:ja:th:zh" /* Languages for which this module is the default */ + "*" /* Languages for which this module is the default */ }; static const GtkIMContextInfo *info_list[] = { ++++++ gtk-path-local.patch ++++++ https://bugzilla.novell.com/show_bug.cgi?id=369696 This patch adds support for /usr/local without setting of GTK_PATH. /usr/local path preference is a behavior expected by FHS. This patch cannot be upstreamed as is: - It needs to be platform dependent. - It needs to solve situation, when prefix != /usr (and maybe add /usr to the search path, but after the default_dir). - There is no consensus for /usr/local/lib x /usr/local/lib64 yet. Defaulting to /usr/local/lib64 may need /usr/local/share/config.site file (bnc#382344). Note that the patch it does not provide solution for bi-arch path clash: http://bugzilla.gnome.org/show_bug.cgi?id=153848 --- configure.in +++ configure.in @@ -1485,7 +1485,8 @@ AC_SUBST(GDK_EXTRA_CFLAGS) AC_SUBST(GDK_DEP_LIBS) AC_SUBST(GDK_DEP_CFLAGS) - +LIB=`echo $libdir | sed 's:.*/::'` +AC_DEFINE_UNQUOTED([LIB],["$LIB"],[Platform dependent tail of libdir.]) ######################################## # Check for Accessibility Toolkit flags --- gtk/gtkmodules.c +++ gtk/gtkmodules.c @@ -60,6 +60,7 @@ gchar *home_gtk_dir = NULL; gchar *module_path; gchar *default_dir; + gchar *local_dir; static gchar **result = NULL; if (result) @@ -73,25 +74,32 @@ exe_prefix = g_getenv ("GTK_EXE_PREFIX"); if (exe_prefix) + { default_dir = g_build_filename (exe_prefix, "lib", "gtk-2.0", NULL); + local_dir = g_build_filename ("/usr/local", "lib", "gtk-2.0", NULL); + } else + { default_dir = g_build_filename (GTK_LIBDIR, "gtk-2.0", NULL); + local_dir = g_build_filename ("/usr/local", LIB, "gtk-2.0", NULL); + } if (module_path_env && home_gtk_dir) module_path = g_build_path (G_SEARCHPATH_SEPARATOR_S, - module_path_env, home_gtk_dir, default_dir, NULL); + module_path_env, home_gtk_dir, local_dir, default_dir, NULL); else if (module_path_env) module_path = g_build_path (G_SEARCHPATH_SEPARATOR_S, - module_path_env, default_dir, NULL); + module_path_env, local_dir, default_dir, NULL); else if (home_gtk_dir) module_path = g_build_path (G_SEARCHPATH_SEPARATOR_S, - home_gtk_dir, default_dir, NULL); + home_gtk_dir, local_dir, default_dir, NULL); else module_path = g_build_path (G_SEARCHPATH_SEPARATOR_S, - default_dir, NULL); + local_dir, default_dir, NULL); g_free (home_gtk_dir); g_free (default_dir); + g_free (local_dir); result = pango_split_file_list (module_path); g_free (module_path); ++++++ gtk2-bgo662633.patch ++++++
From 0a0fd5af99f2ae9b0f8cc6b943b98b7be43ed723 Mon Sep 17 00:00:00 2001 From: Michael Natterer <mitch@gimp.org> Date: Wed, 02 Nov 2011 19:27:39 +0000 Subject: Bug 662633 - Scheduled transaction editor crashes with gtk+-2.24.7
Fix commit a516d2359c9eac84bfa4682a70a62315adedb1d6: check if priv->arrow_button exists in forall(). --- diff --git a/gtk/gtktoolbar.c b/gtk/gtktoolbar.c index edeab88..b2c4b15 100644 --- a/gtk/gtktoolbar.c +++ b/gtk/gtktoolbar.c @@ -2532,7 +2532,7 @@ gtk_toolbar_forall (GtkContainer *container, list = next; } - if (include_internals) + if (include_internals && priv->arrow_button) callback (priv->arrow_button, callback_data); } -- cgit v0.9.0.2 ++++++ gtk2-bnc130159-bgo319483-async-selection-in-gtk-font-selection.diff ++++++ Index: gtk+-2.16.0/gtk/gtkfontsel.c =================================================================== --- gtk+-2.16.0.orig/gtk/gtkfontsel.c +++ gtk+-2.16.0/gtk/gtkfontsel.c @@ -588,11 +588,24 @@ static void gtk_font_selection_finalize (GObject *object) { GtkFontSelection *fontsel; + guint selection_timeout; g_return_if_fail (GTK_IS_FONT_SELECTION (object)); fontsel = GTK_FONT_SELECTION (object); + selection_timeout = GPOINTER_TO_UINT (g_object_get_data (G_OBJECT (fontsel), "font-selection-timeout")); + if (selection_timeout) + g_source_remove (selection_timeout); + + selection_timeout = GPOINTER_TO_UINT (g_object_get_data (G_OBJECT (fontsel), "style-selection-timeout")); + if (selection_timeout) + g_source_remove (selection_timeout); + + selection_timeout = GPOINTER_TO_UINT (g_object_get_data (G_OBJECT (fontsel), "size-selection-timeout")); + if (selection_timeout) + g_source_remove (selection_timeout); + if (fontsel->font) gdk_font_unref (fontsel->font); @@ -631,6 +644,9 @@ gtk_font_selection_reload_fonts (GtkFont PangoFontDescription *desc; desc = gtk_font_selection_get_font_description (fontsel); + /* Disable selection timeout */ + g_object_set_data (G_OBJECT (fontsel), "immediate-selection", GUINT_TO_POINTER (1)); + gtk_font_selection_show_available_fonts (fontsel); gtk_font_selection_show_available_sizes (fontsel, TRUE); gtk_font_selection_show_available_styles (fontsel); @@ -638,6 +654,9 @@ gtk_font_selection_reload_fonts (GtkFont gtk_font_selection_select_font_desc (fontsel, desc, NULL, NULL); gtk_font_selection_scroll_to_selection (fontsel); + /* Enable selection timeout */ + g_object_set_data (G_OBJECT (fontsel), "immediate-selection", GUINT_TO_POINTER (0)); + pango_font_description_free (desc); } } @@ -714,10 +733,10 @@ gtk_font_selection_scroll_on_map (GtkWid } /* This is called when a family is selected in the list. */ -static void -gtk_font_selection_select_font (GtkTreeSelection *selection, - gpointer data) +static gboolean +gtk_font_selection_real_select_font (gpointer data) { + GtkTreeSelection *selection; GtkFontSelection *fontsel; GtkTreeModel *model; GtkTreeIter iter; @@ -725,7 +744,11 @@ gtk_font_selection_select_font (GtkTreeS const gchar *family_name; #endif + if (!g_object_get_data (G_OBJECT (data), "immediate-selection")) + GDK_THREADS_ENTER (); + fontsel = GTK_FONT_SELECTION (data); + selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (fontsel->family_list)); if (gtk_tree_selection_get_selected (selection, &model, &iter)) { @@ -747,6 +770,40 @@ gtk_font_selection_select_font (GtkTreeS g_object_unref (family); } + + g_object_set_data (G_OBJECT (fontsel), "font-selection-timeout", GUINT_TO_POINTER (0)); + + if (!g_object_get_data (G_OBJECT (fontsel), "immediate-selection")) + GDK_THREADS_LEAVE (); + + /* Remove ourselves */ + return FALSE; +} + +static void +gtk_font_selection_select_font (GtkTreeSelection *selection, + gpointer data) +{ + GtkFontSelection *fontsel; + guint selection_timeout = 0; + guint immediate_selection = 0; + + fontsel = GTK_FONT_SELECTION (data); + selection_timeout = GPOINTER_TO_UINT (g_object_get_data (G_OBJECT (fontsel), "font-selection-timeout")); + immediate_selection = GPOINTER_TO_UINT (g_object_get_data (G_OBJECT (fontsel), "immediate-selection")); + + if (selection_timeout) + g_source_remove (selection_timeout); + + if (immediate_selection) + { + gtk_font_selection_real_select_font (data); + } + else + { + selection_timeout = g_timeout_add (200, gtk_font_selection_real_select_font, data); + g_object_set_data (G_OBJECT (fontsel), "font-selection-timeout", GUINT_TO_POINTER (selection_timeout)); + } } static int @@ -949,14 +1006,20 @@ gtk_font_selection_select_best_style (Gt /* This is called when a style is selected in the list. */ -static void -gtk_font_selection_select_style (GtkTreeSelection *selection, - gpointer data) +static gboolean +gtk_font_selection_real_select_style (gpointer data) { - GtkFontSelection *fontsel = GTK_FONT_SELECTION (data); + GtkTreeSelection *selection; + GtkFontSelection *fontsel; GtkTreeModel *model; GtkTreeIter iter; + if (!g_object_get_data (G_OBJECT (data), "immediate-selection")) + GDK_THREADS_ENTER (); + + fontsel = GTK_FONT_SELECTION (data); + selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (fontsel->face_list)); + if (gtk_tree_selection_get_selected (selection, &model, &iter)) { PangoFontFace *face; @@ -968,6 +1031,40 @@ gtk_font_selection_select_style (GtkTree gtk_font_selection_show_available_sizes (fontsel, FALSE); gtk_font_selection_select_best_size (fontsel); + + g_object_set_data (G_OBJECT (fontsel), "style-selection-timeout", GUINT_TO_POINTER (0)); + + if (!g_object_get_data (G_OBJECT (fontsel), "immediate-selection")) + GDK_THREADS_LEAVE (); + + /* Remove ourselves */ + return FALSE; +} + +static void +gtk_font_selection_select_style (GtkTreeSelection *selection, + gpointer data) +{ + GtkFontSelection *fontsel; + guint selection_timeout = 0; + guint immediate_selection = 0; + + fontsel = GTK_FONT_SELECTION (data); + selection_timeout = GPOINTER_TO_UINT (g_object_get_data (G_OBJECT (fontsel), "style-selection-timeout")); + immediate_selection = GPOINTER_TO_UINT (g_object_get_data (G_OBJECT (fontsel), "immediate-selection")); + + if (selection_timeout) + g_source_remove (selection_timeout); + + if (immediate_selection) + { + gtk_font_selection_real_select_style (data); + } + else + { + selection_timeout = g_timeout_add (200, gtk_font_selection_real_select_style, data); + g_object_set_data (G_OBJECT (fontsel), "style-selection-timeout", GUINT_TO_POINTER (selection_timeout)); + } } static void @@ -1100,22 +1197,60 @@ gtk_font_selection_size_focus_out (GtkWi } /* This is called when a size is selected in the list. */ -static void -gtk_font_selection_select_size (GtkTreeSelection *selection, - gpointer data) +static gboolean +gtk_font_selection_real_select_size (gpointer data) { + GtkTreeSelection *selection; GtkFontSelection *fontsel; GtkTreeModel *model; GtkTreeIter iter; gint new_size; + if (!g_object_get_data (G_OBJECT (data), "immediate-selection")) + GDK_THREADS_ENTER (); + fontsel = GTK_FONT_SELECTION (data); - + selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (fontsel->size_list)); + if (gtk_tree_selection_get_selected (selection, &model, &iter)) { gtk_tree_model_get (model, &iter, SIZE_COLUMN, &new_size, -1); gtk_font_selection_set_size (fontsel, new_size * PANGO_SCALE); } + + g_object_set_data (G_OBJECT (fontsel), "size-selection-timeout", GUINT_TO_POINTER (0)); + + if (!g_object_get_data (G_OBJECT (fontsel), "immediate-selection")) + GDK_THREADS_LEAVE (); + + /* Remove ourselves */ + return FALSE; +} + +static void +gtk_font_selection_select_size (GtkTreeSelection *selection, + gpointer data) +{ + GtkFontSelection *fontsel; + guint selection_timeout = 0; + guint immediate_selection = 0; + + fontsel = GTK_FONT_SELECTION (data); + selection_timeout = GPOINTER_TO_UINT (g_object_get_data (G_OBJECT (fontsel), "size-selection-timeout")); + immediate_selection = GPOINTER_TO_UINT (g_object_get_data (G_OBJECT (fontsel), "immediate-selection")); + + if (selection_timeout) + g_source_remove (selection_timeout); + + if (immediate_selection) + { + gtk_font_selection_real_select_size (data); + } + else + { + selection_timeout = g_timeout_add (200, gtk_font_selection_real_select_size, data); + g_object_set_data (G_OBJECT (fontsel), "size-selection-timeout", GUINT_TO_POINTER (selection_timeout)); + } } static void @@ -1449,6 +1584,9 @@ gtk_font_selection_select_font_desc (Gtk if (!new_family) return FALSE; + /* Disable selection timeout */ + g_object_set_data (G_OBJECT (fontsel), "immediate-selection", GUINT_TO_POINTER (1)); + if (pfamily) *pfamily = new_family; else @@ -1499,6 +1637,9 @@ gtk_font_selection_select_font_desc (Gtk gtk_font_selection_set_size (fontsel, pango_font_description_get_size (new_desc)); + /* Enable selection timeout */ + g_object_set_data (G_OBJECT (fontsel), "immediate-selection", GUINT_TO_POINTER (0)); + return TRUE; } ++++++ gtk2-immodule-fallback.patch ++++++ diff --git a/gtk/gtkimmodule.c b/gtk/gtkimmodule.c index 593a868..c5bd139 100644 --- a/gtk/gtkimmodule.c +++ b/gtk/gtkimmodule.c @@ -648,6 +648,26 @@ match_locale (const gchar *locale, return 0; } +static const gchar * +lookup_immodule (gchar **immodules_list) +{ + while (immodules_list && *immodules_list) + { + if (g_strcmp0 (*immodules_list, SIMPLE_ID) == 0) + return SIMPLE_ID; + else + { + GtkIMModule *module; + module = g_hash_table_lookup (contexts_hash, *immodules_list); + if (module) + return module->contexts[0]->context_id; + } + immodules_list++; + } + + return NULL; +} + /** * _gtk_im_module_get_default_context_id: * @client_window: a window @@ -664,7 +684,7 @@ _gtk_im_module_get_default_context_id (GdkWindow *client_window) const gchar *context_id = NULL; gint best_goodness = 0; gint i; - gchar *tmp_locale, *tmp; + gchar *tmp_locale, *tmp, **immodules; const gchar *envvar; GdkScreen *screen; GtkSettings *settings; @@ -672,11 +692,16 @@ _gtk_im_module_get_default_context_id (GdkWindow *client_window) if (!contexts_hash) gtk_im_module_initialize (); - envvar = g_getenv ("GTK_IM_MODULE"); - if (envvar && - (strcmp (envvar, SIMPLE_ID) == 0 || - g_hash_table_lookup (contexts_hash, envvar))) - return envvar; + envvar = g_getenv("GTK_IM_MODULE"); + if (envvar) + { + immodules = g_strsplit(envvar, ":", 0); + context_id = lookup_immodule(immodules); + g_strfreev(immodules); + + if (context_id) + return context_id; + } /* Check if the certain immodule is set in XSETTINGS. */ @@ -687,15 +712,9 @@ _gtk_im_module_get_default_context_id (GdkWindow *client_window) g_object_get (G_OBJECT (settings), "gtk-im-module", &tmp, NULL); if (tmp) { - if (strcmp (tmp, SIMPLE_ID) == 0) - context_id = SIMPLE_ID; - else - { - GtkIMModule *module; - module = g_hash_table_lookup (contexts_hash, tmp); - if (module) - context_id = module->contexts[0]->context_id; - } + immodules = g_strsplit(tmp, ":", 0); + context_id = lookup_immodule(immodules); + g_strfreev(immodules); g_free (tmp); if (context_id) ++++++ gtk2-tracker-0.10.patch ++++++ ++++ 863 lines (skipped) ++++++ gtk2-window-dragging.patch ++++++ diff --git a/gtk/gtkmenushell.c b/gtk/gtkmenushell.c index 4788590..cb94c64 100644 --- a/gtk/gtkmenushell.c +++ b/gtk/gtkmenushell.c @@ -585,18 +585,45 @@ gtk_menu_shell_button_press (GtkWidget *widget, if (!menu_shell->active || !menu_shell->button) { - _gtk_menu_shell_activate (menu_shell); + gboolean initially_active = menu_shell->active; menu_shell->button = event->button; - if (menu_item && _gtk_menu_item_is_selectable (menu_item) && - menu_item->parent == widget && - menu_item != menu_shell->active_menu_item) + if (menu_item) { - if (GTK_MENU_SHELL_GET_CLASS (menu_shell)->submenu_placement == GTK_TOP_BOTTOM) + if (_gtk_menu_item_is_selectable (menu_item) && + menu_item->parent == widget && + menu_item != menu_shell->active_menu_item) { - menu_shell->activate_time = event->time; - gtk_menu_shell_select_item (menu_shell, menu_item); + _gtk_menu_shell_activate (menu_shell); + menu_shell->button = event->button; + + if (GTK_MENU_SHELL_GET_CLASS (menu_shell)->submenu_placement == GTK_TOP_BOTTOM) + { + menu_shell->activate_time = event->time; + gtk_menu_shell_select_item (menu_shell, menu_item); + } + } + } + else + { + if (!initially_active) + { + gboolean window_drag = FALSE; + + gtk_widget_style_get (widget, + "window-dragging", &window_drag, + NULL); + + if (window_drag) + { + gtk_menu_shell_deactivate (menu_shell); + gtk_window_begin_move_drag (GTK_WINDOW (gtk_widget_get_toplevel (widget)), + event->button, + event->x_root, + event->y_root, + event->time); + } } } } diff --git a/gtk/gtktoolbar.c b/gtk/gtktoolbar.c index 8f065a7..c72a09f 100644 --- a/gtk/gtktoolbar.c +++ b/gtk/gtktoolbar.c @@ -2699,17 +2699,41 @@ static gboolean gtk_toolbar_button_press (GtkWidget *toolbar, GdkEventButton *event) { + GtkWidget *window; + if (event->button == 3) { gboolean return_value; - + g_signal_emit (toolbar, toolbar_signals[POPUP_CONTEXT_MENU], 0, (int)event->x_root, (int)event->y_root, event->button, &return_value); - + return return_value; } - + + window = gtk_widget_get_toplevel (toolbar); + + if (window) + { + gboolean window_drag = FALSE; + + gtk_widget_style_get (toolbar, + "window-dragging", &window_drag, + NULL); + + if (window_drag) + { + gtk_window_begin_move_drag (GTK_WINDOW (window), + event->button, + event->x_root, + event->y_root, + event->time); + + return TRUE; + } + } + return FALSE; } diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index 58ce2db..921c22a 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -2443,6 +2443,13 @@ gtk_widget_class_init (GtkWidgetClass *klass) 0.0, 1.0, 0.04, GTK_PARAM_READABLE)); + gtk_widget_class_install_style_property (klass, + g_param_spec_boolean ("window-dragging", + P_("Window dragging"), + P_("Window dragging"), + FALSE, + GTK_PARAM_READWRITE)); + /** * GtkWidget:draw-border: * ++++++ gtk64.patch ++++++ Index: gtk+-2.22.1/gtk/Makefile.am =================================================================== --- gtk+-2.22.1.orig/gtk/Makefile.am +++ gtk+-2.22.1/gtk/Makefile.am @@ -976,7 +976,7 @@ distclean-local: DEPS = $(gtktargetlib) $(top_builddir)/gdk/$(gdktargetlib) -TEST_DEPS = $(DEPS) gtk.immodules +TEST_DEPS = $(DEPS) gtk64.immodules LDADDS = \ $(gtktargetlib) \ Index: gtk+-2.22.1/gtk/gtkmodules.c =================================================================== --- gtk+-2.22.1.orig/gtk/gtkmodules.c +++ gtk+-2.22.1/gtk/gtkmodules.c @@ -68,7 +68,7 @@ get_module_path (void) if (home_dir) home_gtk_dir = g_build_filename (home_dir, ".gtk-2.0", NULL); - module_path_env = g_getenv ("GTK_PATH"); + module_path_env = g_getenv ("GTK_PATH64"); exe_prefix = g_getenv ("GTK_EXE_PREFIX"); if (exe_prefix) Index: gtk+-2.22.1/gtk/gtkrc.c =================================================================== --- gtk+-2.22.1.orig/gtk/gtkrc.c +++ gtk+-2.22.1/gtk/gtkrc.c @@ -450,7 +450,7 @@ gtk_rc_get_im_module_file (void) if (im_module_file) result = g_strdup (im_module_file); else - result = g_build_filename (GTK_SYSCONFDIR, "gtk-2.0", "gtk.immodules", NULL); + result = g_build_filename (GTK_SYSCONFDIR, "gtk-2.0", "gtk64.immodules", NULL); } return result; Index: gtk+-2.22.1/modules/input/Makefile.am =================================================================== --- gtk+-2.22.1.orig/modules/input/Makefile.am +++ gtk+-2.22.1/modules/input/Makefile.am @@ -189,11 +189,11 @@ install-data-hook: @if $(RUN_QUERY_IMMODULES_TEST) ; then \ echo $(mkinstalldirs) $(DESTDIR)$(sysconfdir)/gtk-2.0 ; \ $(mkinstalldirs) $(DESTDIR)$(sysconfdir)/gtk-2.0 ; \ - echo "$(top_builddir)/gtk/gtk-query-immodules-2.0 > $(DESTDIR)$(sysconfdir)/gtk-2.0/gtk.immodules" ; \ - $(top_builddir)/gtk/gtk-query-immodules-2.0 > $(DESTDIR)$(sysconfdir)/gtk-2.0/gtk.immodules ; \ + echo "$(top_builddir)/gtk/gtk-query-immodules-2.0 > $(DESTDIR)$(sysconfdir)/gtk-2.0/gtk64.immodules" ; \ + $(top_builddir)/gtk/gtk-query-immodules-2.0 > $(DESTDIR)$(sysconfdir)/gtk-2.0/gtk64.immodules ; \ else \ echo "***" ; \ - echo "*** Warning: gtk.immodules not built" ; \ + echo "*** Warning: gtk64.immodules not built" ; \ echo "***" ; \ echo "*** Generate this file manually on host" ; \ echo "*** system using gtk-query-immodules-2.0" ; \ @@ -201,7 +201,7 @@ install-data-hook: fi uninstall-local: - rm -f $(DESTDIR)$(sysconfdir)/gtk-2.0/gtk.immodules + rm -f $(DESTDIR)$(sysconfdir)/gtk-2.0/gtk64.immodules if BUILD_DYNAMIC_MODULES @@ -237,14 +237,14 @@ noinst_LTLIBRARIES = \ included-modules: $(noinst_LTLIBRARIES) -gtk.immodules: Makefile.am $(module_LTLIBRARIES) - $(top_builddir)/gtk/gtk-query-immodules-2.0 $(module_LTLIBRARIES) > gtk.immodules +gtk64.immodules: Makefile.am $(module_LTLIBRARIES) + $(top_builddir)/gtk/gtk-query-immodules-2.0 $(module_LTLIBRARIES) > gtk64.immodules -CLEANFILES = gtk.immodules +CLEANFILES = gtk64.immodules if CROSS_COMPILING else -all-local: gtk.immodules +all-local: gtk64.immodules endif -include $(top_srcdir)/git.mk ++++++ gtkrc ++++++ # # gtkrc file allows you to define system wide defaults for all GTK+ applications. # This file is branding specific. # # For complete list of available settings see devhelp documentation in # gtk2-doc package, section GTK+ Core Reference -> Resource Files # # You most probably want: #gtk-theme-name = "" #gtk-icon-theme-name = "" #gtk-fallback-icon-theme = "gnome" ++++++ macros.gtk2 ++++++ # RPM macros for packages installing a GTK+ IM module # ### # # When a package installs a GTK+ IM module, it should use all # three macros: # # - %gtk2_immodule_requires in the preamble # - %gtk2_immodule_post in %post # - %gtk2_immodule_postun in %postun # ### %gtk2_immodule_requires \ Requires(post): gtk2 \ Requires(postun): gtk2 # On install, update the cache %gtk2_immodule_post \ %if "%_lib" == "lib64" \ %{_bindir}/gtk-query-immodules-2.0-64 > %{_sysconfdir}/gtk-2.0/gtk64.immodules \ %else \ %{_bindir}/gtk-query-immodules-2.0 > %{_sysconfdir}/gtk-2.0/gtk.immodules \ %endif # On uninstall, update the cache. Note: we ignore upgrades (already # handled in %post of the new package). %gtk2_immodule_postun \ if [ $1 -eq 0 ]; then \ %if "%_lib" == "lib64" \ %{_bindir}/gtk-query-immodules-2.0-64 > %{_sysconfdir}/gtk-2.0/gtk64.immodules \ %else \ %{_bindir}/gtk-query-immodules-2.0 > %{_sysconfdir}/gtk-2.0/gtk.immodules \ %endif \ fi -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org
participants (1)
-
root@hilbert.suse.de