diff options
author | Jason Rumney <jasonr@gnu.org> | 2005-09-11 20:34:04 +0000 |
---|---|---|
committer | Jason Rumney <jasonr@gnu.org> | 2005-09-11 20:34:04 +0000 |
commit | 945a75f8b050d91308a7ee4d7e24d2cb5dce0f28 (patch) | |
tree | 6e42657152a540da4e5cbb35cc21f150b8c65893 /src/w32term.c | |
parent | 7525e76fc5f821eaccaaa7db0af3e5a036424951 (diff) | |
download | emacs-945a75f8b050d91308a7ee4d7e24d2cb5dce0f28.tar.gz |
2005-09-11 Chris Prince <cprince@gmail.com> (tiny change)
* w32term.c (x_bitmap_icon): Load small icons too.
Diffstat (limited to 'src/w32term.c')
-rw-r--r-- | src/w32term.c | 28 |
1 files changed, 21 insertions, 7 deletions
diff --git a/src/w32term.c b/src/w32term.c index 8f52b5178d0..8a28ac136b8 100644 --- a/src/w32term.c +++ b/src/w32term.c @@ -5267,16 +5267,25 @@ x_bitmap_icon (f, icon) struct frame *f; Lisp_Object icon; { - HANDLE hicon; + HANDLE main_icon; + HANDLE small_icon = NULL; if (FRAME_W32_WINDOW (f) == 0) return 1; if (NILP (icon)) - hicon = LoadIcon (hinst, EMACS_CLASS); + main_icon = LoadIcon (hinst, EMACS_CLASS); else if (STRINGP (icon)) - hicon = LoadImage (NULL, (LPCTSTR) SDATA (icon), IMAGE_ICON, 0, 0, - LR_DEFAULTSIZE | LR_LOADFROMFILE); + { + /* Load the main icon from the named file. */ + main_icon = LoadImage (NULL, (LPCTSTR) SDATA (icon), IMAGE_ICON, 0, 0, + LR_DEFAULTSIZE | LR_LOADFROMFILE); + /* Try to load a small icon to go with it. */ + small_icon = LoadImage (NULL, (LPCSTR) SDATA (icon), IMAGE_ICON, + GetSystemMetrics (SM_CXSMICON), + GetSystemMetrics (SM_CYSMICON), + LR_LOADFROMFILE); + } else if (SYMBOLP (icon)) { LPCTSTR name; @@ -5296,16 +5305,21 @@ x_bitmap_icon (f, icon) else return 1; - hicon = LoadIcon (NULL, name); + main_icon = LoadIcon (NULL, name); } else return 1; - if (hicon == NULL) + if (main_icon == NULL) return 1; PostMessage (FRAME_W32_WINDOW (f), WM_SETICON, (WPARAM) ICON_BIG, - (LPARAM) hicon); + (LPARAM) main_icon); + + /* If there is a small icon that goes with it, set that too. */ + if (small_icon) + PostMessage (FRAME_W32_WINDOW (f), WM_SETICON, (WPARAM) ICON_SMALL, + (LPARAM) small_icon); return 0; } |