]> git.eshelyaron.com Git - emacs.git/commitdiff
2005-09-11 Chris Prince <cprince@gmail.com> (tiny change)
authorJason Rumney <jasonr@gnu.org>
Sun, 11 Sep 2005 20:34:04 +0000 (20:34 +0000)
committerJason Rumney <jasonr@gnu.org>
Sun, 11 Sep 2005 20:34:04 +0000 (20:34 +0000)
* w32term.c (x_bitmap_icon): Load small icons too.

src/ChangeLog
src/w32term.c

index e3fb1e07ab88287db6e74f3e79db92aa35fa9f2a..13f8c409cde5ec148fdb490c4170f8addc05af96 100644 (file)
@@ -1,3 +1,7 @@
+2005-09-11  Chris Prince  <cprince@gmail.com>  (tiny change)
+
+       * w32term.c (x_bitmap_icon): Load small icons too.
+
 2005-09-10  Romain Francoise  <romain@orebokech.com>
 
        * buffer.c (init_buffer): Grow buffer to add directory separator
index 8f52b5178d04f15127af796e2b3445660a6e311a..8a28ac136b8cadc91c4021910d3758fd0e66e094 100644 (file)
@@ -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;
 }