Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package pasystray for openSUSE:Factory 
checked in at 2023-02-19 18:19:30
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/pasystray (Old)
 and      /work/SRC/openSUSE:Factory/.pasystray.new.22824 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "pasystray"

Sun Feb 19 18:19:30 2023 rev:12 rq:1066606 version:0.8.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/pasystray/pasystray.changes      2022-12-06 
14:23:54.569900042 +0100
+++ /work/SRC/openSUSE:Factory/.pasystray.new.22824/pasystray.changes   
2023-02-19 18:19:30.137687029 +0100
@@ -1,0 +2,11 @@
+Sun Feb 19 09:35:39 UTC 2023 - Dirk Müller <dmuel...@suse.com>
+
+- update to 0.8.2:
+  * Fix spurious "item activated: input (null)"
+  * Improve logging in pulseaudio_action.c
+  * Fix defaults being changed and streams moved without user
+    interaction
+  * Fix alt-click/right-click setting defaults in addition to
+    muting 
+
+-------------------------------------------------------------------

Old:
----
  pasystray-0.8.1.tar.gz

New:
----
  pasystray-0.8.2.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ pasystray.spec ++++++
--- /var/tmp/diff_new_pack.jhnWlD/_old  2023-02-19 18:19:30.541689596 +0100
+++ /var/tmp/diff_new_pack.jhnWlD/_new  2023-02-19 18:19:30.545689621 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package pasystray
 #
-# Copyright (c) 2022 SUSE LLC
+# Copyright (c) 2023 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
 
 
 Name:           pasystray
-Version:        0.8.1
+Version:        0.8.2
 Release:        0
 Summary:        PulseAudio system tray
 License:        LGPL-2.1-or-later

++++++ pasystray-0.8.1.tar.gz -> pasystray-0.8.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pasystray-0.8.1/configure.ac 
new/pasystray-0.8.2/configure.ac
--- old/pasystray-0.8.1/configure.ac    2022-11-30 20:27:41.000000000 +0100
+++ new/pasystray-0.8.2/configure.ac    2023-02-10 22:11:00.000000000 +0100
@@ -1,6 +1,6 @@
 #  This file is part of PaSystray
 #
-#  Copyright (C) 2011-2022  Christoph Gysin
+#  Copyright (C) 2011-2023  Christoph Gysin
 #
 #  PaSystray is free software; you can redistribute it and/or modify
 #  it under the terms of the GNU Lesser General Public License as
@@ -19,7 +19,7 @@
 
 AC_PREREQ([2.68])
 
-AC_INIT([pasystray], [0.8.1], [christoph.gy...@gmail.com], [pasystray],
+AC_INIT([pasystray], [0.8.2], [christoph.gy...@gmail.com], [pasystray],
         [http://github.com/christophgysin/pasystray])
 AC_CONFIG_SRCDIR([src/pasystray.c])
 AC_CONFIG_HEADERS([src/config.h])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pasystray-0.8.1/src/menu_info.c 
new/pasystray-0.8.2/src/menu_info.c
--- old/pasystray-0.8.1/src/menu_info.c 2022-11-30 20:27:41.000000000 +0100
+++ new/pasystray-0.8.2/src/menu_info.c 2023-02-10 22:11:00.000000000 +0100
@@ -473,7 +473,7 @@
     g_free(label);
 
     if(active)
-        gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(item->widget), 
TRUE);
+        menu_info_subitem_set_active(item, TRUE);
 }
 
 menu_info_item_t* menu_info_item_get(menu_info_t* mi, uint32_t index)
@@ -505,16 +505,40 @@
     return g_hash_table_find(mi->items, desc_equal, (gpointer)desc);
 }
 
+void menu_info_item_set_active(menu_info_item_t* mii, gboolean is_active)
+{
+    g_signal_handlers_block_by_func(mii->widget, 
G_CALLBACK(menu_info_item_activated), mii);
+    gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(mii->widget), 
is_active);
+    g_signal_handlers_unblock_by_func(mii->widget, 
G_CALLBACK(menu_info_item_activated), mii);
+}
+
+void menu_info_subitem_set_active(menu_info_item_t* mii, gboolean is_active)
+{
+    g_signal_handlers_block_by_func(mii->widget, 
G_CALLBACK(menu_info_subitem_activated), mii);
+    gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(mii->widget), 
is_active);
+    g_signal_handlers_unblock_by_func(mii->widget, 
G_CALLBACK(menu_info_subitem_activated), mii);
+}
+
 void menu_info_item_activated(GtkWidget* item, menu_info_item_t* mii)
 {
-    if (GTK_IS_CHECK_MENU_ITEM(item)
-            && !gtk_check_menu_item_get_active(GTK_MENU_ITEM(item)))
+    if (!GTK_IS_CHECK_MENU_ITEM(item)
+            || !gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(item)))
     {
-        /* Ignore activation of deselected item  */
+        /* Ignore activation of submenus and deselected items */
         return;
     }
 
-    g_debug("[menu_info] subitem activated: %s %s",
+    GdkEvent *current_event = gtk_get_current_event();
+    if (current_event) {
+        GdkEventType type = current_event->type;
+        gdk_event_free(current_event);
+
+        /* Ignore activation if already handled by clicked callback */
+        if (type == GDK_BUTTON_PRESS || type == GDK_BUTTON_RELEASE)
+            return;
+    }
+
+    g_debug("[menu_info] item activated: %s %s",
             menu_info_type_name(mii->menu_info->type),
             mii->name);
 
@@ -597,10 +621,10 @@
 
 void menu_info_subitem_activated(GtkWidget* item, menu_info_item_t* mii) {
 
-    if (GTK_IS_CHECK_MENU_ITEM(item)
-            && !gtk_check_menu_item_get_active(GTK_MENU_ITEM(item)))
+    if (!GTK_IS_CHECK_MENU_ITEM(item)
+            || !gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(item)))
     {
-        /* Ignore activation of deselected item  */
+        /* Ignore activation of submenus and deselected items */
         return;
     }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pasystray-0.8.1/src/menu_info.h 
new/pasystray-0.8.2/src/menu_info.h
--- old/pasystray-0.8.1/src/menu_info.h 2022-11-30 20:27:41.000000000 +0100
+++ new/pasystray-0.8.2/src/menu_info.h 2023-02-10 22:11:00.000000000 +0100
@@ -130,6 +130,8 @@
 menu_info_item_t* menu_info_item_get(menu_info_t* mi, uint32_t index);
 menu_info_item_t* menu_info_item_get_by_name(menu_info_t* mi, const char* 
name);
 menu_info_item_t* menu_info_item_get_by_desc(menu_info_t* mi, const char* 
desc);
+void menu_info_item_set_active(menu_info_item_t* mii, gboolean is_active);
+void menu_info_subitem_set_active(menu_info_item_t* mii, gboolean is_active);
 
 void menu_info_item_activated(GtkWidget* item, menu_info_item_t* mii);
 void menu_info_item_clicked(GtkWidget* item, GdkEventButton* event,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pasystray-0.8.1/src/pulseaudio.c 
new/pasystray-0.8.2/src/pulseaudio.c
--- old/pasystray-0.8.1/src/pulseaudio.c        2022-11-30 20:27:41.000000000 
+0100
+++ new/pasystray-0.8.2/src/pulseaudio.c        2023-02-10 22:11:00.000000000 
+0100
@@ -352,7 +352,7 @@
     menu_info_item_t* item = menu_info_item_get_by_name(mi, new_default);
 
     if(item)
-        gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(item->widget), 
TRUE);
+        menu_info_item_set_active(item, TRUE);
 }
 
 void pulseaudio_sink_init_cb(pa_context* c, const pa_sink_info* i, int 
is_last, void* userdata)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pasystray-0.8.1/src/pulseaudio_action.c 
new/pasystray-0.8.2/src/pulseaudio_action.c
--- old/pasystray-0.8.1/src/pulseaudio_action.c 2022-11-30 20:27:41.000000000 
+0100
+++ new/pasystray-0.8.2/src/pulseaudio_action.c 2023-02-10 22:11:00.000000000 
+0100
@@ -34,6 +34,9 @@
 {
     pa_operation* o = NULL;
 
+    g_debug("[pulseaudio_action] set default %s to %s",
+            menu_info_type_name(mii->menu_info->type), mii->name);
+
     switch(mii->menu_info->type)
     {
         case MENU_SERVER:
@@ -133,7 +136,7 @@
 
 void pulseaudio_rename(menu_info_item_t* mii, const char* name)
 {
-    g_debug("rename %s '%s' to '%s'",
+    g_debug("[pulseaudio_action] rename %s '%s' to '%s'",
             menu_info_type_name(mii->menu_info->type), mii->desc, name);
 
     char *key = g_markup_printf_escaped("%s:%s", 
menu_info_type_name(mii->menu_info->type), mii->name);
@@ -157,7 +160,7 @@
 
 void pulseaudio_volume(menu_info_item_t* mii, int inc)
 {
-    g_debug("pulseaudio_volume(%s, %i)", mii->name, inc);
+    g_debug("[pulseaudio_action] pulseaudio_volume(%s, %i)", mii->name, inc);
 
     /* increment/decrement in 2% steps */
     pa_cvolume* volume;
@@ -291,7 +294,7 @@
 
 void pulseaudio_toggle_mute(menu_info_item_t* mii)
 {
-    g_debug("pulseaudio_toggle_mute(%s)", mii->name);
+    g_debug("[pulseaudio_action] pulseaudio_toggle_mute(%s)", mii->name);
 
     pa_operation* o = NULL;
 

Reply via email to