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

Crash by using QQuickWidget #150

Closed
amuralev opened this issue Jan 27, 2021 · 12 comments
Closed

Crash by using QQuickWidget #150

amuralev opened this issue Jan 27, 2021 · 12 comments
Assignees

Comments

@amuralev
Copy link

Bug is reproduced on latest release and master brahch:

  1. Create FLOAT KDDockWidget with QQuickWidget (for example "kddockwidgets_minimal_example");
  2. Try dock to MainWindow

image

kdw_1_2_quickwidget_bug

Environment:

  1. Windows 10 (64bit);
  2. Qt 5.15.1 MSVC 2019 64bit;
  3. KDDockWidgets: master and 1.2.
@iamsergio
Copy link
Contributor

Can't repro on Linux.
Can you find out if it's not a Qt bug ? Assert seems to be in Qt, but can't the whole backtrace

@amuralev
Copy link
Author

According to our observations, the bug is NOT reproduced when using KDDW 1.1.1 (release)
kdw_1_1_quickwidget

Environment:

Windows 10 (64bit);
Qt 5.15.1 MSVC 2019 64bit;
KDDockWidgets: version 1.1.1.

@amuralev
Copy link
Author

amuralev commented Jan 29, 2021

Unfortunately, the bug is reproduced when using a KDDW 1.1.1, but in a different form (can reproduced by sample and instructions at GIF-animation)

When using one monitor:
kdw_1_1_quickwidget_bug

When move mainwindow + docks to secondary monitor than try do anything (for exmaple operations dock/undock/tabify) happens crash:

image

Also we have problems with OpenGL-context with KDDW 1.1.1 + QOpenGLWidget + OpenSceneGraph.

@amuralev
Copy link
Author

amuralev commented Jan 29, 2021

Patch for example (QQuickWidget):
patch_sample_QQuickWidget.txt

Similar behavior is observed when using QOpenGLWidget.

Patch for example (QOpenGLWidget):
patch_sample_QOpenGLWidget.txt

@iamsergio
Copy link
Contributor

iamsergio commented Jan 30, 2021

can you do a git diff > patch.diff at the root of the repo and attach here
The first patch seems to be missing changes to CMakeLists.txt

@iamsergio
Copy link
Contributor

main.qml is missing ? Might be easier to commit to a fork, then I can check it out.

Trying the QOpenGLWidget but can't repro so far, will try with another GPU

@iamsergio iamsergio self-assigned this Jan 30, 2021
@amuralev
Copy link
Author

patch.txt

Steps:

  1. Show "DockWidget Add test application for generating random dockwidget for testing potential bugs #1" from menu;
  2. Undock "DockWidget Add test application for generating random dockwidget for testing potential bugs #1" by mouse drag;
  3. Show "DockWidget Remove duplicate logging_p.h #2" from menu;
  4. Undock "DockWidget Remove duplicate logging_p.h #2" by mouse drag;

See to output and painting "DockWidget #2".

To reproduced crash:

  1. Move MainWindow to secondary screen;
  2. Dock "DockWidget Add test application for generating random dockwidget for testing potential bugs #1" and "DockWidget Remove duplicate logging_p.h #2" to "DockWidget #0"
  3. Try undock "DockWidget Add test application for generating random dockwidget for testing potential bugs #1" or "DockWidget Remove duplicate logging_p.h #2"

@iamsergio
Copy link
Contributor

Doesn't seem to apply

git apply ~/Downloads/patch.txt
C:/Users/serj/Downloads/patch.txt:64: trailing whitespace.
    else
error: examples/dockwidgets/main.qml: No such file or directory
error: patch failed: examples/dockwidgets/resources_example.qrc:6
error: examples/dockwidgets/resources_example.qrc: patch does not apply

tried master, 1.2 and 1.1

looks like the contents of the patch is for an older KDDW, can you pull the latest master and get a new diff

thanks

@amuralev
Copy link
Author

Sorry, can you try again?
patch.txt

@amuralev
Copy link
Author

amuralev commented Feb 1, 2021

Thanks for the fix!

@iamsergio
Copy link
Contributor

Does it fix the QOpenGLWidget case too ?

@amuralev
Copy link
Author

amuralev commented Feb 1, 2021

it seems that fix "cover" QOpenGLWidget-case (at least there is no crash and "bad"-output).

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

2 participants