diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | ChangeLog.ja | 17 | ||||
-rw-r--r-- | src/trayicon.c | 15 |
3 files changed, 37 insertions, 0 deletions
@@ -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) |