DPF

DISTRHO Plugin Framework
Log | Files | Refs | Submodules | README | LICENSE

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:
Mdgl/src/ImageWidgets.cpp | 8++++++--
Mdgl/src/Window.cpp | 4++++
Mdistrho/src/DistrhoUI.cpp | 6+++++-
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