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

Don't create a BApplication if one already exists #27

Open
jmairboeck opened this issue Dec 10, 2022 · 2 comments
Open

Don't create a BApplication if one already exists #27

jmairboeck opened this issue Dec 10, 2022 · 2 comments

Comments

@jmairboeck
Copy link

This came up when testing my new port of OpenCASCADE (no pull request created yet) with Xlibe.

When running some tests using Qt5 based tools, they crash when trying to create the Qt5 BApplication because Xlibe already created one before.

@threedeyes
Copy link
Owner

threedeyes commented Dec 10, 2022

It can't be solved. An application cannot have more than one instance of BApplication.
Either xlibe or Qt - just one of them.

jmairboeck added a commit to jmairboeck/haikuports that referenced this issue Dec 10, 2022
 * completely rewrite the recipe and the patchset
 * add all supported libraries and optional dependencies that are available
 * tools (command line only) and samples are provided as subpackages
 * Tk (and therefore the GUI for DRAW) is not enabled because it hangs on my system
 * Xlibe is used to provide a window system
   * using both Tk and Xlibe at once is currently not possible due to haikuports#7501
   * the patchset contains a commit with a stub allowing at least to build without Xlibe, but there is no proper Haiku implementation of it yet. That code path is currently not used.
 * EGL is used as OpenGL API, but it doesn't work currently. It displays the following error message:
    ```
    Error: EGL does not provide compatible configurations
    ```

Test report:
 * there are 21000 test cases, so the tests take a while to run
 * most tests are skipped due to missing test data (am I missing something how to invoke the tests?)
 * the tests involving the Inspector crash into the Debugger because both Xlibe and Qt5 try to create a BApplication when running the Inspector from DRAW (see threedeyes/qthaikuplugins#27)
 * some tests hang, pegging one core (although they should have a timeout apparently), they must be aborted manually by killing the secondary DRAWEXE
 * the detailed test results are created in $sourceDir/build/results, that folder has 168 MiB zipped
@waddlesplash
Copy link
Contributor

Xlibe can run even if a BApplication already exists. SDL1.2 can as well. SDL2 can't yet, but there's a patch to make this possible. Would it be possible to do the same in Qt?

Begasus pushed a commit to haikuports/haikuports that referenced this issue Dec 26, 2022
* opencascade: switch to the official version (version 7.7.0)

 * completely rewrite the recipe and the patchset
 * add all supported libraries and optional dependencies that are available
 * tools (command line only) and samples are provided as subpackages
 * Tk (and therefore the GUI for DRAW) is not enabled because it hangs on my system
 * Xlibe is used to provide a window system
   * using both Tk and Xlibe at once is currently not possible due to #7501
   * the patchset contains a commit with a stub allowing at least to build without Xlibe, but there is no proper Haiku implementation of it yet. That code path is currently not used.
 * EGL is used as OpenGL API, but it doesn't work currently. It displays the following error message:
    ```
    Error: EGL does not provide compatible configurations
    ```

Test report:
 * there are 21000 test cases, so the tests take a while to run
 * most tests are skipped due to missing test data (am I missing something how to invoke the tests?)
 * the tests involving the Inspector crash into the Debugger because both Xlibe and Qt5 try to create a BApplication when running the Inspector from DRAW (see threedeyes/qthaikuplugins#27)
 * some tests hang, pegging one core (although they should have a timeout apparently), they must be aborted manually by killing the secondary DRAWEXE
 * the detailed test results are created in $sourceDir/build/results, that folder has 168 MiB zipped

* opencascade: add patch from Liguros to fix finding Qt5 on x86

* opencascade: disable OpenGL, reorganize the patchset a bit

Tools and samples which tried to use OpenGL before will now crash because there is no 3D viewer driver implementation.
win8linux pushed a commit to win8linux/haikuports that referenced this issue Apr 14, 2023
…ts#7538)

* opencascade: switch to the official version (version 7.7.0)

 * completely rewrite the recipe and the patchset
 * add all supported libraries and optional dependencies that are available
 * tools (command line only) and samples are provided as subpackages
 * Tk (and therefore the GUI for DRAW) is not enabled because it hangs on my system
 * Xlibe is used to provide a window system
   * using both Tk and Xlibe at once is currently not possible due to haikuports#7501
   * the patchset contains a commit with a stub allowing at least to build without Xlibe, but there is no proper Haiku implementation of it yet. That code path is currently not used.
 * EGL is used as OpenGL API, but it doesn't work currently. It displays the following error message:
    ```
    Error: EGL does not provide compatible configurations
    ```

Test report:
 * there are 21000 test cases, so the tests take a while to run
 * most tests are skipped due to missing test data (am I missing something how to invoke the tests?)
 * the tests involving the Inspector crash into the Debugger because both Xlibe and Qt5 try to create a BApplication when running the Inspector from DRAW (see threedeyes/qthaikuplugins#27)
 * some tests hang, pegging one core (although they should have a timeout apparently), they must be aborted manually by killing the secondary DRAWEXE
 * the detailed test results are created in $sourceDir/build/results, that folder has 168 MiB zipped

* opencascade: add patch from Liguros to fix finding Qt5 on x86

* opencascade: disable OpenGL, reorganize the patchset a bit

Tools and samples which tried to use OpenGL before will now crash because there is no 3D viewer driver implementation.
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

3 participants