aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2005-10-17 06:59:31 +0000
committerhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2005-10-17 06:59:31 +0000
commit2d4514560cab30e8d856eadfaa16bff7fb6ea6b3 (patch)
tree4d83129c465f681f783ab62b18c2f6b5efa60370
parent5c0a3497e9d19f1fc1b26c1ec335d82b1f3ac2f1 (diff)
handle destroy event properly.
git-svn-id: svn://sylpheed.sraoss.jp/sylpheed/trunk@653 ee746299-78ed-0310-b773-934348b2243d
-rw-r--r--ChangeLog5
-rw-r--r--ChangeLog.ja17
-rw-r--r--src/trayicon.c15
3 files changed, 37 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index fea36eca..389b3fe7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2005-10-17
+
+ * src/trayicon.c: handle destroy event properly (thanks to Victor
+ Ananajevsky).
+
2005-10-16
* libsylph/utils.c: open_uri(): win32: use ShellExecute() to open URI.
diff --git a/ChangeLog.ja b/ChangeLog.ja
index 48272ffa..c47f7b0e 100644
--- a/ChangeLog.ja
+++ b/ChangeLog.ja
@@ -1,3 +1,20 @@
+2005-10-17
+
+ * src/trayicon.c: destroy イベントを正しく処理するようにした(Victor
+ Ananajevsky さん thanks)。
+
+2005-10-16
+
+ * libsylph/utils.c: open_uri(): win32: URI を ShellExecute() を使って
+ 開くようにした。
+ libsylph/prefs_common.c
+ src/prefs_common_dialog.c: win32: デフォルトの URI コマンドを空に
+ した(既定のブラウザを使用することになる)。
+
+2005-10-16
+
+ * src/mimeview.c: win32: 実行ファイルの起動を抑止。
+
2005-10-14
* src/main.c: win32: CreateMutex() を使用して二重起動を防止。
diff --git a/src/trayicon.c b/src/trayicon.c
index 02f8fb2b..53118fc9 100644
--- a/src/trayicon.c
+++ b/src/trayicon.c
@@ -45,10 +45,14 @@ static GtkTooltips *trayicon_tip;
static void trayicon_button_pressed (GtkWidget *widget,
GdkEventButton *event,
gpointer data);
+static void trayicon_destroy_cb (GtkWidget *widget,
+ gpointer data);
GtkWidget *trayicon_create(MainWindow *mainwin)
{
trayicon = GTK_WIDGET(egg_tray_icon_new("Sylpheed"));
+ g_signal_connect(G_OBJECT(trayicon), "destroy",
+ G_CALLBACK(trayicon_destroy_cb), mainwin);
eventbox = gtk_event_box_new();
gtk_container_add(GTK_CONTAINER(trayicon), eventbox);
@@ -92,6 +96,17 @@ static void trayicon_button_pressed(GtkWidget *widget, GdkEventButton *event,
gtk_window_present(GTK_WINDOW(mainwin->window));
}
+static gboolean trayicon_restore(gpointer data)
+{
+ trayicon_create((MainWindow *)data);
+ return FALSE;
+}
+
+static void trayicon_destroy_cb(GtkWidget *widget, gpointer data)
+{
+ g_idle_add(trayicon_restore, data);
+}
+
#else /* GDK_WINDOWING_X11 */
GtkWidget *trayicon_create(MainWindow *mainwin)