[ekiga/gnome-2-26] [windows] Add workarounds for various icon problems in task bar



commit 1a48e5132d72e3147b8c62492bd44bc8ea85b2d0
Author: Michael Rickmann <mrickma gwdg de>
Date:   Tue May 11 13:19:48 2010 +0200

    [windows] Add workarounds for various icon problems in task bar

 win32/diff/ekiga_sticonmenu2.patch |   52 ++++++++++++++++++++++++++++++++++++
 win32/diff/ekiga_sticonmenu3.patch |   22 +++++++++++++++
 2 files changed, 74 insertions(+), 0 deletions(-)
---
diff --git a/win32/diff/ekiga_sticonmenu2.patch b/win32/diff/ekiga_sticonmenu2.patch
new file mode 100644
index 0000000..4706629
--- /dev/null
+++ b/win32/diff/ekiga_sticonmenu2.patch
@@ -0,0 +1,52 @@
+diff -ur ekiga.orig/src/gui/statusicon.cpp ekiga/src/gui/statusicon.cpp
+--- ekiga.orig/src/gui/statusicon.cpp	2009-09-22 15:39:44.000000000 +0200
++++ ekiga/src/gui/statusicon.cpp	2009-09-22 15:50:16.000000000 +0200
+@@ -92,6 +92,13 @@
+                     guint activate_time,
+                     gpointer data);
+ 
++#ifdef WIN32
++static gint
++hide_popup_menu_cb (GtkWidget *widget,
++                    GdkEventButton *event,
++                    gpointer data);
++#endif
++
+ static void
+ statusicon_activated_cb (GtkStatusIcon *icon,
+                          gpointer data);
+@@ -254,6 +261,22 @@
+                   button, activate_time);
+ }
+ 
++#ifdef WIN32
++static gint
++hide_popup_menu_cb (G_GNUC_UNUSED GtkWidget *widget,
++                    G_GNUC_UNUSED GdkEventButton *event,
++                    gpointer data)
++{
++  GtkWidget *popup = GTK_WIDGET (data);
++
++  if (GTK_WIDGET_VISIBLE (popup)) {
++    gtk_menu_popdown (GTK_MENU (popup));
++    return TRUE;
++  }
++  else
++    return FALSE;
++}
++#endif
+ 
+ static void
+ statusicon_activated_cb (G_GNUC_UNUSED GtkStatusIcon *icon,
+@@ -567,6 +590,11 @@
+   g_signal_connect (self, "popup-menu",
+                     G_CALLBACK (show_popup_menu_cb), self->priv->popup_menu);
+ 
++#ifdef WIN32
++  g_signal_connect (self, "button_press_event",
++                    G_CALLBACK (hide_popup_menu_cb), self->priv->popup_menu);
++#endif
++
+   g_signal_connect (self, "activate",
+                     G_CALLBACK (statusicon_activated_cb), self);
+ 
diff --git a/win32/diff/ekiga_sticonmenu3.patch b/win32/diff/ekiga_sticonmenu3.patch
new file mode 100644
index 0000000..4888085
--- /dev/null
+++ b/win32/diff/ekiga_sticonmenu3.patch
@@ -0,0 +1,22 @@
+# see http://www.mail-archive.com/ekiga-devel-list gnome org/msg03181.html
+# written by Michael Rickmann
+
+diff -ur ekiga.orig/src/gui/statusicon.cpp ekiga/src/gui/statusicon.cpp
+--- ekiga.orig/src/gui/statusicon.cpp	2009-09-22 17:15:05.000000000 +0200
++++ ekiga/src/gui/statusicon.cpp	2009-09-22 17:16:17.000000000 +0200
+@@ -296,11 +296,14 @@
+       gtk_widget_show (window);
+     }
+     else {
+-
++#ifndef WIN32
+       if (gtk_window_has_toplevel_focus (GTK_WINDOW (window)))
++#endif
+         gtk_widget_hide (window);
++#ifndef WIN32
+       else
+         gtk_window_present (GTK_WINDOW (window));
++#endif
+     }
+   }
+   else {



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]