[Goodies-commits] r5363 - in xfce4-mailwatch-plugin/trunk: . panel-plugin
Brian Tarricone
kelnos at xfce.org
Sat Sep 6 07:42:21 CEST 2008
Author: kelnos
Date: 2008-09-06 05:42:21 +0000 (Sat, 06 Sep 2008)
New Revision: 5363
Modified:
xfce4-mailwatch-plugin/trunk/configure.ac.in
xfce4-mailwatch-plugin/trunk/panel-plugin/mailwatch-plugin.c
Log:
force mailbox update on SIGUSR2
Modified: xfce4-mailwatch-plugin/trunk/configure.ac.in
===================================================================
--- xfce4-mailwatch-plugin/trunk/configure.ac.in 2008-09-06 04:26:40 UTC (rev 5362)
+++ xfce4-mailwatch-plugin/trunk/configure.ac.in 2008-09-06 05:42:21 UTC (rev 5363)
@@ -66,6 +66,15 @@
fi
AM_CONDITIONAL([BUILD_42_PANEL_PLUGIN], [test "x$have_44_panel" != "xyes"])
+dnl see if we have a new enough libxfce4util for the posix signal handler stuff
+saved_CFLAGS="$CFLAGS"
+saved_LIBS="$LIBS"
+CFLAGS="$CFLAGS $LIBXFCE4UTIL_CFLAGS"
+LIBS="$LIBS $LIBXFCE4UTIL_LIBS"
+AC_CHECK_FUNCS([xfce_posix_signal_handler_init])
+CFLAGS="$saved_CFLAGS"
+LIBS="$saved_LIBS"
+
dnl check for gnutls support
XDT_CHECK_OPTIONAL_PACKAGE([GNUTLS], [gnutls], [1.2.0], [ssl],
[gnutls support for secure IMAP/POP3 connections], [yes])
Modified: xfce4-mailwatch-plugin/trunk/panel-plugin/mailwatch-plugin.c
===================================================================
--- xfce4-mailwatch-plugin/trunk/panel-plugin/mailwatch-plugin.c 2008-09-06 04:26:40 UTC (rev 5362)
+++ xfce4-mailwatch-plugin/trunk/panel-plugin/mailwatch-plugin.c 2008-09-06 05:42:21 UTC (rev 5363)
@@ -21,6 +21,10 @@
#include <config.h>
#endif
+#if defined(HAVE_SIGNAL_H) && defined(HAVE_XFCE_POSIX_SIGNAL_HANDLER_INIT)
+#include <signal.h>
+#endif
+
#include <string.h>
#include <stdlib.h>
#include <gtk/gtk.h>
@@ -979,6 +983,10 @@
{
gint i;
+#ifdef HAVE_XFCE_POSIX_SIGNAL_HANDLER_INIT
+ xfce_posix_signal_handler_restore_handler(SIGUSR2);
+#endif
+
if(mwp->about_dialog)
gtk_widget_destroy(mwp->about_dialog);
@@ -1051,7 +1059,17 @@
g_object_unref(G_OBJECT(icon));
}
+#ifdef HAVE_XFCE_POSIX_SIGNAL_HANDLER_INIT
static void
+mailwatch_handle_sigusr2(gint signal,
+ gpointer user_data)
+{
+ XfceMailwatchPlugin *mwp = user_data;
+ xfce_mailwatch_force_update(mwp->mailwatch);
+}
+#endif
+
+static void
mailwatch_construct(XfcePanelPlugin *plugin)
{
XfceMailwatchPlugin *mwp;
@@ -1064,6 +1082,21 @@
mailwatch_read_config(plugin, mwp);
+#ifdef HAVE_XFCE_POSIX_SIGNAL_HANDLER_INIT
+ if(xfce_posix_signal_handler_init(NULL)) {
+ GError *error = NULL;
+
+ if(!xfce_posix_signal_handler_set_handler(SIGUSR2,
+ mailwatch_handle_sigusr2,
+ mwp, &error))
+ {
+ g_warning("Failed to set SIGUSR2 handler: %s", error->message);
+ g_error_free(error);
+ }
+ } else
+ g_warning("failed to init POSIX signal handler helper");
+#endif
+
g_signal_connect(plugin, "free-data",
G_CALLBACK(mailwatch_free), mwp);
More information about the Goodies-commits
mailing list