Hello community, here is the log from the commit of package gtk3.2263 for openSUSE:12.2:Update checked in at 2013-12-19 13:12:02 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:12.2:Update/gtk3.2263 (Old) and /work/SRC/openSUSE:12.2:Update/.gtk3.2263.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gtk3.2263" Changes: -------- New Changes file: --- /dev/null 2013-11-25 01:44:08.036031256 +0100 +++ /work/SRC/openSUSE:12.2:Update/.gtk3.2263.new/gtk3.changes 2013-12-19 13:12:03.000000000 +0100 @@ -0,0 +1,1430 @@ +------------------------------------------------------------------- +Mon Dec 2 17:43:02 CST 2013 - [email protected] + +- Added gtk3-bnc840753-embedded-svg.patch for the GTK+ part of + bnc#840753. Librsvg will no longer include external XML files, so + we now read SVGs with a data: URI. + +------------------------------------------------------------------- +Thu Oct 11 11:11:16 UTC 2012 - [email protected] + +- Add gtk3-discriminate-shift-F10-and-F10.patch to fix bnc#782291 + backport from 3.6 + +------------------------------------------------------------------- +Sun Jul 15 20:28:10 UTC 2012 - [email protected] + +- Update to version 3.4.4: + + GtkIconView: Fallout from the layout rewrite has been fixed. + + Bugs fixed: bgo#531319, bgo#571254, bgo#613561, bgo#643490, + bgo#646798, bgo#647779, bgo#649569, bgo#659613, bgo#663991, + bgo#664646, bgo#667808, bgo#670369, bgo#671437, bgo#671817, + bgo#673749, bgo#675167, bgo#675423, bgo#675535, bgo#675809, + bgo#675899, bgo#675990, bgo#676077, bgo#676243, bgo#676262, + bgo#676329, bgo#677127, bgo#677293, bgo#677363, bgo#677551, + bgo#677649, bgo#677774, bgo#677775, bgo#677809, bgo#677915, + bgo#677941, bgo#678175, bgo#678407, bgo#678829, bgo#679166, + bgo#679228, bgo#679409, bgo#679454, bgo#679537. + + Updated translations. + +------------------------------------------------------------------- +Tue May 15 09:55:29 UTC 2012 - [email protected] + +- Update to version 3.4.3: + + GtkIconView: The sizing and layout has been rewritten. + + Bugs fixed: bgo#478344, bgo#587873, bgo#663072, bgo#670449, + bgo#672947, bgo#673237, bgo#674192, bgo#674549, bgo#675421, + bgo#675501 + + Updated translations. + +------------------------------------------------------------------- +Sun May 6 16:46:15 UTC 2012 - [email protected] + +- Update to version 3.4.2: + + Bugs fixed: bgo#668931, bgo#669989, bgo#670373, bgo#671249, + bgo#672789, bgo#673259, bgo#673644, bgo#673650, bgo#674050, + bgo#674102, bgo#674118, bgo#674200, bgo#674286, bgo#674326, + bgo#674587, bgo#674806, bgo#674807, bgo#674890 + + Updated translations. + +------------------------------------------------------------------- +Sat Apr 14 16:51:02 UTC 2012 - [email protected] + +- Update to version 3.4.1: + + Win32 fixes + + OS X fixes. + + Bugs fixed: bgo#587441, bgo#672133, bgo#672358, bgo#672544, + bgo#672961, bgo#673090, bgo#673125, bgo#673139, bgo#673200, + bgo#673328, bgo#673440, bgo#673441, bgo#673458, bgo#673693, + bgo#673882 + + Updated translations. + +------------------------------------------------------------------- +Mon Mar 26 15:18:27 UTC 2012 - [email protected] + +- Update to version 3.4.0: + + Bugs fixed: bgo#658875, bgo#671006, bgo#672163, bgo#672587, + bgo#672763. + + Updated translations. + +------------------------------------------------------------------- +Tue Mar 20 19:54:15 UTC 2012 - [email protected] + +- Update to version 3.3.20: + + Theming: + - Reduced memory consumption in the css parser + - Fixed Windows theme rendering under XP + - Support for background-position + + Bugs fixed: bgo#657385, bgo#662023, bgo#670176, bgo#671065, + bgo#671453, bgo#671488, bgo#671588, bgo#671659, bgo#671819, + bgo#671898, bgo#672009, bgo#672117, bgo#672125, bgo#672173, + bgo#672182, bgo#672367. + +------------------------------------------------------------------- +Tue Mar 6 08:02:39 UTC 2012 - [email protected] + +- Update to version 3.3.18: + + Add support for touch devices: + - New device types GDK_SOURCE_TOUCHSCREEN and + GDK_SOURCE_TOUCHPAD for direct and indirect touch devices + - New event GdkEventTouch and GDK_TOUCH_MASK + - New signal GtkWidget::touch-event + + Add support for smooth scrolling: + - Scroll events can contain scroll deltas, obtainable via + gdk_event_get_scroll_deltas() + - Scroll direction for such events is GDK_SCROLL_SMOOTH + - To receive scroll events, widgets must now set either + GDK_SCROLL_MASK or GDK_SMOOTH_SCROLL_MASK + + GtkScrolledWindow will do kinetic scrolling with touch devices + + XInput2 is now required for building the X11 backend, support + for XInput1 has been removed + + Deprecations are now versioned, and new API is marked with the + version it was introduced. Use these with + GDK_VERSION_{MIN,MAX}_REQUIRED + + Theming: + - Memory consumption of the CSS parser has been reduced + - CSS selectors of the form "a + b" and "a ~ b" work now + + Bugs fixed: bgo#650693, bgo#655065, bgo#668141, bgo#669335, + bgo#669342, bgo#670555, bgo#670881, bgo#671057, bgo#671070, + bgo#671170. + + Updated translations. + +------------------------------------------------------------------- +Tue Feb 21 12:07:40 UTC 2012 - [email protected] + +- Update to version 3.3.16: + + The widget-factory theme test is now installed as a demo named + gtk3-widget-factory + + The Raleigh theme is now a pure fallback theme that doesn't + share any CSS with other themes anymore + + GtkColorSelectionDialog has been deprecated in favor of a new + color chooser widget named GtkColorChooserDialog + + The GtkApplication session support has been simplified + + Bugs fixed: bgo#612283, bgo#668114, bgo#669116, bgo#669208, + bgo#669511, bgo#669636, bgo#669638, bgo#669794, bgo#669947, + bgo#670077, bgo#670078, bgo#670400. + + Updated translations. + +------------------------------------------------------------------- +Tue Feb 7 07:36:24 UTC 2012 - [email protected] + +- Update to version 3.3.14: + + Theming: + - Fixes for border handling in GtkEntry, GtkCellRendererText, + GtkComboBox + - Parse values more carefully, supporting percentages, angles + - Implement CSS linear-gradient syntax + - Support background-size + - Support a gtk.gresource file in themes + + Bugs fixed: bgo#543520, bgo#649121, bgo#669176. + + Updated translations. +- Remove xz BuildRequires now that it comes for free in the build + system. + +------------------------------------------------------------------- +Tue Jan 31 08:42:56 UTC 2012 - [email protected] + +- Update to version 3.3.12: + + GtkApplication: + - Add API to create menus from models + - New format for <menu> in GtkBuilder files + + Add a RELAX NG schema for the GtkBuilder XML. + + Several cleanups and bug fixes. +- Use %glib2_gsettings_schema_* macros in devel subpackage for new + GSettings schema. + +------------------------------------------------------------------- +Tue Jan 24 11:18:14 UTC 2012 - [email protected] + +- Move ChangeLog to devel subpackage, as it can be big and is not + needed on a default install. + +------------------------------------------------------------------- +Fri Jan 20 21:46:25 UTC 2012 - [email protected] + +- Update to version 3.3.10: + + GtkApplication: + - Move application menu handling over from GIO + - Fix resize grip positioning in GtkApplicationWindow + + Wayland: + - Make combo boxes work + - Make key modifiers work like on X11 + - Make mouse buttons work correctly + + Quartz: + - Make key modifiers work more like they do on X11 + + Printing: + - Fix handling of custom cups options + + Accessibility: + - Bring key snooping support back for now + + Updated translations. +- Drop gtk3-unbreak-apps.patch: fixed upstream. + +------------------------------------------------------------------- +Fri Jan 20 14:08:02 UTC 2012 - [email protected] + +- Add gtk3-unbreak-apps.patch: revert a change in 3.3.8 that breaks + eog and epiphany. + +------------------------------------------------------------------- +Tue Jan 17 07:13:15 UTC 2012 - [email protected] + +- Update to version 3.3.8: + + GtkApplication: + - Supports logout notification and inhibiting + - Buttons, toolbuttons and switches can now be connected to + GActions + + GtkSpinButton no longer allows to change the value when not + editable ++++ 1233 more lines (skipped) ++++ between /dev/null ++++ and /work/SRC/openSUSE:12.2:Update/.gtk3.2263.new/gtk3.changes New: ---- README.SUSE baselibs.conf gtk+-3.4.4.tar.xz gtk3-GTK_PATH64.patch gtk3-bnc130159-bgo319483-async-font-selection.patch gtk3-bnc840753-embedded-svg.patch gtk3-discriminate-shift-F10-and-F10.patch gtk3-path-local.patch gtk3.changes gtk3.spec macros.gtk3 settings.ini ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ gtk3.spec ++++++ # # spec file for package gtk3 # # Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany. # Copyright (c) 2010 Dominique Leuenebrger, Amsterdam, Netherlands # # 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/ # %define build_broadway_backend 1 # When updating the binary version, do not forget to also update baselibs.conf %define gtk_binary_version 3.0.0 Name: gtk3 %define _name gtk+ Version: 3.4.4 Release: 0 Summary: The GTK+ toolkit library (version 3) License: LGPL-2.1+ Group: System/Libraries Url: http://www.gtk.org/ Source: http://download.gnome.org/sources/gtk+/3.4/%{_name}-%{version}.tar.xz Source1: README.SUSE Source2: settings.ini Source3: macros.gtk3 Source99: baselibs.conf # PATCH-FIX-OPENSUSE gtk3-GTK_PATH64.patch [email protected] - 64-bit dual install. Use GTK_PATH64 environment variable instead of GTK_PATH Patch0: gtk3-GTK_PATH64.patch # PATCH-FIX-OPENSUSE gtk3-path-local.patch Search in /usr/local/%{_lib} by default. bnc369696 bgo534474 Patch1: gtk3-path-local.patch # PATCH-FIX-UPSTREAM gtk3-bnc130159-bgo319483-async-font-selection.patch bnc130159 bgo319483 [email protected] - Load fonts asynchronously in GtkFontSelection to make it appear faster for CJK languages Patch3: gtk3-bnc130159-bgo319483-async-font-selection.patch Patch4: gtk3-discriminate-shift-F10-and-F10.patch # PATCH-FIX-UPSTREAM gtk3-bnc840753-embedded-svg.patch bnc840753 [email protected] - Embed SVG as a data URI, as librsvg will not include XML data from external files anymore Patch5: gtk3-bnc840753-embedded-svg.patch BuildRequires: cups-devel >= 1.2 BuildRequires: fdupes BuildRequires: pkgconfig(atk) >= 2.2.0 BuildRequires: pkgconfig(cairo) BuildRequires: pkgconfig(colord) BuildRequires: pkgconfig(fontconfig) BuildRequires: pkgconfig(gdk-pixbuf-2.0) >= 2.26.0 BuildRequires: pkgconfig(glib-2.0) >= 2.32.0 BuildRequires: pkgconfig(gmodule-2.0) BuildRequires: pkgconfig(gobject-introspection-1.0) >= 1.32.0 BuildRequires: pkgconfig(pango) >= 1.30.0 BuildRequires: pkgconfig(pangoft2) BuildRequires: pkgconfig(x11) BuildRequires: pkgconfig(xcomposite) BuildRequires: pkgconfig(xcursor) BuildRequires: pkgconfig(xdamage) BuildRequires: pkgconfig(xext) BuildRequires: pkgconfig(xfixes) BuildRequires: pkgconfig(xi) BuildRequires: pkgconfig(xinerama) BuildRequires: pkgconfig(xrandr) 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-3-0 Summary: The GTK+ toolkit library (version 3) 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: %{name}-data = %{version} Requires: hicolor-icon-theme # gtk+ can work without branding/translations. Built in defaults will be used then. Recommends: %{name}-branding # 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} # Before 3.0, the package was actually libgtk-3_0-0 and files might # conflict Provides: libgtk-3_0-0 = %{version} Obsoletes: libgtk-3_0-0 < %{version} %description -n libgtk-3-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 -n typelib-1_0-Gtk-3_0 Summary: The GTK+ toolkit library (version 3) -- Introspection bindings Group: System/Libraries %description -n typelib-1_0-Gtk-3_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. This package provides the GObject Introspection bindings for GTK+. %package immodule-amharic Summary: The GTK+ toolkit library (version 3) -- 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 Summary: The GTK+ toolkit library (version 3) -- 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 Summary: The GTK+ toolkit library (version 3) -- 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 Summary: The GTK+ toolkit library (version 3) -- 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 Summary: The GTK+ toolkit library (version 3) -- 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 Summary: The GTK+ toolkit library (version 3) -- 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 Summary: The GTK+ toolkit library (version 3) -- X Input Method Group: System/Libraries Requires: %{name} = %{version} Requires(post): %{name}-tools Requires(postun): %{name}-tools Provides: locale(%{name}:ja) Provides: locale(%{name}:ko) 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 Summary: The GTK+ toolkit library (version 3) -- 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 Summary: The GTK+ toolkit library (version 3) -- Data Files Group: System/Libraries BuildArch: noarch %glib2_gsettings_schema_requires %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 Summary: The GTK+ toolkit library (version 3) -- Upstream theme configuration Group: System/Libraries Requires: libgtk-3-0 = %{version} Provides: %{name}-branding = %{version} Conflicts: otherproviders(%{name}-branding) Supplements: packageand(%{name}:branding-upstream) BuildArch: noarch #BRAND: Provides /etc/gtk-3.0/settings.ini, to define default theme and icon #BRAND: 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. This package provides the upstream theme configuration for widgets and icon themes. %package devel Summary: The GTK+ toolkit library (version 3) -- Development Files Group: Development/Libraries/X11 Requires: libgtk-3-0 = %{version} Requires: typelib-1_0-Gtk-3_0 = %{version} %glib2_gsettings_schema_requires %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+ 3.x. %lang_package %prep %setup -q -n %{_name}-%{version} %if "%_lib" == "lib64" cp -a %{S:1} . %patch0 -p1 %endif %patch1 -p0 %patch3 -p1 %patch4 -p1 %patch5 -p1 %build %configure \ --disable-static \ --enable-man \ --enable-x11-backend \ %if %{build_broadway_backend} --enable-broadway-backend \ %endif --enable-introspection \ --enable-colord %{__make} V=1 %{?_smp_mflags} %install %makeinstall find %{buildroot}%{_libdir} -name '*.la' -delete -print %if 0%{?suse_version} <= 1130 %{__rm} %{buildroot}%{_datadir}/locale/kg/LC_MESSAGES/* %endif %find_lang gtk30 %find_lang gtk30-properties install -m 644 -D %{S:2} %{buildroot}%{_sysconfdir}/gtk-3.0/settings.ini touch %{buildroot}%{_libdir}/gtk-3.0/%{gtk_binary_version}/immodules.cache %if "%_lib" == "lib64" mv %{buildroot}%{_bindir}/gtk-query-immodules-3.0 %{buildroot}%{_bindir}/gtk-query-immodules-3.0-64 mv %{buildroot}%{_mandir}/man1/gtk-query-immodules-3.0.1 %{buildroot}%{_mandir}/man1/gtk-query-immodules-3.0-64.1 %endif # create modules directory that should have been created during the build test ! -d %{buildroot}%{_libdir}/gtk-3.0/modules mkdir %{buildroot}%{_libdir}/gtk-3.0/modules # create theming-engines directory that should have been created during the build test ! -d %{buildroot}%{_libdir}/gtk-3.0/%{gtk_binary_version}/theming-engines mkdir %{buildroot}%{_libdir}/gtk-3.0/%{gtk_binary_version}/theming-engines # Alternatives for gtk-update-icon-cache and gtk-builder-convert mv %{buildroot}%{_bindir}/gtk-update-icon-cache %{buildroot}%{_bindir}/gtk-update-icon-cache-3.0 mv %{buildroot}%{_mandir}/man1/gtk-update-icon-cache.1 %{buildroot}%{_mandir}/man1/gtk-update-icon-cache-3.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:3} %{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-3.0-64 %else %define _gtk_query_immodules %{_bindir}/gtk-query-immodules-3.0 %endif %define _gtk_query_immodules_update_cache %{_gtk_query_immodules} --update-cache %post -n libgtk-3-0 /sbin/ldconfig %if 0 # In case libgtk-3-0 gets installed before gtk3-tools, we don't want to fail. # So we make the call to gtk-query-immodules-3.0 dependent on the existence of # the binary. This is why we also have a %post for gtk3-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 gtk3-tools for the first time, then we should run it in case # libgtk-3-0 was installed first (ie, if # %{_libdir}/gtk-3.0/%{gtk_binary_version} already exists) which means # gtk-query-immodules-3.0 couldn't run there. %endif if [ $1 == 1 ]; then test -d %{_libdir}/gtk-3.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-3.0 3 \ --slave %{_mandir}/man1/gtk-update-icon-cache.1.gz gtk-update-icon-cache.1.gz %{_mandir}/man1/gtk-update-icon-cache-3.0.1.gz %post data %glib2_gsettings_schema_post %post devel %glib2_gsettings_schema_post %if 0 # No need to call gtk-query-immodules-3.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-3-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 data %glib2_gsettings_schema_postun %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-3.0 ]; then update-alternatives --remove gtk-update-icon-cache %{_bindir}/gtk-update-icon-cache-3.0 fi %postun devel %glib2_gsettings_schema_postun %files -n libgtk-3-0 %defattr(-, root, root) %doc AUTHORS COPYING README NEWS %if "%_lib" == "lib64" %doc README.SUSE %endif %dir %{_sysconfdir}/gtk-3.0 %dir %{_libdir}/gtk-3.0 %dir %{_libdir}/gtk-3.0/%{gtk_binary_version} %dir %{_libdir}/gtk-3.0/%{gtk_binary_version}/immodules/ %{_libdir}/gtk-3.0/%{gtk_binary_version}/immodules/im-cedilla.so %{_libdir}/gtk-3.0/%{gtk_binary_version}/immodules/im-cyrillic-translit.so %{_libdir}/gtk-3.0/%{gtk_binary_version}/immodules/im-ipa.so %dir %{_libdir}/gtk-3.0/%{gtk_binary_version}/printbackends/ %{_libdir}/gtk-3.0/%{gtk_binary_version}/printbackends/libprintbackend-cups.so %{_libdir}/gtk-3.0/%{gtk_binary_version}/printbackends/libprintbackend-file.so %{_libdir}/gtk-3.0/%{gtk_binary_version}/printbackends/libprintbackend-lpr.so %dir %{_libdir}/gtk-3.0/%{gtk_binary_version}/theming-engines/ %ghost %{_libdir}/gtk-3.0/%{gtk_binary_version}/immodules.cache %dir %{_libdir}/gtk-3.0/modules %{_libdir}/libgailutil-3.so.* %{_libdir}/libgdk-3.so.* %{_libdir}/libgtk-3.so.* %files -n typelib-1_0-Gtk-3_0 %defattr(-,root,root) %{_libdir}/girepository-1.0/Gdk-3.0.typelib %{_libdir}/girepository-1.0/GdkX11-3.0.typelib %{_libdir}/girepository-1.0/Gtk-3.0.typelib %files immodule-amharic %defattr(-,root,root) %{_libdir}/gtk-3.0/%{gtk_binary_version}/immodules/im-am-et.so %files immodule-inuktitut %defattr(-,root,root) %{_libdir}/gtk-3.0/%{gtk_binary_version}/immodules/im-inuktitut.so %files immodule-multipress %defattr(-,root,root) %doc modules/input/README.multipress %{_libdir}/gtk-3.0/%{gtk_binary_version}/immodules/im-multipress.so %config %{_sysconfdir}/gtk-3.0/im-multipress.conf %files immodule-thai %defattr(-,root,root) %{_libdir}/gtk-3.0/%{gtk_binary_version}/immodules/im-thai.so %files immodules-tigrigna %defattr(-,root,root) %{_libdir}/gtk-3.0/%{gtk_binary_version}/immodules/im-ti-er.so %{_libdir}/gtk-3.0/%{gtk_binary_version}/immodules/im-ti-et.so %files immodule-vietnamese %defattr(-,root,root) %{_libdir}/gtk-3.0/%{gtk_binary_version}/immodules/im-viqr.so %files immodule-xim %defattr(-,root,root) %{_libdir}/gtk-3.0/%{gtk_binary_version}/immodules/im-xim.so %files tools %defattr(-,root,root) %{_bindir}/gtk-query-immodules-3.0* %{_bindir}/gtk-update-icon-cache-3.0 %ghost %{_bindir}/gtk-update-icon-cache %{_mandir}/man1/gtk-query-immodules-3.0*.1* %{_mandir}/man1/gtk-update-icon-cache-3.0.1* %ghost %{_mandir}/man1/gtk-update-icon-cache.1* %files data %defattr(-,root,root) %{_datadir}/glib-2.0/schemas/org.gtk.Settings.ColorChooser.gschema.xml %{_datadir}/glib-2.0/schemas/org.gtk.Settings.FileChooser.gschema.xml %{_datadir}/themes/Default/ %{_datadir}/themes/Emacs/ %files branding-upstream %defattr(-,root,root) %config %{_sysconfdir}/gtk-3.0/settings.ini %files lang -f gtk30.lang -f gtk30-properties.lang %files devel %defattr(-,root,root) %doc ChangeLog %doc %{_datadir}/gtk-doc/html/gail-libgail-util3/ %doc %{_datadir}/gtk-doc/html/gdk3/ %doc %{_datadir}/gtk-doc/html/gtk3/ %{_bindir}/gtk3-demo %{_bindir}/gtk3-demo-application %{_bindir}/gtk3-widget-factory %{_datadir}/aclocal/gtk-3.0.m4 %{_datadir}/gir-1.0/*.gir %{_datadir}/glib-2.0/schemas/org.gtk.Demo.gschema.xml %dir %{_datadir}/gtk-3.0 %{_datadir}/gtk-3.0/demo/ %{_datadir}/gtk-3.0/gtkbuilder.rng %{_includedir}/gail-3.0/ %{_includedir}/gtk-3.0/ %{_libdir}/pkgconfig/gail-3.0.pc %{_libdir}/pkgconfig/gdk-3.0.pc %if %{build_broadway_backend} %{_libdir}/pkgconfig/gdk-broadway-3.0.pc %endif %{_libdir}/pkgconfig/gdk-x11-3.0.pc %{_libdir}/pkgconfig/gtk+-3.0.pc %if %{build_broadway_backend} %{_libdir}/pkgconfig/gtk+-broadway-3.0.pc %endif %{_libdir}/pkgconfig/gtk+-unix-print-3.0.pc %{_libdir}/pkgconfig/gtk+-x11-3.0.pc %{_libdir}/libgailutil-3.so %{_libdir}/libgdk-3.so %{_libdir}/libgtk-3.so %{_sysconfdir}/rpm/macros.gtk3 %changelog ++++++ README.SUSE ++++++ README for bi-architecture 64 bit platforms users ================================================= The GTK_PATH64 environment variable is used instead of GTK_PATH for the 64 bit library. See the GTK+ documentation for how to use GTK_PATH. The GTK+ IM modules are different, based on the architecture of the package. To update the cache of IM modules, run: + for 32 bit version: /usr/bin/gtk-query-immodules-3.0 + for 64 bit version: /usr/bin/gtk-query-immodules-3.0-64 ++++++ baselibs.conf ++++++ gtk3-tools +/usr/bin/gtk-query-immodules-3.0(-64)? post "%if "%_lib" == "lib64"" post "if [ $1 == 1 ]; then test -d <prefix>%{_libdir}/gtk-3.0/3.0.0; if test $? -eq 0; then <prefix>%{_bindir}/gtk-query-immodules-3.0-64 --update-cache; fi; fi" post "%else" post "if [ $1 == 1 ]; then test -d <prefix>%{_libdir}/gtk-3.0/3.0.0; if test $? -eq 0; then <prefix>%{_bindir}/gtk-query-immodules-3.0 --update-cache; fi; fi" post "%endif" libgtk-3-0 requires "gtk3-tools-<targettype>" provides "gtk3-<targettype> = <version>" provides "libgtk-3_0-0-<targettype> = <version>" obsoletes "libgtk-3_0-0-<targettype> < <version>" post "%if "%_lib" == "lib64"" post "if test -f <prefix>%{_bindir}/gtk-query-immodules-3.0-64; then <prefix>%{_bindir}/gtk-query-immodules-3.0-64 --update-cache; fi" post "%else" post "if test -f <prefix>%{_bindir}/gtk-query-immodules-3.0; then <prefix>%{_bindir}/gtk-query-immodules-3.0 --update-cache; fi" post "%endif" gtk3-immodule-amharic requires "gtk3-<targettype>" post "%if "%_lib" == "lib64"" post "<prefix>%{_bindir}/gtk-query-immodules-3.0-64 --update-cache" post "%else" post "<prefix>%{_bindir}/gtk-query-immodules-3.0 --update-cache" post "%endif" postun "%if "%_lib" == "lib64"" postun "<prefix>%{_bindir}/gtk-query-immodules-3.0-64 --update-cache" postun "%else" postun "<prefix>%{_bindir}/gtk-query-immodules-3.0 --update-cache" postun "%endif" gtk3-immodule-inuktitut requires "gtk3-<targettype>" post "%if "%_lib" == "lib64"" post "<prefix>%{_bindir}/gtk-query-immodules-3.0-64 --update-cache" post "%else" post "<prefix>%{_bindir}/gtk-query-immodules-3.0 --update-cache" post "%endif" postun "%if "%_lib" == "lib64"" postun "<prefix>%{_bindir}/gtk-query-immodules-3.0-64 --update-cache" postun "%else" postun "<prefix>%{_bindir}/gtk-query-immodules-3.0 --update-cache" postun "%endif" gtk3-immodule-multipress requires "gtk3-<targettype>" post "%if "%_lib" == "lib64"" post "<prefix>%{_bindir}/gtk-query-immodules-3.0-64 --update-cache" post "%else" post "<prefix>%{_bindir}/gtk-query-immodules-3.0 --update-cache" post "%endif" postun "%if "%_lib" == "lib64"" postun "<prefix>%{_bindir}/gtk-query-immodules-3.0-64 --update-cache" postun "%else" postun "<prefix>%{_bindir}/gtk-query-immodules-3.0 --update-cache" postun "%endif" gtk3-immodule-thai requires "gtk3-<targettype>" post "%if "%_lib" == "lib64"" post "<prefix>%{_bindir}/gtk-query-immodules-3.0-64 --update-cache" post "%else" post "<prefix>%{_bindir}/gtk-query-immodules-3.0 --update-cache" post "%endif" postun "%if "%_lib" == "lib64"" postun "<prefix>%{_bindir}/gtk-query-immodules-3.0-64 --update-cache" postun "%else" postun "<prefix>%{_bindir}/gtk-query-immodules-3.0 --update-cache" postun "%endif" gtk3-immodules-tigrigna requires "gtk3-<targettype>" post "%if "%_lib" == "lib64"" post "<prefix>%{_bindir}/gtk-query-immodules-3.0-64 --update-cache" post "%else" post "<prefix>%{_bindir}/gtk-query-immodules-3.0 --update-cache" post "%endif" postun "%if "%_lib" == "lib64"" postun "<prefix>%{_bindir}/gtk-query-immodules-3.0-64 --update-cache" postun "%else" postun "<prefix>%{_bindir}/gtk-query-immodules-3.0 --update-cache" postun "%endif" gtk3-immodule-vietnamese requires "gtk3-<targettype>" post "%if "%_lib" == "lib64"" post "<prefix>%{_bindir}/gtk-query-immodules-3.0-64 --update-cache" post "%else" post "<prefix>%{_bindir}/gtk-query-immodules-3.0 --update-cache" post "%endif" postun "%if "%_lib" == "lib64"" postun "<prefix>%{_bindir}/gtk-query-immodules-3.0-64 --update-cache" postun "%else" postun "<prefix>%{_bindir}/gtk-query-immodules-3.0 --update-cache" postun "%endif" gtk3-immodule-xim requires "gtk3-<targettype>" post "%if "%_lib" == "lib64"" post "<prefix>%{_bindir}/gtk-query-immodules-3.0-64 --update-cache" post "%else" post "<prefix>%{_bindir}/gtk-query-immodules-3.0 --update-cache" post "%endif" postun "%if "%_lib" == "lib64"" postun "<prefix>%{_bindir}/gtk-query-immodules-3.0-64 --update-cache" postun "%else" postun "<prefix>%{_bindir}/gtk-query-immodules-3.0 --update-cache" postun "%endif" ++++++ gtk3-GTK_PATH64.patch ++++++ Index: gtk+-2.90.5/gtk/gtkmodules.c =================================================================== --- gtk+-2.90.5.orig/gtk/gtkmodules.c +++ gtk+-2.90.5/gtk/gtkmodules.c @@ -67,7 +67,7 @@ get_module_path (void) if (home_dir) home_gtk_dir = g_build_filename (home_dir, ".gtk-3.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) ++++++ gtk3-bnc130159-bgo319483-async-font-selection.patch ++++++ Index: gtk+-2.90.6/gtk/gtkfontsel.c =================================================================== --- gtk+-2.90.6.orig/gtk/deprecated/gtkfontsel.c +++ gtk+-2.90.6/gtk/deprecated/gtkfontsel.c @@ -130,6 +130,8 @@ struct _GtkFontSelectionDialogPrivate #define FONT_STYLE_LIST_WIDTH 170 #define FONT_SIZE_LIST_WIDTH 60 +#define DELAY_REAL_SELECTION_MS 75 + /* These are what we use as the standard font sizes, for the size list. */ static const guint16 font_sizes[] = { @@ -612,10 +614,23 @@ static void gtk_font_selection_finalize (GObject *object) { GtkFontSelection *fontsel = GTK_FONT_SELECTION (object); + guint selection_timeout; gtk_font_selection_ref_family (fontsel, NULL); gtk_font_selection_ref_face (fontsel, NULL); + 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); + G_OBJECT_CLASS (gtk_font_selection_parent_class)->finalize (object); } @@ -652,6 +667,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); @@ -659,6 +677,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); } } @@ -737,21 +758,26 @@ 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) { GtkFontSelection *fontsel; GtkFontSelectionPrivate *priv; + GtkTreeSelection *selection; GtkTreeModel *model; GtkTreeIter iter; #ifdef INCLUDE_FONT_ENTRIES const gchar *family_name; #endif + if (!g_object_get_data (G_OBJECT (data), "immediate-selection")) + GDK_THREADS_ENTER (); + fontsel = GTK_FONT_SELECTION (data); priv = fontsel->priv; + selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (priv->family_list)); + if (gtk_tree_selection_get_selected (selection, &model, &iter)) { PangoFontFamily *family; @@ -772,6 +798,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 (DELAY_REAL_SELECTION_MS, gtk_font_selection_real_select_font, data); + g_object_set_data (G_OBJECT (fontsel), "font-selection-timeout", GUINT_TO_POINTER (selection_timeout)); + } } static int @@ -977,14 +1037,22 @@ 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); + GtkFontSelectionPrivate *priv; + GtkTreeSelection *selection; GtkTreeModel *model; GtkTreeIter iter; + if (!g_object_get_data (G_OBJECT (data), "immediate-selection")) + GDK_THREADS_ENTER (); + + priv = fontsel->priv; + + selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (priv->face_list)); + if (gtk_tree_selection_get_selected (selection, &model, &iter)) { PangoFontFace *face; @@ -996,6 +1064,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 (DELAY_REAL_SELECTION_MS, gtk_font_selection_real_select_style, data); + g_object_set_data (G_OBJECT (fontsel), "style-selection-timeout", GUINT_TO_POINTER (selection_timeout)); + } } static void @@ -1129,20 +1231,62 @@ 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) { GtkFontSelection *fontsel = GTK_FONT_SELECTION (data); + GtkFontSelectionPrivate *priv; + GtkTreeSelection *selection; GtkTreeModel *model; GtkTreeIter iter; gint new_size; + if (!g_object_get_data (G_OBJECT (data), "immediate-selection")) + GDK_THREADS_ENTER (); + + priv = fontsel->priv; + + selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (priv->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 (DELAY_REAL_SELECTION_MS, gtk_font_selection_real_select_size, data); + g_object_set_data (G_OBJECT (fontsel), "size-selection-timeout", GUINT_TO_POINTER (selection_timeout)); + } } static void @@ -1444,6 +1588,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 @@ -1494,6 +1641,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; } ++++++ gtk3-bnc840753-embedded-svg.patch ++++++ >From 211d51bed335f585b7a3118d4eb00c4d6c52a042 Mon Sep 17 00:00:00 2001 From: Matthias Clasen <[email protected]> Date: Fri, 16 Aug 2013 18:57:21 -0400 Subject: [PATCH] Make symbolic icons work with the current rsvg The rsvg loader now restricts what external files it will allow to load from an svg. Thus our xinclude trick doesn't work anymore. To work around that, embed the payload in a data: uri. This is somewhat ugly, but the best we could come up with. --- gtk/gtkicontheme.c | 40 +++++++++++++++++++++++++++++++++++++--- 1 file changed, 37 insertions(+), 3 deletions(-) diff --git a/gtk/gtkicontheme.c b/gtk/gtkicontheme.c index ec26bdd..b1af991 100644 --- a/gtk/gtkicontheme.c +++ b/gtk/gtkicontheme.c @@ -233,6 +233,8 @@ struct _GtkIconInfo GdkPixbuf *pixbuf; GError *load_error; gdouble scale; + + GtkRequisition *symbolic_pixbuf_size; }; typedef struct @@ -2738,6 +2740,8 @@ gtk_icon_info_free (GtkIconInfo *icon_info) g_object_unref (icon_info->pixbuf); if (icon_info->cache_pixbuf) g_object_unref (icon_info->cache_pixbuf); + if (icon_info->symbolic_pixbuf_size) + gtk_requisition_free (icon_info->symbolic_pixbuf_size); g_slice_free (GtkIconInfo, icon_info); } @@ -3170,6 +3174,9 @@ _gtk_icon_info_load_symbolic_internal (GtkIconInfo *icon_info, GdkPixbuf *pixbuf; gchar *data; gchar *success, *warning, *err; + gchar *width, *height; + gchar *file_data, *escaped_file_data; + gsize file_len; /* css_fg can't possibly have failed, otherwise * that would mean we have a broken style */ @@ -3193,13 +3200,37 @@ _gtk_icon_info_load_symbolic_internal (GtkIconInfo *icon_info, err = gdk_color_to_css (&error_default_color); } + if (!g_file_get_contents (icon_info->filename, &file_data, &file_len, NULL)) + return NULL; + + if (!icon_info->symbolic_pixbuf_size) + { + /* Fetch size from the original icon */ + stream = g_memory_input_stream_new_from_data (file_data, file_len, NULL); + pixbuf = gdk_pixbuf_new_from_stream (stream, NULL, error); + g_object_unref (stream); + + if (!pixbuf) + return NULL; + + icon_info->symbolic_pixbuf_size = gtk_requisition_new (); + icon_info->symbolic_pixbuf_size->width = gdk_pixbuf_get_width (pixbuf); + icon_info->symbolic_pixbuf_size->height = gdk_pixbuf_get_height (pixbuf); + g_object_unref (pixbuf); + } + + width = g_strdup_printf ("%d", icon_info->symbolic_pixbuf_size->width); + height = g_strdup_printf ("%d", icon_info->symbolic_pixbuf_size->height); + + escaped_file_data = g_markup_escape_text (file_data, file_len); + g_free (file_data); data = g_strconcat ("<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n" "<svg version=\"1.1\"\n" " xmlns=\"http://www.w3.org/2000/svg\"\n" " xmlns:xi=\"http://www.w3.org/2001/XInclude\"\n" - " width=\"16\"\n" - " height=\"16\">\n" + " width=\"", width, "\"\n" + " height=\"", height, "\">\n" " <style type=\"text/css\">\n" " rect,path {\n" " fill: ", css_fg," !important;\n" @@ -3214,12 +3245,15 @@ _gtk_icon_info_load_symbolic_internal (GtkIconInfo *icon_info, " fill: ", css_success ? css_success : success," !important;\n" " }\n" " </style>\n" - " <xi:include href=\"", icon_info->filename, "\"/>\n" + " <xi:include href=\"data:text/xml,", escaped_file_data, "\"/>\n" "</svg>", NULL); + g_free (escaped_file_data); g_free (warning); g_free (err); g_free (success); + g_free (width); + g_free (height); stream = g_memory_input_stream_new_from_data (data, -1, g_free); pixbuf = gdk_pixbuf_new_from_stream_at_scale (stream, -- 1.8.1.4 ++++++ gtk3-discriminate-shift-F10-and-F10.patch ++++++ diff -Npur gtk-old/gdk/x11/gdkkeys-x11.c gtk-new/gdk/x11/gdkkeys-x11.c --- gtk-old/gdk/x11/gdkkeys-x11.c 2012-10-11 19:07:47.668537883 +0800 +++ gtk-new/gdk/x11/gdkkeys-x11.c 2012-10-11 19:07:18.032600312 +0800 @@ -1113,6 +1113,8 @@ MyEnhancedXkbTranslateKeyCode(register X int found = 0; for (i=0,entry=type->map;i<type->map_count;i++,entry++) { + if (!entry->active || syms[col+entry->level] == syms[col]) + continue; if (mods_rtrn) { int bits = 0; unsigned long tmp = entry->mods.mask; @@ -1123,14 +1125,22 @@ MyEnhancedXkbTranslateKeyCode(register X } /* We always add one-modifiers levels to mods_rtrn since * they can't wipe out bits in the state unless the - * level would be triggered. But return other modifiers - * + * level would be triggered. But not if they don't change + * the symbol (otherwise we can't discriminate Shift-F10 + * and F10 anymore). And don't add modifiers that are + * explicitly marked as preserved, either. */ - if (bits == 1 || (mods&type->mods.mask)==entry->mods.mask) - *mods_rtrn |= entry->mods.mask; + if (bits == 1 || + (mods&type->mods.mask) == entry->mods.mask) + { + if (type->preserve) + *mods_rtrn |= (entry->mods.mask & ~type->preserve[i].mask); + else + *mods_rtrn |= entry->mods.mask; + } } - if (!found&&entry->active&&((mods&type->mods.mask)==entry->mods.mask)) { + if (!found && ((mods&type->mods.mask) == entry->mods.mask)) { col+= entry->level; if (type->preserve) preserve= type->preserve[i].mask; ++++++ gtk3-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 Index: gtk/gtkmodules.c =================================================================== --- gtk/gtkmodules.c.orig +++ gtk/gtkmodules.c @@ -60,6 +60,7 @@ get_module_path (void) gchar *home_gtk_dir = NULL; gchar *module_path; gchar *default_dir; + gchar *local_dir; static gchar **result = NULL; if (result) @@ -73,25 +74,32 @@ get_module_path (void) exe_prefix = g_getenv ("GTK_EXE_PREFIX"); if (exe_prefix) + { default_dir = g_build_filename (exe_prefix, "lib", "gtk-3.0", NULL); + local_dir = g_build_filename ("/usr/local", "lib", "gtk-3.0", NULL); + } else + { default_dir = g_build_filename (_gtk_get_libdir (), "gtk-3.0", NULL); + local_dir = g_build_filename ("/usr/local", SUSE_HACK_LIB, "gtk-3.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); Index: gtk/Makefile.am =================================================================== --- gtk/Makefile.am.orig +++ gtk/Makefile.am @@ -32,8 +32,10 @@ endif endif endif +suse_hack_lib=`echo $(libdir) | sed 's:.*/::'` AM_CPPFLAGS = \ -DG_LOG_DOMAIN=\"Gtk\" \ + -DSUSE_HACK_LIB=\"$(suse_hack_lib)\" \ -DGTK_LIBDIR=\"$(libdir)\" \ -DGTK_DATADIR=\"$(datadir)\" \ -DGTK_DATA_PREFIX=\"$(prefix)\" \ Index: gtk/Makefile.in =================================================================== --- gtk/Makefile.in.orig +++ gtk/Makefile.in @@ -806,8 +806,10 @@ SUBDIRS = a11y . tests @HAVE_CUPS_FALSE@@HAVE_PAPI_CUPS_FALSE@@HAVE_PAPI_TRUE@GTK_PRINT_BACKENDS = file,papi @HAVE_CUPS_TRUE@@HAVE_PAPI_CUPS_FALSE@GTK_PRINT_BACKENDS = file,cups @HAVE_PAPI_CUPS_TRUE@GTK_PRINT_BACKENDS = file,papi,cups +suse_hack_lib=`echo $(libdir) | sed 's:.*/::'` AM_CPPFLAGS = \ -DG_LOG_DOMAIN=\"Gtk\" \ + -DSUSE_HACK_LIB=\"$(suse_hack_lib)\" \ -DGTK_LIBDIR=\"$(libdir)\" \ -DGTK_DATADIR=\"$(datadir)\" \ -DGTK_DATA_PREFIX=\"$(prefix)\" \ ++++++ macros.gtk3 ++++++ # RPM macros for packages installing a GTK+ IM module # ### # # When a package installs a GTK+ IM module, it should use all # three macros: # # - %gtk3_immodule_requires in the preamble # - %gtk3_immodule_post in %post # - %gtk3_immodule_postun in %postun # ### %gtk3_immodule_requires \ Requires(post): gtk3-tools \ Requires(postun): gtk3-tools # On install, update the cache %gtk3_immodule_post \ %if "%_lib" == "lib64" \ %{_bindir}/gtk-query-immodules-3.0-64 --update-cache \ %else \ %{_bindir}/gtk-query-immodules-3.0 --update-cache \ %endif # On uninstall, update the cache. Note: we ignore upgrades (already # handled in %post of the new package). %gtk3_immodule_postun \ if [ $1 -eq 0 ]; then \ %if "%_lib" == "lib64" \ %{_bindir}/gtk-query-immodules-3.0-64 --update-cache \ %else \ %{_bindir}/gtk-query-immodules-3.0 --update-cache \ %endif \ fi ++++++ settings.ini ++++++ # # settings.ini file allows you to define system wide defaults for # all GTK+ applications. This file is branding specific. # # For complete list of available settings see the Settings chapter # in the GTK+ documentation. # # You most probably want to change the following settings. [Settings] #gtk-theme-name = #gtk-icon-theme-name = #gtk-fallback-icon-theme = gnome -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
