commit aa897a365a4d1796f6f456ee88593b972f683017
parent 67f04d3d6aed251ae3af46f7be6e50c33263666d
Author: falkTX <falktx@falktx.com>
Date: Fri, 14 May 2021 22:11:12 +0100
Fix an assertion and invalid window sizes
Signed-off-by: falkTX <falktx@falktx.com>
Diffstat:
3 files changed, 15 insertions(+), 3 deletions(-)
diff --git a/dgl/src/ImageWidgets.cpp b/dgl/src/ImageWidgets.cpp
@@ -31,8 +31,10 @@ ImageAboutWindow::ImageAboutWindow(Window& parentWindow, const Image& image)
{
// TODO set transient
Window::setResizable(false);
- Window::setSize(image.getSize());
Window::setTitle("About");
+
+ if (image.isValid())
+ Window::setSize(image.getSize());
}
ImageAboutWindow::ImageAboutWindow(TopLevelWidget* const parentTopLevelWidget, const Image& image)
@@ -41,8 +43,10 @@ ImageAboutWindow::ImageAboutWindow(TopLevelWidget* const parentTopLevelWidget, c
{
// TODO set transient
Window::setResizable(false);
- Window::setSize(image.getSize());
Window::setTitle("About");
+
+ if (image.isValid())
+ Window::setSize(image.getSize());
}
void ImageAboutWindow::setImage(const Image& image)
diff --git a/dgl/src/Window.cpp b/dgl/src/Window.cpp
@@ -121,6 +121,10 @@ void Window::setSize(const uint width, const uint height)
{
DISTRHO_SAFE_ASSERT_UINT2_RETURN(width > 1 && height > 1, width, height,);
+ // FIXME add default and min props for this
+ if (pData->minWidth == 0 && pData->minHeight == 0)
+ puglSetDefaultSize(pData->view, width, height);
+
puglSetWindowSize(pData->view, width, height);
}
diff --git a/distrho/src/DistrhoUI.cpp b/distrho/src/DistrhoUI.cpp
@@ -196,7 +196,11 @@ void UI::onResize(const ResizeEvent& ev)
if (uiData->resizeInProgress)
return;
- uiData->setSizeCallback(ev.size.getWidth(), ev.size.getHeight());
+ const uint width = ev.size.getWidth();
+ const uint height = ev.size.getHeight();
+
+ pData->window.setSize(width, height);
+ uiData->setSizeCallback(width, height);
}
#endif // !DISTRHO_PLUGIN_HAS_EXTERNAL_UI