aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--ChangeLog.ja6
-rw-r--r--NEWS1
-rw-r--r--src/main.c12
4 files changed, 24 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 06c8ebcf..df8c6fb0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2007-12-21
+
+ * src/main.c: wndproc(): win32: call app_will_exit() when WM_ENDSESSION
+ is received (fixes folder tree state not saved etc.).
+
2007-12-20
* src/summaryview.c: summary_show(): fixed beep on folders with one
@@ -193,7 +198,7 @@
2007-07-20
- * libsylph/socket.c: ssl_read(); win32: set errno to EIO to avoid
+ * libsylph/socket.c: ssl_read(): win32: set errno to EIO to avoid
random error message.
* src/send_message.c: send_message_smtp(): ignore errors right after
QUIT (workaround for Gmail SMTP server).
diff --git a/ChangeLog.ja b/ChangeLog.ja
index 0adf0646..4a2093f4 100644
--- a/ChangeLog.ja
+++ b/ChangeLog.ja
@@ -1,3 +1,9 @@
+2007-12-21
+
+ * src/main.c: wndproc(): win32: WM_ENDSESSION を受信したら
+ app_will_exit() を呼び出すようにした(フォルダツリーの状態が保存
+ されない等の修正)。
+
2007-12-20
* src/summaryview.c: summary_show(): GTK+ 2.12 使用時に1メッセージ
diff --git a/NEWS b/NEWS
index 267243ee..113dc4b5 100644
--- a/NEWS
+++ b/NEWS
@@ -8,6 +8,7 @@ Changes of Sylpheed
* The beep on folders with one message when using GTK+ 2.12 was removed.
* Win32: The crash that occurred when trying to display some TIFF files
was fixed.
+ * Win32: Settings are now automatically saved on the shutdown of system.
* 2.4.7 (stable)
diff --git a/src/main.c b/src/main.c
index a29dd44a..c0c35350 100644
--- a/src/main.c
+++ b/src/main.c
@@ -970,7 +970,8 @@ static void set_log_handlers(gboolean enable)
static LRESULT CALLBACK
wndproc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam)
{
- if (message == WM_POWERBROADCAST) {
+ switch (message) {
+ case WM_POWERBROADCAST:
debug_print("WM_POWERBROADCAST received: wparam = %d\n",
wparam);
if (wparam == PBT_APMSUSPEND || wparam == PBT_APMSTANDBY) {
@@ -981,6 +982,15 @@ wndproc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam)
debug_print("resume now\n");
inc_autocheck_timer_set();
}
+ break;
+ case WM_ENDSESSION:
+ if (wparam == 1) {
+ log_print("WM_ENDSESSION received: system is quitting\n");
+ app_will_exit(TRUE);
+ }
+ break;
+ default:
+ break;
}
return DefWindowProc(hwnd, message, wparam, lparam);