Fix Win32 icon restoration

This commit is contained in:
Camilla Berglund 2016-03-11 14:41:18 +01:00
parent d2338f3a49
commit 4e4b8727fc
1 changed files with 10 additions and 2 deletions

View File

@ -1032,6 +1032,11 @@ void _glfwPlatformSetWindowIcon(_GLFWwindow* window,
bigIcon = createIcon(bigImage, 0, 0, GLFW_TRUE);
smallIcon = createIcon(smallImage, 0, 0, GLFW_TRUE);
}
else
{
bigIcon = (HICON) GetClassLongPtrW(window->win32.handle, GCLP_HICON);
smallIcon = (HICON) GetClassLongPtrW(window->win32.handle, GCLP_HICONSM);
}
SendMessage(window->win32.handle, WM_SETICON, ICON_BIG, (LPARAM) bigIcon);
SendMessage(window->win32.handle, WM_SETICON, ICON_SMALL, (LPARAM) smallIcon);
@ -1042,8 +1047,11 @@ void _glfwPlatformSetWindowIcon(_GLFWwindow* window,
if (window->win32.smallIcon)
DestroyIcon(window->win32.smallIcon);
window->win32.bigIcon = bigIcon;
window->win32.smallIcon = smallIcon;
if (count)
{
window->win32.bigIcon = bigIcon;
window->win32.smallIcon = smallIcon;
}
}
void _glfwPlatformGetWindowPos(_GLFWwindow* window, int* xpos, int* ypos)