Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug]: New isShowing() function in juce_Windowing_linux.cpp causing numerous issues in Linux builds for 8.0.2 #1430

Open
1 task done
astriiddev opened this issue Sep 28, 2024 · 0 comments

Comments

@astriiddev
Copy link

Detailed steps on how to reproduce the bug

The new isShowing() function that was added to juce_Windowing_linux.cpp in 8.0.2 is incorrect. Currently, it's

bool isShowing() const override
{
    return XWindowSystem::getInstance()->isMinimised (windowH);
}

An even further look into XWindowSystem::isMinimised() shows that it's just a wrapper for XWindowSystem::isHidden().
This means that isShowing() returns true if the window is hidden and return false if the window is showing!

This is causing numerous issues, from Projucer and AudioPluginHost barely working and frequently crashing in 8.0.2 to plugin builds not being able to grab window focus or close out of with the JUCE titlebar's close button.

Simple solution is to just change it to

bool isShowing() const override
{
    return !XWindowSystem::getInstance()->isMinimised (windowH);
}

This at least fixes a good chunk of the bugs that 8.0.2 has bestowed upon Linux builds

What is the expected behaviour?

isShowing() should return true when window is showing and return false when window is not showing

Operating systems

Linux

What versions of the operating systems?

Ubuntu 24.04.1 LTS/GNOME 46.0

Architectures

64-bit

Stacktrace

No response

Plug-in formats (if applicable)

No response

Plug-in host applications (DAWs) (if applicable)

No response

Testing on the develop branch

The bug is present on the develop branch

Code of Conduct

  • I agree to follow the Code of Conduct
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant