| Summary: | LabPlot crashes when trying to drag a folder from one project to another project | ||
|---|---|---|---|
| Product: | [Applications] LabPlot2 | Reporter: | Colin Gauvin <colin> |
| Component: | general | Assignee: | Alexander Semke <alexander.semke> |
| Status: | RESOLVED FIXED | ||
| Severity: | crash | Keywords: | drkonqi |
| Priority: | NOR | ||
| Version First Reported In: | 2.8.0 | ||
| Target Milestone: | --- | ||
| Platform: | openSUSE | ||
| OS: | Linux | ||
| Latest Commit: | https://invent.kde.org/education/labplot/commit/30c06bad1b3000069ff76a8ae7789662793d36de | Version Fixed/Implemented In: | 2.8.1 |
| Sentry Crash Report: | |||
|
Description
Colin Gauvin
2020-11-04 19:20:37 UTC
Thanks for reporting it. We'll fix it 2.8.1 patch release that will come soon. Please note, moving/copying objects across the the different project window is a nice feature but this is not implemented/supported yet. So, the fix will avoid the crash but won't make this drag&drop across two different windows possible. Git commit 30c06bad1b3000069ff76a8ae7789662793d36de by Alexander Semke. Committed on 07/11/2020 at 09:58. Pushed by asemke into branch 'master'. Don't crash when doing drag&drop between different main windows. When starting the drag, we serialize the pointers of the selected/dragged objects to the mime data. When deserializing this data in the drop event in a different main window this results in invalid pointers and leads to a crash. To avoid this, we also serialize and deserialize the point of the pjoject object and add additional check for it - if the project pointers in the dropped data differ from the current project we don't accept the drop. The actual feature itself - drag&drop between different main windows - is interesting and should be supported in futur but will required a totally different serialization/deserialization of the objects. FIXED-IN: 2.8.1 M +1 -2 src/backend/core/AbstractAspect.h M +2 -12 src/backend/core/Folder.cpp M +1 -1 src/backend/core/Folder.h M +16 -0 src/backend/core/Project.cpp M +2 -0 src/backend/core/Project.h M +1 -9 src/backend/worksheet/plots/cartesian/CartesianPlot.cpp M +1 -2 src/backend/worksheet/plots/cartesian/CartesianPlot.h M +27 -8 src/commonfrontend/ProjectExplorer.cpp M +6 -2 src/commonfrontend/worksheet/WorksheetView.cpp https://invent.kde.org/education/labplot/commit/30c06bad1b3000069ff76a8ae7789662793d36de |