Mercurial > emacs
changeset 65444:14dd537e7ba9
2005-09-11 Chris Prince <cprince@gmail.com> (tiny change)
* w32term.c (x_bitmap_icon): Load small icons too.
author | Jason Rumney <jasonr@gnu.org> |
---|---|
date | Sun, 11 Sep 2005 20:32:10 +0000 |
parents | 13257ea43dbf |
children | e4fa4fb219eb |
files | src/w32term.c |
diffstat | 1 files changed, 21 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/src/w32term.c Sat Sep 10 22:56:00 2005 +0000 +++ b/src/w32term.c Sun Sep 11 20:32:10 2005 +0000 @@ -5267,16 +5267,25 @@ 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 @@ 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; }