summaryrefslogtreecommitdiff
path: root/src/windows/platform.c
diff options
context:
space:
mode:
authorAldrik Ramaekers <aldrik.ramaekers@protonmail.com>2020-06-17 17:34:54 +0200
committerAldrik Ramaekers <aldrik.ramaekers@protonmail.com>2020-06-17 17:34:54 +0200
commit2f552b15aa9e0aa80488c00c2190e9a25b578f87 (patch)
tree784db7ef5c91c1f5ff03d7be4aa749b1d25f01c1 /src/windows/platform.c
parentdb24b566ba1be51255b98aafc34a117aaec65f39 (diff)
refactoring
Diffstat (limited to 'src/windows/platform.c')
-rw-r--r--src/windows/platform.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/src/windows/platform.c b/src/windows/platform.c
index a58a152..adbc053 100644
--- a/src/windows/platform.c
+++ b/src/windows/platform.c
@@ -27,6 +27,7 @@ struct t_platform_window
s32 max_height;
// shared window properties
+ bool icon_loaded;
bool do_draw;
backbuffer backbuffer;
s32 width;
@@ -673,6 +674,7 @@ platform_window platform_open_window_ex(char *name, u16 width, u16 height, u16 m
window.backbuffer.buffer = 0;
window.do_draw = true;
window.gl_context = 0;
+ window.icon_loaded = false;
current_window_to_handle = &window;
@@ -741,15 +743,15 @@ platform_window platform_open_window_ex(char *name, u16 width, u16 height, u16 m
platform_setup_backbuffer(&window);
debug_print_elapsed(startup_stamp, "backbuffer");
+ platform_setup_renderer();
+ debug_print_elapsed(startup_stamp, "renderer");
+
ShowWindow(window.window_handle, cmd_show);
if (flags & FLAGS_HIDDEN)
ShowWindow(window.window_handle, SW_HIDE);
else
ShowWindow(window.window_handle, SW_SHOW);
- platform_setup_renderer();
- debug_print_elapsed(startup_stamp, "renderer");
-
window.is_open = true;
TRACKMOUSEEVENT track;
@@ -1320,6 +1322,12 @@ void platform_init(int argc, char **argv)
void platform_set_icon(platform_window *window, image *img)
{
+ if (!img->loaded) return;
+ if (!window->icon_loaded)
+ window->icon_loaded = true;
+ else
+ return;
+
// NOTE only works with bmps currently; remove #if 0 to enable png again..
// we should probably change png color alignment so png and bmp data is the same in memory
BYTE *bmp;