diff options
author | David Robillard <d@drobilla.net> | 2021-05-03 14:45:51 -0400 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2021-05-03 18:30:39 -0400 |
commit | 1b5cc87acd7cd6e12baab2f5b550b0d69f1361d5 (patch) | |
tree | ca89ab10280f5ba9808bddd6766eba3e725fdf5a /src/mac.m | |
parent | 66e589325d13e4efc195a80125805df4b0996a97 (diff) | |
download | pugl-1b5cc87acd7cd6e12baab2f5b550b0d69f1361d5.tar.gz pugl-1b5cc87acd7cd6e12baab2f5b550b0d69f1361d5.tar.bz2 pugl-1b5cc87acd7cd6e12baab2f5b550b0d69f1361d5.zip |
Fix crash when freeing a view that has not been configured
Diffstat (limited to 'src/mac.m')
-rw-r--r-- | src/mac.m | 14 |
1 files changed, 11 insertions, 3 deletions
@@ -1084,15 +1084,23 @@ puglFreeViewInternals(PuglView* view) } if (view->impl) { - [view->impl->wrapperView removeFromSuperview]; - view->impl->wrapperView->puglview = NULL; + if (view->impl->wrapperView) { + [view->impl->wrapperView removeFromSuperview]; + view->impl->wrapperView->puglview = NULL; + } + if (view->impl->window) { [view->impl->window close]; } - [view->impl->wrapperView release]; + + if (view->impl->wrapperView) { + [view->impl->wrapperView release]; + } + if (view->impl->window) { [view->impl->window release]; } + free(view->impl); } } |