aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2020-12-01 19:18:23 +0100
committerDavid Robillard <d@drobilla.net>2020-12-01 19:18:23 +0100
commit9cb91cde90fc7e54e611805170058efebe32b5a7 (patch)
treea0fb0574e673cba0a06e76395cc53b9218f3c35a
parent8f5d0ac919a95958636723501c6ea5f1d4cc0829 (diff)
downloadpugl-9cb91cde90fc7e54e611805170058efebe32b5a7.tar.gz
pugl-9cb91cde90fc7e54e611805170058efebe32b5a7.tar.bz2
pugl-9cb91cde90fc7e54e611805170058efebe32b5a7.zip
Make puglShow() realize automatically on Windows and MacOS
-rw-r--r--src/mac.m7
-rw-r--r--src/win.c7
2 files changed, 14 insertions, 0 deletions
diff --git a/src/mac.m b/src/mac.m
index bb4bf45..adac2a5 100644
--- a/src/mac.m
+++ b/src/mac.m
@@ -1004,6 +1004,13 @@ puglRealize(PuglView* view)
PuglStatus
puglShow(PuglView* view)
{
+ if (!view->impl->wrapperView) {
+ const PuglStatus st = puglRealize(view);
+ if (st) {
+ return st;
+ }
+ }
+
if (![view->impl->window isVisible]) {
[view->impl->window setIsVisible:YES];
[view->impl->drawView setNeedsDisplay: YES];
diff --git a/src/win.c b/src/win.c
index 5cfd89a..ff296c2 100644
--- a/src/win.c
+++ b/src/win.c
@@ -217,6 +217,13 @@ puglShow(PuglView* view)
{
PuglInternals* impl = view->impl;
+ if (!impl->hwnd) {
+ const PuglStatus st = puglRealize(view);
+ if (st) {
+ return st;
+ }
+ }
+
ShowWindow(impl->hwnd, SW_SHOWNORMAL);
SetFocus(impl->hwnd);
return PUGL_SUCCESS;