diff --git a/dgl/src/ImageWidgets.cpp b/dgl/src/ImageWidgets.cpp index f19c1894..80221b23 100644 --- 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 index 8f479306..d8014434 100644 --- 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 index c6a07a31..cfb922e1 100644 --- 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