From a14668d10f590467ca61d669edb855e8163f8ad97f23e760de1101dc5f043e10 Mon Sep 17 00:00:00 2001 From: Alexei Sorokin Date: Fri, 26 Nov 2021 21:00:03 +0000 Subject: [PATCH] - Update to version 12.10.1+bzr20200706.298. OBS-URL: https://build.opensuse.org/package/show/X11:Unity/libappindicator?expand=0&rev=40 --- libappindicator-no-Werror.patch | 13 -- libappindicator.changes | 23 ++ libappindicator.spec | 198 ++++++------------ ...dicator_12.10.1+17.04.20170215.orig.tar.gz | 3 - ...cator_12.10.1+20.10.20200706.1.orig.tar.gz | 3 + only_require_python_for_gtk2.patch | 19 -- xappstatusicon.patch | 133 ++++++------ 7 files changed, 148 insertions(+), 244 deletions(-) delete mode 100644 libappindicator-no-Werror.patch delete mode 100644 libappindicator_12.10.1+17.04.20170215.orig.tar.gz create mode 100644 libappindicator_12.10.1+20.10.20200706.1.orig.tar.gz delete mode 100644 only_require_python_for_gtk2.patch diff --git a/libappindicator-no-Werror.patch b/libappindicator-no-Werror.patch deleted file mode 100644 index fd08fd7..0000000 --- a/libappindicator-no-Werror.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: libappindicator-12.10.1+bzr20170215/src/Makefile.am -=================================================================== ---- libappindicator-12.10.1+bzr20170215.orig/src/Makefile.am -+++ libappindicator-12.10.1+bzr20170215/src/Makefile.am -@@ -76,7 +76,7 @@ libappindicator_la_LDFLAGS = \ - libappindicator_la_CFLAGS = \ - $(LIBRARY_CFLAGS) \ - $(COVERAGE_CFLAGS) \ -- -Wall -Werror -Wno-error=deprecated-declarations \ -+ -Wall -Wno-error=deprecated-declarations \ - -DG_LOG_DOMAIN=\"libappindicator\" - - libappindicator_la_LIBADD = \ diff --git a/libappindicator.changes b/libappindicator.changes index 0ba2474..4dcc233 100644 --- a/libappindicator.changes +++ b/libappindicator.changes @@ -1,3 +1,26 @@ +------------------------------------------------------------------- +Sat Nov 20 19:39:20 UTC 2021 - Alexei Sorokin + +- Update to version 12.10.1+bzr20200706.298 (chages since + 12.10.1+bzr20170215): + * Fix build failures. + * Vendorise indicator-desktop-shortcuts (convenience wrapper + around gdesktopappinfo) from the libindicator project, to drop + the dependency on libindicator as none of the rest of it is + used. + * Don't build with -Werror. + * Drop Python 2 bindings and GObject Introspection for GTK 2 + (lp#1740637). + * app-indicator: Don't pass unexpected parameter to signal + emissions (lp#1867996). + * app-indicator: Only check for item numbers when iterating + array (lp#1867996). + * Fall back to tray icon when StatusNotifierHost is not + available. +- Drop libappindicator-no-Werror.patch: fixed upstream. +- Drop only_require_python_for_gtk2.patch: no longer needed. +- Rebase xappstatusicon.patch. + ------------------------------------------------------------------- Sun Dec 20 16:34:27 UTC 2020 - Callum Farmer diff --git a/libappindicator.spec b/libappindicator.spec index c6a64a8..60ce1c2 100644 --- a/libappindicator.spec +++ b/libappindicator.spec @@ -1,7 +1,7 @@ # -# spec file for package libappindicator +# spec file # -# Copyright (c) 2020 SUSE LLC +# Copyright (c) 2021 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -18,57 +18,43 @@ %global flavor @BUILD_FLAVOR@%{nil} %global sname libappindicator -%if "%{flavor}" == "" -ExclusiveArch: do-not-build -%endif - %if "%{flavor}" == "gtk2" -%bcond_without mono -%bcond_without python %global gtkver 2 +%bcond_without mono %endif %if "%{flavor}" == "gtk3" -%bcond_with mono -%bcond_with python %global psuffix 3 %global gtkver 3 +%bcond_with mono %endif - %define sover 1 -%define _version 12.10.1+17.04.20170215 +%define _version 12.10.1+20.10.20200706.1 Name: libappindicator%{?psuffix} -Version: 12.10.1+bzr20170215 +Version: 12.10.1+bzr20200706.298 Release: 0 Summary: Application indicators library -License: LGPL-2.0-only AND LGPL-3.0-only AND GPL-3.0-only -Group: System/Libraries +License: GPL-3.0-only AND LGPL-2.0-only AND LGPL-3.0-only +Group: System/GUI/Other URL: https://launchpad.net/libappindicator Source: https://launchpad.net/ubuntu/+archive/primary/+files/%{sname}_%{_version}.orig.tar.gz # PATCH-FIX-UPSTREAM 0001_Fix_mono_dir.patch hrvoje.senjan@gmail.com -- Fix location of .pc files. Patch0: 0001_Fix_mono_dir.patch -# PATCH-FIX=UPSTREAM libappindicator-no-Werror.patch dimstar@opensuse.org -- Don't add -Werror on build: the code is aging and does not keep up -Patch2: libappindicator-no-Werror.patch -# PATCH-FIX-OPENSUSE only_require_python_for_gtk2.patch -- Only require Python when building for GTK2 -Patch3: only_require_python_for_gtk2.patch # PATCH-FIX-OPENSUSE make_gtk_doc_optional.patch -- Do not require macros from gtk-doc -Patch4: make_gtk_doc_optional.patch -# PATCH-FIX-UPSTREAM xappstatusicon.patch maurizio.galli@gmail.com -- Original patch by Linux Mint. Include support for XAppStatusIcon by Linux Mint -Patch5: xappstatusicon.patch +Patch1: make_gtk_doc_optional.patch +# PATCH-FIX-OPENSUSE xappstatusicon.patch maurizio.galli@gmail.com -- Original patch by Linux Mint. Include support for XAppStatusIcon by Linux Mint +#Patch2: xappstatusicon.patch BuildRequires: autoconf BuildRequires: automake BuildRequires: fdupes BuildRequires: libtool BuildRequires: pkgconfig -BuildRequires: vala BuildRequires: pkgconfig(gobject-introspection-1.0) -#BuildRequires: pkgconfig(xapp) >= 1.5.0 +%if "%{flavor}" == "" +ExclusiveArch: do-not-build +%endif %if "%{flavor}" == "gtk2" BuildRequires: pkgconfig(dbusmenu-gtk-0.4) BuildRequires: pkgconfig(gtk+-2.0) -BuildRequires: pkgconfig(indicator-0.4) -%if %{with python} -BuildRequires: pkgconfig(pygtk-2.0) -%endif %if %{with mono} BuildRequires: pkgconfig(gapi-2.0) BuildRequires: pkgconfig(gtk-sharp-2.0) @@ -76,9 +62,10 @@ BuildRequires: pkgconfig(mono) BuildRequires: pkgconfig(nunit) %endif %else +BuildRequires: vala BuildRequires: pkgconfig(dbusmenu-gtk3-0.4) BuildRequires: pkgconfig(gtk+-3.0) -BuildRequires: pkgconfig(indicator3-0.4) +#BuildRequires: pkgconfig(xapp) >= 1.5.0 %endif %description @@ -86,17 +73,6 @@ A library to allow applications to export a menu into the Unity Menu bar. Based on KSNI it also works in KDE and will fallback to generic Systray support if none of those are available. -%package -n python2-appindicator -Summary: Python 2 bindings for libappindicator -Group: Development/Languages/Python -Requires: libappindicator%{sover} = %{version} -# python-appindicator was last used in openSUSE Leap 42.2. -Provides: python-appindicator = %{version} -Obsoletes: python-appindicator < %{version} - -%description -n python2-appindicator -This package contains the Python 2 bindings for the appindicator library. - %package -n libappindicator%{sover} Summary: Application indicators library Group: System/Libraries @@ -107,24 +83,8 @@ A library to allow applications to export a menu into the Unity Menu bar. Based on KSNI it also works in KDE and will fallback to generic Systray support if none of those are available. -%package -n typelib-1_0-AppIndicator-0_1 -Summary: Application indicators library -Group: System/Libraries - -%description -n typelib-1_0-AppIndicator-0_1 -This package contains the GObject Introspection bindings for the appindicator -library. - -%package devel -Summary: Development files for libappindicator -Group: Development/Libraries/C and C++ -Requires: libappindicator%{?psuffix:%{psuffix}-}%{sover} = %{version} - -%description devel -This package contains the development files for the appindicator%{?psuffix} library. - %package -n libappindicator3-%{sover} -Summary: Application indicators library for GTK+3 +Summary: Application indicators library for GTK 3 Group: System/Libraries # Fedora and friends compatibility symbol Provides: libappindicator-gtk3 = %{version} @@ -134,7 +94,7 @@ A library to allow applications to export a menu into the Unity Menu bar. Based on KSNI it also works in KDE and will fallback to generic Systray support if none of those are available. -This package contains the GTK+ 3 version of this library. +This package contains the GTK 3 version of the library. %package -n typelib-1_0-AppIndicator3-0_1 Summary: Application indicators library @@ -144,15 +104,6 @@ Group: System/Libraries This package contains the GObject Introspection bindings for the appindicator library. -%package doc -Summary: Documentation for libappindicator and libappindicator3 -Group: Documentation/HTML -BuildArch: noarch - -%description doc -This package contains the documentation for the appindicator and appindicator3 -libraries. - %package -n appindicator-sharp Summary: Application indicators library for C# Group: System/Libraries @@ -171,17 +122,27 @@ Requires: appindicator-sharp = %{version} %description -n appindicator-sharp-devel This package contains the development files for the appindicator-sharp library. +%package devel +Summary: Development files for libappindicator +Group: Development/Libraries/C and C++ +Requires: libappindicator%{?psuffix:%{psuffix}-}%{sover} = %{version} + +%description devel +This package contains the development files for the appindicator%{?psuffix} library. + +%package doc +Summary: Documentation for libappindicator and libappindicator3 +Group: Documentation/HTML +BuildArch: noarch + +%description doc +This package contains the documentation for the appindicator and appindicator3 +libraries. + %prep -%setup -q -c -cp ./src/app-indicator.c ./src/app-indicator-gtk2.c -%patch0 -p1 -%patch2 -p1 -%patch3 -p1 -%patch4 -p1 -#patch5 -p1 +%autosetup -c -p1 %build -%global optflags %{optflags} -fcommon # Create dummy file, to avoid dependency on gtk-doc echo "EXTRA_DIST = " >> gtk-doc.make autoreconf -vfi @@ -190,16 +151,20 @@ export CSC=%{_bindir}/gmcs %endif %configure \ ---disable-static \ ---disable-gtk-doc \ ---disable-mono-test \ ---with-gtk=%{gtkver} -make -j1 V=1 + --disable-static \ + --disable-gtk-doc \ + --disable-mono-test \ + --with-gtk=%{gtkver} +%make_build %install %make_install find %{buildroot} -type f -name "*.la" -delete -print -%fdupes %{buildroot}%{python2_sitearch} + +%if "%{flavor}" == "gtk2" +rm %{buildroot}%{_libdir}/girepository-1.0/AppIndicator3-0.1.typelib +rm %{buildroot}%{_datadir}/gir-1.0/AppIndicator3-0.1.gir +%endif %post -n libappindicator%{sover} -p /sbin/ldconfig @@ -209,43 +174,36 @@ find %{buildroot} -type f -name "*.la" -delete -print %postun -n libappindicator3-%{sover} -p /sbin/ldconfig -%if %{with python} -%files -n python2-appindicator -%license COPYING COPYING.LGPL.2.1 -%doc README -%dir %{python2_sitearch}/appindicator/ -%{python2_sitearch}/appindicator/__init__.py* -%{python2_sitearch}/appindicator/_appindicator.so -%dir %{_datadir}/pygtk/ -%dir %{_datadir}/pygtk/2.0/ -%dir %{_datadir}/pygtk/2.0/defs/ -%{_datadir}/pygtk/2.0/defs/appindicator.defs -%endif - %if "%{flavor}" == "gtk2" %files -n libappindicator%{sover} %license COPYING COPYING.LGPL.2.1 %doc README %{_libdir}/libappindicator.so.%{sover}* -%files -n typelib-1_0-AppIndicator-0_1 +%if %{with mono} +%files -n appindicator-sharp %license COPYING COPYING.LGPL.2.1 %doc README -%{_libdir}/girepository-1.0/AppIndicator-0.1.typelib +%{_libdir}/appindicator-sharp-0.1/ +%{_libexecdir}/mono/appindicator-sharp/ +%{_libexecdir}/mono/gac/appindicator-sharp/ +%{_libexecdir}/mono/gac/policy.0.0.appindicator-sharp/ + +%files -n appindicator-sharp-devel +%license COPYING COPYING.LGPL.2.1 +%doc README +%{_libdir}/pkgconfig/appindicator-sharp-0.1.pc +%endif %files devel %license COPYING COPYING.LGPL.2.1 %doc README -%dir %{_includedir}/libappindicator-0.1/ -%dir %{_includedir}/libappindicator-0.1/libappindicator/ -%{_includedir}/libappindicator-0.1/libappindicator/*.h +%{_includedir}/libappindicator-0.1/ %{_libdir}/libappindicator.so %{_libdir}/pkgconfig/appindicator-0.1.pc -%{_datadir}/gir-1.0/AppIndicator-0.1.gir -%{_datadir}/vala/vapi/appindicator-0.1.vapi -%{_datadir}/vala/vapi/appindicator-0.1.deps %else + %files -n libappindicator3-%{sover} %license COPYING COPYING.LGPL.2.1 %doc README @@ -259,43 +217,11 @@ find %{buildroot} -type f -name "*.la" -delete -print %files -n libappindicator3-devel %license COPYING COPYING.LGPL.2.1 %doc README -%dir %{_includedir}/libappindicator3-0.1/ -%dir %{_includedir}/libappindicator3-0.1/libappindicator/ -%{_includedir}/libappindicator3-0.1/libappindicator/*.h +%{_includedir}/libappindicator3-0.1/ %{_libdir}/libappindicator3.so %{_libdir}/pkgconfig/appindicator3-0.1.pc %{_datadir}/gir-1.0/AppIndicator3-0.1.gir -%{_datadir}/vala/vapi/appindicator3-0.1.vapi -%{_datadir}/vala/vapi/appindicator3-0.1.deps -%endif - -%if %{with mono} -%files -n appindicator-sharp -%license COPYING COPYING.LGPL.2.1 -%doc README -%dir %{_libdir}/appindicator-sharp-0.1/ -%{_libdir}/appindicator-sharp-0.1/appindicator-sharp.dll -%{_libdir}/appindicator-sharp-0.1/appindicator-sharp.dll.config -%{_libdir}/appindicator-sharp-0.1/policy.0.0.appindicator-sharp.config -%{_libdir}/appindicator-sharp-0.1/policy.0.0.appindicator-sharp.dll -%{_libdir}/appindicator-sharp-0.1/policy.0.1.appindicator-sharp.config -%{_libdir}/appindicator-sharp-0.1/policy.0.1.appindicator-sharp.dll -%dir %{_prefix}/lib/mono/appindicator-sharp/ -%{_prefix}/lib/mono/appindicator-sharp/appindicator-sharp.dll -%{_prefix}/lib/mono/appindicator-sharp/policy.0.0.appindicator-sharp.dll -%dir %{_prefix}/lib/mono/gac/appindicator-sharp/ -%dir %{_prefix}/lib/mono/gac/appindicator-sharp/*/ -%{_prefix}/lib/mono/gac/appindicator-sharp/*/appindicator-sharp.dll -%{_prefix}/lib/mono/gac/appindicator-sharp/*/appindicator-sharp.dll.config -%dir %{_prefix}/lib/mono/gac/policy.0.0.appindicator-sharp/ -%dir %{_prefix}/lib/mono/gac/policy.0.0.appindicator-sharp/*/ -%{_prefix}/lib/mono/gac/policy.0.0.appindicator-sharp/*/policy.0.0.appindicator-sharp.config -%{_prefix}/lib/mono/gac/policy.0.0.appindicator-sharp/*/policy.0.0.appindicator-sharp.dll - -%files -n appindicator-sharp-devel -%license COPYING COPYING.LGPL.2.1 -%doc README -%{_libdir}/pkgconfig/appindicator-sharp-0.1.pc +%{_datadir}/vala/vapi/appindicator3-0.1.* %endif %changelog diff --git a/libappindicator_12.10.1+17.04.20170215.orig.tar.gz b/libappindicator_12.10.1+17.04.20170215.orig.tar.gz deleted file mode 100644 index b6c7702..0000000 --- a/libappindicator_12.10.1+17.04.20170215.orig.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1db7df6c5da6b64e7d016ac2adefb0519c8944ef2b32be4c64c55cc849a0577e -size 71240 diff --git a/libappindicator_12.10.1+20.10.20200706.1.orig.tar.gz b/libappindicator_12.10.1+20.10.20200706.1.orig.tar.gz new file mode 100644 index 0000000..4057d70 --- /dev/null +++ b/libappindicator_12.10.1+20.10.20200706.1.orig.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:94e7096a49c400628ecddcafe313d63bf917d95a90ab994930909de724604e0a +size 75204 diff --git a/only_require_python_for_gtk2.patch b/only_require_python_for_gtk2.patch deleted file mode 100644 index 79fcfed..0000000 --- a/only_require_python_for_gtk2.patch +++ /dev/null @@ -1,19 +0,0 @@ ---- a/configure.ac 2019-09-18 20:01:29.244433451 +0200 -+++ b/configure.ac 2019-09-18 20:06:01.479617139 +0200 -@@ -185,6 +185,8 @@ - # Python - ########################### - -+AS_IF([test "x$with_gtk" = x2], -+ [ - PYGTK_REQUIRED=2.14.0 - PYGOBJECT_REQUIRED=0.22 - -@@ -207,6 +209,7 @@ - PYGTK_CODEGEN="$PYTHON `$PKG_CONFIG --variable=codegendir pygtk-2.0`/codegen.py" - AC_SUBST(PYGTK_CODEGEN) - AC_MSG_RESULT($PYGTK_CODEGEN) -+]) - - ######################### - # Check if build tests diff --git a/xappstatusicon.patch b/xappstatusicon.patch index 54f15be..1f06548 100644 --- a/xappstatusicon.patch +++ b/xappstatusicon.patch @@ -1,20 +1,18 @@ -diff -rub a/configure.ac b/configure.ac ---- a/configure.ac 2017-02-15 22:15:21.000000000 +0800 -+++ b/configure.ac 2020-02-13 00:42:12.928497295 +0800 -@@ -58,7 +58,8 @@ +--- a/configure.ac ++++ b/configure.ac +@@ -61,7 +61,8 @@ AS_IF([test "x$with_gtk" = x3], glib-2.0 >= $GLIB_REQUIRED_VERSION + gio-unix-2.0 gio-2.0 >= $GIO_REQUIRED_VERSION - indicator3-0.4 >= $INDICATOR_REQUIRED_VERSION - dbusmenu-gtk3-0.4 >= $DBUSMENUGTK_REQUIRED_VERSION) + dbusmenu-gtk3-0.4 >= $DBUSMENUGTK_REQUIRED_VERSION + xapp >= 1.5.0) AC_DEFINE(HAVE_GTK3, 1, [whether gtk3 is available]) ], [test "x$with_gtk" = x2], -diff -rub a/src/appindicator3-0.1.pc.in b/src/appindicator3-0.1.pc.in ---- a/src/appindicator3-0.1.pc.in 2017-02-15 22:15:21.000000000 +0800 -+++ b/src/appindicator3-0.1.pc.in 2020-02-12 23:39:49.768066612 +0800 -@@ -5,7 +5,7 @@ +--- a/src/appindicator3-0.1.pc.in ++++ b/src/appindicator3-0.1.pc.in +@@ -5,7 +5,7 @@ bindir=@bindir@ includedir=@includedir@ Cflags: -I${includedir}/libappindicator3-0.1 @@ -23,10 +21,9 @@ diff -rub a/src/appindicator3-0.1.pc.in b/src/appindicator3-0.1.pc.in Libs: -L${libdir} -lappindicator3 Name: appindicator3-0.1 -diff -rub a/src/app-indicator.c b/src/app-indicator.c ---- a/src/app-indicator.c 2017-02-15 22:15:36.000000000 +0800 -+++ b/src/app-indicator.c 2020-02-13 01:07:11.066450662 +0800 -@@ -31,6 +31,8 @@ +--- a/src/app-indicator.c ++++ b/src/app-indicator.c +@@ -31,6 +31,8 @@ License version 3 and version 2.1 along #include "config.h" #endif @@ -35,7 +32,7 @@ diff -rub a/src/app-indicator.c b/src/app-indicator.c #include #include #include -@@ -52,6 +54,8 @@ +@@ -52,6 +54,8 @@ License version 3 and version 2.1 along #define PANEL_ICON_SUFFIX "panel" @@ -44,7 +41,7 @@ diff -rub a/src/app-indicator.c b/src/app-indicator.c /** * AppIndicatorPrivate: * All of the private data in an instance of an application indicator. -@@ -90,7 +94,7 @@ +@@ -90,7 +94,7 @@ struct _AppIndicatorPrivate { gchar * att_accessible_desc; guint label_change_idle; @@ -53,7 +50,7 @@ diff -rub a/src/app-indicator.c b/src/app-indicator.c gint fallback_timer; /* Fun stuff */ -@@ -186,14 +190,11 @@ +@@ -186,14 +190,11 @@ static void check_connect (AppIndicator static void register_service_cb (GObject * obj, GAsyncResult * res, gpointer user_data); static void start_fallback_timer (AppIndicator * self, gboolean disable_timeout); static gboolean fallback_timer_expire (gpointer data); @@ -71,7 +68,7 @@ diff -rub a/src/app-indicator.c b/src/app-indicator.c static gchar * append_panel_icon_suffix (const gchar * icon_name); static gchar * get_real_theme_path (AppIndicator * self); static gchar * append_snap_prefix (const gchar * path); -@@ -952,6 +953,9 @@ +@@ -988,6 +989,9 @@ app_indicator_set_property (GObject * ob if (g_strcmp0(oldlabel, priv->label) != 0) { signal_label_change(APP_INDICATOR(object)); @@ -81,7 +78,7 @@ diff -rub a/src/app-indicator.c b/src/app-indicator.c } if (oldlabel != NULL) { -@@ -983,15 +987,16 @@ +@@ -1019,15 +1023,16 @@ app_indicator_set_property (GObject * ob g_warning("Unable to send signal for NewTitle: %s", error->message); g_error_free(error); } @@ -101,7 +98,7 @@ diff -rub a/src/app-indicator.c b/src/app-indicator.c break; } case PROP_LABEL_GUIDE: { -@@ -1521,19 +1526,60 @@ +@@ -1557,19 +1562,60 @@ theme_changed_cb (GtkIconTheme * theme, return; } @@ -166,7 +163,7 @@ diff -rub a/src/app-indicator.c b/src/app-indicator.c g_signal_connect(G_OBJECT(self), APP_INDICATOR_SIGNAL_NEW_STATUS, G_CALLBACK(status_icon_status_wrapper), icon); g_signal_connect(G_OBJECT(self), APP_INDICATOR_SIGNAL_NEW_ICON, -@@ -1541,12 +1587,11 @@ +@@ -1577,12 +1623,11 @@ fallback (AppIndicator * self) g_signal_connect(G_OBJECT(self), APP_INDICATOR_SIGNAL_NEW_ATTENTION_ICON, G_CALLBACK(status_icon_changes), icon); @@ -182,7 +179,7 @@ diff -rub a/src/app-indicator.c b/src/app-indicator.c return icon; } -@@ -1561,49 +1606,22 @@ +@@ -1597,49 +1642,22 @@ status_icon_status_wrapper (AppIndicator /* A wrapper for redirecting the scroll events to the app-indicator from status icon widget. */ @@ -192,6 +189,9 @@ diff -rub a/src/app-indicator.c b/src/app-indicator.c - g_return_val_if_fail(IS_APP_INDICATOR(data), FALSE); - AppIndicator * app = APP_INDICATOR(data); - g_signal_emit(app, signals[SCROLL_EVENT], 0, 1, event->direction); +- +- return TRUE; +-} +// static gboolean +// scroll_event_wrapper (GtkWidget *status_icon, GdkEventScroll *event, gpointer data) +// { @@ -199,9 +199,6 @@ diff -rub a/src/app-indicator.c b/src/app-indicator.c +// AppIndicator * app = APP_INDICATOR(data); +// g_signal_emit(app, signals[SCROLL_EVENT], 0, 1, event->direction); -- return TRUE; --} -- -static gboolean -middle_click_wrapper (GtkWidget *status_icon, GdkEventButton *event, gpointer data) -{ @@ -241,7 +238,7 @@ diff -rub a/src/app-indicator.c b/src/app-indicator.c /* add the icon_theme_path once if needed */ GtkIconTheme *icon_theme = gtk_icon_theme_get_default(); -@@ -1632,17 +1650,17 @@ +@@ -1668,17 +1686,17 @@ status_icon_changes (AppIndicator * self switch (app_indicator_get_status(self)) { case APP_INDICATOR_STATUS_PASSIVE: /* hide first to avoid that the change is visible to the user */ @@ -262,7 +259,7 @@ diff -rub a/src/app-indicator.c b/src/app-indicator.c break; }; -@@ -1650,65 +1668,66 @@ +@@ -1686,16 +1704,45 @@ status_icon_changes (AppIndicator * self gchar *snapped_icon = append_snap_prefix(icon_name); if (g_file_test(icon_name, G_FILE_TEST_EXISTS)) { @@ -279,14 +276,12 @@ diff -rub a/src/app-indicator.c b/src/app-indicator.c + xapp_status_icon_set_icon_name(icon, longname); } else { - gtk_status_icon_set_from_icon_name(icon, icon_name); -- } + if (gtk_icon_theme_has_icon (icon_theme, icon_name)) { + xapp_status_icon_set_icon_name(icon, icon_name); + } else { + gint i; + gchar *icon_path; - -- g_free(longname); ++ + const gchar *extensions[] = { + "png", + "svg", @@ -297,14 +292,11 @@ diff -rub a/src/app-indicator.c b/src/app-indicator.c + + if (g_file_test (icon_path, G_FILE_TEST_EXISTS)) { + break; - } - -- g_free(snapped_icon); ++ } ++ + g_clear_pointer (&icon_path, g_free); - } - -- return; --} ++ } ++ + if (icon_path) { + xapp_status_icon_set_icon_name (icon, icon_path); + g_free (icon_path); @@ -314,7 +306,12 @@ diff -rub a/src/app-indicator.c b/src/app-indicator.c + xapp_status_icon_set_icon_name (icon, FALLBACK_ICON); + } + } -+ } + } + + g_free(longname); +@@ -1707,44 +1754,16 @@ status_icon_changes (AppIndicator * self + return; + } -/* Handles the activate action by the status icon by showing - the menu in a popup. */ @@ -324,9 +321,7 @@ diff -rub a/src/app-indicator.c b/src/app-indicator.c - GtkMenu * menu = app_indicator_get_menu(APP_INDICATOR(data)); - if (menu == NULL) - return; -+ g_free(longname); -+ } - +- - gtk_menu_popup(menu, - NULL, /* Parent Menu */ - NULL, /* Parent item */ @@ -334,12 +329,10 @@ diff -rub a/src/app-indicator.c b/src/app-indicator.c - icon, - 1, /* Button */ - gtk_get_current_event_time()); -+ g_free(snapped_icon); -+ } - - return; - } - +- +- return; +-} +- -/* Handles the right-click action by the status icon by showing - the menu in a popup. */ -static void @@ -365,7 +358,7 @@ diff -rub a/src/app-indicator.c b/src/app-indicator.c g_object_unref(G_OBJECT(status_icon)); return; } -@@ -1760,6 +1779,8 @@ +@@ -1796,6 +1815,8 @@ sec_activate_target_parent_changed(GtkWi g_return_if_fail(IS_APP_INDICATOR(data)); AppIndicator *self = data; self->priv->sec_activate_enabled = widget_is_menu_child(self, menuitem); @@ -374,7 +367,7 @@ diff -rub a/src/app-indicator.c b/src/app-indicator.c } -@@ -2053,6 +2074,7 @@ +@@ -2089,6 +2110,7 @@ app_indicator_set_label (AppIndicator *s PROP_LABEL_GUIDE_S, guide == NULL ? "" : guide, NULL); @@ -382,7 +375,7 @@ diff -rub a/src/app-indicator.c b/src/app-indicator.c return; } -@@ -2224,9 +2246,14 @@ +@@ -2260,9 +2282,14 @@ app_indicator_set_menu (AppIndicator *se priv->menu = GTK_WIDGET (menu); g_object_ref_sink (priv->menu); @@ -397,7 +390,7 @@ diff -rub a/src/app-indicator.c b/src/app-indicator.c check_connect (self); -@@ -2280,6 +2307,7 @@ +@@ -2316,6 +2343,7 @@ app_indicator_set_secondary_activate_tar self); g_object_unref(G_OBJECT(priv->sec_activate_target)); priv->sec_activate_target = NULL; @@ -405,21 +398,17 @@ diff -rub a/src/app-indicator.c b/src/app-indicator.c } if (menuitem == NULL) { -@@ -2288,8 +2316,9 @@ +@@ -2326,6 +2354,7 @@ app_indicator_set_secondary_activate_tar - g_return_if_fail (GTK_IS_WIDGET (menuitem)); - -- priv->sec_activate_target = g_object_ref(G_OBJECT(menuitem)); -+ priv->sec_activate_target = g_object_ref(menuitem); + priv->sec_activate_target = g_object_ref(menuitem); priv->sec_activate_enabled = widget_is_menu_child(self, menuitem); + status_icon_set_has_secondary_activate (priv->status_icon, priv->sec_activate_enabled); g_signal_connect(menuitem, "parent-set", G_CALLBACK(sec_activate_target_parent_changed), self); } -diff -rub a/src/app-indicator.h b/src/app-indicator.h ---- a/src/app-indicator.h 2017-02-15 22:15:21.000000000 +0800 -+++ b/src/app-indicator.h 2020-02-13 01:04:06.226176973 +0800 -@@ -32,6 +32,14 @@ +--- a/src/app-indicator.h ++++ b/src/app-indicator.h +@@ -32,6 +32,14 @@ License version 3 and version 2.1 along #include @@ -434,7 +423,7 @@ diff -rub a/src/app-indicator.h b/src/app-indicator.h G_BEGIN_DECLS /** -@@ -218,10 +226,18 @@ +@@ -218,10 +226,18 @@ struct _AppIndicatorClass { void (*app_indicator_reserved_ats)(void); /* Overridable Functions */ @@ -453,10 +442,9 @@ diff -rub a/src/app-indicator.h b/src/app-indicator.h /* Reserved */ void (*app_indicator_reserved_1)(void); void (*app_indicator_reserved_2)(void); -diff -rub a/src/Makefile.am b/src/Makefile.am ---- a/src/Makefile.am 2017-02-15 22:15:21.000000000 +0800 -+++ b/src/Makefile.am 2020-02-13 00:11:49.889693111 +0800 -@@ -57,7 +57,6 @@ +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -57,7 +57,6 @@ libappindicatorinclude_HEADERS = \ libappindicator_la_SOURCES = \ $(libappindicator_headers) \ app-indicator-enum-types.c \ @@ -464,7 +452,7 @@ diff -rub a/src/Makefile.am b/src/Makefile.am application-service-marshal.c \ dbus-shared.h \ generate-id.h \ -@@ -67,6 +66,14 @@ +@@ -69,6 +68,14 @@ libappindicator_la_SOURCES = \ gen-notification-watcher.xml.h \ gen-notification-watcher.xml.c @@ -479,7 +467,7 @@ diff -rub a/src/Makefile.am b/src/Makefile.am libappindicator_la_LDFLAGS = \ $(COVERAGE_LDFLAGS) \ -version-info 1:0:0 \ -@@ -149,9 +156,15 @@ +@@ -151,9 +158,15 @@ INTROSPECTION_COMPILER_ARGS = --included if HAVE_INTROSPECTION @@ -493,12 +481,11 @@ diff -rub a/src/Makefile.am b/src/Makefile.am + $(addprefix $(srcdir)/,$(libappindicator_headers)) +endif - AppIndicator$(VER)-0.1.gir: libappindicator$(VER).la + AppIndicator3-0.1.gir: libappindicator3.la -diff -rub a/tests/test-libappindicator-fallback-item.c b/tests/test-libappindicator-fallback-item.c ---- a/tests/test-libappindicator-fallback-item.c 2017-02-15 22:15:21.000000000 +0800 -+++ b/tests/test-libappindicator-fallback-item.c 2020-02-13 01:06:01.518347682 +0800 -@@ -31,8 +31,14 @@ +--- a/tests/test-libappindicator-fallback-item.c ++++ b/tests/test-libappindicator-fallback-item.c +@@ -31,8 +31,14 @@ GType test_libappindicator_fallback_item static void test_libappindicator_fallback_item_class_init (TestLibappindicatorFallbackItemClass *klass); static void test_libappindicator_fallback_item_init (TestLibappindicatorFallbackItem *self); @@ -513,7 +500,7 @@ diff -rub a/tests/test-libappindicator-fallback-item.c b/tests/test-libappindica G_DEFINE_TYPE (TestLibappindicatorFallbackItem, test_libappindicator_fallback_item, APP_INDICATOR_TYPE); -@@ -63,6 +69,39 @@ +@@ -63,6 +69,39 @@ enum { gint state = STATE_INIT; @@ -553,7 +540,7 @@ diff -rub a/tests/test-libappindicator-fallback-item.c b/tests/test-libappindica static GtkStatusIcon * fallback (AppIndicator * indicator) { -@@ -94,6 +133,7 @@ +@@ -94,6 +133,7 @@ unfallback (AppIndicator * indicator, Gt } return; }