Created attachment 169032 [details] Screen movie showing bug *** If you're not sure this is actually a bug, instead post about it at https://discuss.kde.org If you're reporting a crash, attach a backtrace with debug symbols; see https://community.kde.org/Guidelines_and_HOWTOs/Debugging/How_to_create_useful_crash_reports *** SUMMARY STEPS TO REPRODUCE 1. Select an image from an album. 2. Edit Geolocation 3. Right-click a image from Geolocation Edit dialog list. OBSERVED RESULT Nothing happens. I have run digiKam from the command line with debug logging enabled and see no output as a result of selecting the Edit Bookmarks item. EXPECTED RESULT Bookmark Manager should appear. SOFTWARE/OS VERSIONS Windows: macOS: 14.4.1 (Intel platform) Linux/KDE Plasma: (available in About System) KDE Plasma Version: KDE Frameworks Version: 5.114.0 Qt Version: 5.15.11 ADDITIONAL INFORMATION
Sorry, step 3 should say "Right-click a image from Geolocation Edit dialog list and choose Edit Bookmarks"
Yes, it's fully reproducible under MacOS with 8.3.0. Under Linux all works as expected... Gilles Caulier
There is probably something wrong under MacOS here : https://invent.kde.org/graphics/digikam/-/blob/master/core/utilities/geolocation/geoiface/bookmark/gpsbookmarkowner.cpp?ref_type=heads#L117
I don't really see an error. The dialog also works under Windows. I'm surprised by the (!) in front of !d->bookmarksDialog->isHidden(). Because if the dialog is hidden, it can also be reactivated. We also use the same code in the plugin dialogs for reactivation. However, it doesn't matter because the pointer is NULL at the start anyway. Maik
Hi, The Edit Bookmarks work but don"t show the dialog with the focus by default. Go to the mac taskbar digiKam icon context menu and select the Show All Windows. The bookmarks editor dialog appears... Gilles Caulier
Git commit 866f0532c62d0b8934ed4f965f151b9564db5720 by Maik Qualmann. Committed on 06/05/2024 at 06:28. Pushed by mqualmann into branch 'master'. try to bring the bookmark dialog to the front M +1 -0 core/utilities/geolocation/geoiface/bookmark/gpsbookmarkowner.cpp https://invent.kde.org/graphics/digikam/-/commit/866f0532c62d0b8934ed4f965f151b9564db5720
Maik, I think it's not a raise problem with the dialog. In fact the dialog is open and presnet on screen, but show behind the metadata editor dialog. If i move this last one, bookmarks editor appear, but is not suitable : the mouse has no effect. It sounds like a even loop problem. Not that the bookmarks editor dialog has the 3 buttons on the title bar. So it can be reduced. Gilles
We could test a different parent for the dialog (qApp->activeWindow()). Maik
Git commit 1c890c7017e021b471fe5fe1834eedfb0437d1ac by Gilles Caulier. Committed on 06/05/2024 at 11:03. Pushed by cgilles into branch 'master'. pass active windows parent to the dialog M +2 -1 core/utilities/geolocation/geoiface/bookmark/gpsbookmarkowner.cpp https://invent.kde.org/graphics/digikam/-/commit/1c890c7017e021b471fe5fe1834eedfb0437d1ac
Maik, I think the problem under MacOS can be the flags passed to dialog here : https://invent.kde.org/graphics/digikam/-/blob/master/core/utilities/geolocation/geoiface/bookmark/bookmarksdlg.cpp?ref_type=heads#L80 If i take a look to other setWindowFlags() call in digiKam core, we never use Qt::Sheet, but always a customized combination as this one : https://invent.kde.org/graphics/digikam/-/blob/master/core/libs/dplugins/widgets/dplugindialog.cpp?ref_type=heads#L46 Gilles
Git commit 16567cfe1e40838b1fab63e7d3168f49cab22919 by Gilles Caulier. Committed on 06/05/2024 at 11:14. Pushed by cgilles into branch 'master'. use same window flags than DPlugin About Dialog M +4 -1 core/utilities/geolocation/geoiface/bookmark/bookmarksdlg.cpp M +1 -1 core/utilities/geolocation/geoiface/bookmark/gpsbookmarkowner.cpp https://invent.kde.org/graphics/digikam/-/commit/16567cfe1e40838b1fab63e7d3168f49cab22919
changing the edit bookmark dialog parent to active windows do not fix the problem
Git commit 747bbe9204c0f509761e8fa35ecc142c60a9a44f by Gilles Caulier. Committed on 06/05/2024 at 21:42. Pushed by cgilles into branch 'master'. set dialog modal M +3 -0 core/utilities/geolocation/geoiface/bookmark/bookmarksdlg.cpp https://invent.kde.org/graphics/digikam/-/commit/747bbe9204c0f509761e8fa35ecc142c60a9a44f
Hi Maik, Look my screenshot : https://i.imgur.com/wCJXdON.png Before to open the Edit Bookmark dialog, i moved the geolocation dialog on the right side of screen. The Bookmark dialog appears on the middle of the screen but is not complete. Map is not loaded and some icons are missing. I think the dialog code is blocked somewhere. Gilles
Maik, As you can see on this second screenshot, the map is well displayed on the Geolocation dialog and all icons are present. Sound like a lock in Marble. Note : There is no bookmark registered yet on my computer. Gilles
Link to the second screenshot : https://i.imgur.com/q64EBvk.png
The map in the Bookmark Manager is only loaded when you have added a bookmark and clicked on it. So the screenshot looks normal for empty bookmarks. Maik
Another point : the cursor in the Edit bookmark "Search" field is blinking, but the mouse has no action over this dialog.
I tried the Edit Bookmark under Linux, and the dialog is exactly the same than under MacOS. The missing icons buttons are also there...
And why the Edit Bookmark dialog still open below than the Geolocation Edit dialog ? This is really strange...
Time Adjust dialog under MacOS: the Determine clock difference dialog has also strange side effects. The way to open a dialog from a dialog under MacOS do not work as expected (where Linux and Windows work fine).
The Maintenance Tool dialog under MacOS / Image Quality / Settings : the setup dialog work as expected. Perhaps the plugin wizard/dialog as a property than a child dialog don't like.
Could it also be because we have already modified the first/basic dialog via the window flags -> QDialog to QWindow? We did this once because of problems with Gnome. Maik
It could also be the parent from the first dialog. The maintenance tool has the digikamApp as parent, the Geolocation Editor and the Time Adjust Tool has a nullptr as parent. Maik
Yes, this can be the origin. The Q is why in this case, Linux and Windows are not affected ? Note : MacOS still uses Qt5... Gilles
Git commit c1fd8e1ad84fcc4425e248fe3afdfaa5e8ef427d by Gilles Caulier. Committed on 07/05/2024 at 15:58. Pushed by cgilles into branch 'master'. pass the active windows as parent to the Geolocation and TimeAdjust dialogs M +2 -1 core/dplugins/generic/metadata/geolocationedit/geolocationeditplugin.cpp M +2 -1 core/dplugins/generic/metadata/timeadjust/timeadjustplugin.cpp https://invent.kde.org/graphics/digikam/-/commit/c1fd8e1ad84fcc4425e248fe3afdfaa5e8ef427d
Maik, Passing the active windows as parent to the plugins dialog do not change anything... Gilles
Git commit e3028bd8610c43783e377445aca578645dfdabf0 by Maik Qualmann. Committed on 08/05/2024 at 19:11. Pushed by mqualmann into branch 'master'. try moving it to the main thread. The thread is identical under Linux, but perhaps not under macOS. M +2 -1 core/dplugins/generic/metadata/geolocationedit/geolocationeditplugin.cpp M +2 -1 core/dplugins/generic/metadata/timeadjust/timeadjustplugin.cpp https://invent.kde.org/graphics/digikam/-/commit/e3028bd8610c43783e377445aca578645dfdabf0
Probme is always reproducible with the 8.5.0 Arm64 version
Maik, I run the geolocation editor with the full debug trace in Qt, and in terminal we have this trace when bookmark editor entry in context menu is activated: ... qt.widgets.painting: Marking QRegion(0,0 304x24) of QWidget(0x60000909dbf0) dirty with QWidgetRepaintManager::UpdateLater qt.widgets.painting: Marking QRegion(0,0 304x398) of Digikam::ItemPropertiesGPSTab(0x60000926bf60) dirty with QWidgetRepaintManager::UpdateLater qt.widgets.painting: Marking QRegion(0,0 80x24) of QPushButton(0x60000909e550) dirty with QWidgetRepaintManager::UpdateLater qt.widgets.painting: Marking QRegion(0,0 80x24) of QPushButton(0x60000909e580) dirty with QWidgetRepaintManager::UpdateLater qt.widgets.painting: Marking QRegion(0,0 80x24) of QPushButton(0x60000909e700) dirty with QWidgetRepaintManager::UpdateLater qt.widgets.painting: Marking QRegion(0,0 80x24) of QPushButton(0x60000909e7f0) dirty with QWidgetRepaintManager::UpdateLater qt.widgets.painting: Marking QRegion(0,0 278x24) of QDialogButtonBox(0x60000909e6d0) dirty with QWidgetRepaintManager::UpdateLater qt.widgets.painting: Marking QRegion(0,0 750x450) of Digikam::BookmarksDialog(0x6000092693e0, name="GeolocationBookmarksEditDialog") dirty with QWidgetRepaintManager::UpdateLater qt.widgets.painting: Syncing dirty widgets qt.widgets.painting: Painting and flushing dirty top level QRegion(null) and dirty widgets QList(QWidget(0x60000926b780, name="qt_scrollarea_viewport"), QWidget(0x60000926ae20, name="qt_scrollarea_viewport"), Digikam::SearchTextBar(0x60001d9de480, name="search"), QHeaderView(0x60000926b7e0), QTreeView(0x600009269a40), QLabel(0x6000092def70), Digikam::PlaceholderWidget(0x6000092df0c0), Digikam::MapWidget(0x60001d9def40), QWidget(0x600009230b10), QStackedWidget(0x60000926bfc0), QLabel(0x60000909cbd0), QLabel(0x60000909ce40), QLabel(0x60000909d080), QLabel(0x60000909d2c0), Digikam::DAdjustableLabel(0x60000909d530), Digikam::DAdjustableLabel(0x60000909d560), Digikam::DAdjustableLabel(0x60000909d5c0), Digikam::DAdjustableLabel(0x60000909d590), QToolButton(0x60000909d620), QComboBox(0x60000909d6b0), QToolButton(0x60000909d740), Digikam::DHBox(0x60000909d5f0), QPushButton(0x60000909dc20), QToolButton(0x60000909dcb0), QToolButton(0x60000909dd10), QToolButton(0x60000909dd70), QFrame(0x60000909ddd0), QToolButton(0x60000909de00), QToolButton(0x60000909de90), QFrame(0x60000909df20), QToolButton(0x60000909df50), QToolButton(0x60000909e100), QWidget(0x60000909def0), QToolButton(0x60000909e280), QWidget(0x60000909dbf0), Digikam::ItemPropertiesGPSTab(0x60000926bf60), QPushButton(0x60000909e550), QPushButton(0x60000909e580), QPushButton(0x60000909e700), QPushButton(0x60000909e7f0), QDialogButtonBox(0x60000909e6d0), Digikam::BookmarksDialog(0x6000092693e0, name="GeolocationBookmarksEditDialog")) qt.qpa.backingstore: Beginning paint of QRegion(0,0 750x450) into backingstore of QSize(750, 450) qt.qpa.backingstore: front: QIOSurfaceGraphicsBuffer(0x60000a4fe520, surface=0x600000386140, size=QSize(1500, 900), isLocked=false, isInUse=true) qt.qpa.backingstore: Available buffers exhausted, increasing swap chain depth to 2 qt.qpa.backingstore: Creating surface of QSize(1500, 900) for QWidgetWindow(0x60000a4da580, name="GeolocationBookmarksEditDialogWindow") based on requested QSize(750, 450) dpr = 2 and color space <CGColorSpace 0x600002485260> (kCGColorSpaceICCBased; kCGColorSpaceModelRGB; Color LCD) qt.qpa.backingstore.iosurface: Tagging QIOSurfaceGraphicsBuffer(0x60000a402d00, surface=0x600000389c10, size=QSize(1500, 900), isLocked=false, isInUse=false) with color space <CGColorSpace 0x600002485260> (kCGColorSpaceICCBased; kCGColorSpaceModelRGB; Color LCD) qt.qpa.backingstore.iosurface: Locking QIOSurfaceGraphicsBuffer(0x60000a402d00, surface=0x600000389c10, size=QSize(1500, 900), isLocked=false, isInUse=false) for QFlags<QPlatformGraphicsBuffer::AccessType>(SWWriteAccess) qt.qpa.backingstore: Setting up paint device for QIOSurfaceGraphicsBuffer(0x60000a402d00, surface=0x600000389c10, size=QSize(1500, 900), isLocked=true, isInUse=false) qt.widgets.painting: Drawing QRegion(0,0 416x17) of QWidget(0x60000926b780, name="qt_scrollarea_viewport") at QPoint(12,42) into paint device 0x60000a402d40 with QFlags<QWidgetPrivate::DrawWidgetFlag>(DrawRecursive|DontDrawOpaqueChildren) qt.widgets.painting: Marking QRegion(0,0 416x17) of QWidget(0x60000926b780, name="qt_scrollarea_viewport") as needing flush in Digikam::BookmarksDialog(0x6000092693e0, name="GeolocationBookmarksEditDialog") at offset QPoint(12,42) qt.widgets.painting: Drawing QRegion(0,0 416x349) of QWidget(0x60000926ae20, name="qt_scrollarea_viewport") at QPoint(12,59) into paint device 0x60000a402d40 with QFlags<QWidgetPrivate::DrawWidgetFlag>(DrawRecursive|DontDrawOpaqueChildren) qt.widgets.painting: Marking QRegion(0,0 416x349) of QWidget(0x60000926ae20, name="qt_scrollarea_viewport") as needing flush in Digikam::BookmarksDialog(0x6000092693e0, name="GeolocationBookmarksEditDialog") at offset QPoint(12,59) qt.widgets.painting: Drawing QRegion(size=4, bounds=(0,0 750x450) - [(0,0 750x42), (0,42 12x366), (428,42 322x366), (0,408 750x42)]) of Digikam::BookmarksDialog(0x6000092693e0, name="GeolocationBookmarksEditDialog") at QPoint(0,0) into paint device 0x60000a402d40 with QFlags<QWidgetPrivate::DrawWidgetFlag>(DrawAsRoot|DrawRecursive|UseEffectRegionBounds) qt.widgets.painting: Marking QRegion(size=4, bounds=(0,0 750x450) - [(0,0 750x42), (0,42 12x366), (428,42 322x366), (0,408 750x42)]) of top level Digikam::BookmarksDialog(0x6000092693e0, name="GeolocationBookmarksEditDialog") as needing flush qt.widgets.painting: Drawing QRegion(0,0 418x24) of Digikam::SearchTextBar(0x60001d9de480, name="search") at QPoint(11,11) into paint device 0x60000a402d40 with QFlags<QWidgetPrivate::DrawWidgetFlag>(DrawRecursive) qt.widgets.painting: Marking QRegion(0,0 418x24) of Digikam::SearchTextBar(0x60001d9de480, name="search") as needing flush in Digikam::BookmarksDialog(0x6000092693e0, name="GeolocationBookmarksEditDialog") at offset QPoint(11,11) qt.widgets.painting: Drawing QRegion(size=4, bounds=(0,0 418x368) - [(0,0 418x1), (0,1 1x366), (417,1 1x366), (0,367 418x1)]) of QTreeView(0x600009269a40) at QPoint(11,41) into paint device 0x60000a402d40 with QFlags<QWidgetPrivate::DrawWidgetFlag>(DrawRecursive) qt.widgets.painting: Marking QRegion(size=4, bounds=(0,0 418x368) - [(0,0 418x1), (0,1 1x366), (417,1 1x366), (0,367 418x1)]) of QTreeView(0x600009269a40) as needing flush in Digikam::BookmarksDialog(0x6000092693e0, name="GeolocationBookmarksEditDialog") at offset QPoint(11,41) qt.widgets.painting: Drawing QRegion(0,0 304x398) of Digikam::ItemPropertiesGPSTab(0x60000926bf60) at QPoint(435,11) into paint device 0x60000a402d40 with QFlags<QWidgetPrivate::DrawWidgetFlag>(DrawRecursive) qt.widgets.painting: Marking QRegion(0,0 304x398) of Digikam::ItemPropertiesGPSTab(0x60000926bf60) as needing flush in Digikam::BookmarksDialog(0x6000092693e0, name="GeolocationBookmarksEditDialog") at offset QPoint(435,11) qt.widgets.painting: Drawing QRegion(0,0 304x286) of QStackedWidget(0x60000926bfc0) at QPoint(435,11) into paint device 0x60000a402d40 with QFlags<QWidgetPrivate::DrawWidgetFlag>(DrawRecursive) qt.widgets.painting: Marking QRegion(0,0 304x286) of QStackedWidget(0x60000926bfc0) as needing flush in Digikam::BookmarksDialog(0x6000092693e0, name="GeolocationBookmarksEditDialog") at offset QPoint(435,11) qt.widgets.painting: Drawing QRegion(0,0 302x284) of QWidget(0x600009230b10) at QPoint(436,12) into paint device 0x60000a402d40 with QFlags<QWidgetPrivate::DrawWidgetFlag>(DrawRecursive) qt.widgets.painting: Marking QRegion(0,0 302x284) of QWidget(0x600009230b10) as needing flush in Digikam::BookmarksDialog(0x6000092693e0, name="GeolocationBookmarksEditDialog") at offset QPoint(436,12) qt.widgets.painting: Drawing QRegion(0,0 302x284) of Digikam::MapWidget(0x60001d9def40) at QPoint(436,12) into paint device 0x60000a402d40 with QFlags<QWidgetPrivate::DrawWidgetFlag>(DrawRecursive) qt.widgets.painting: Marking QRegion(0,0 302x284) of Digikam::MapWidget(0x60001d9def40) as needing flush in Digikam::BookmarksDialog(0x6000092693e0, name="GeolocationBookmarksEditDialog") at offset QPoint(436,12) qt.widgets.painting: Drawing QRegion(0,0 302x284) of Digikam::PlaceholderWidget(0x6000092df0c0) at QPoint(436,12) into paint device 0x60000a402d40 with QFlags<QWidgetPrivate::DrawWidgetFlag>(DrawRecursive) qt.widgets.painting: Marking QRegion(0,0 302x284) of Digikam::PlaceholderWidget(0x6000092df0c0) as needing flush in Digikam::BookmarksDialog(0x6000092693e0, name="GeolocationBookmarksEditDialog") at offset QPoint(436,12) qt.widgets.painting: Drawing QRegion(0,0 100x30) of QLabel(0x6000092def70) at QPoint(436,12) into paint device 0x60000a402d40 with QFlags<QWidgetPrivate::DrawWidgetFlag>(DrawRecursive) qt.widgets.painting: Marking QRegion(0,0 100x30) of QLabel(0x6000092def70) as needing flush in Digikam::BookmarksDialog(0x6000092693e0, name="GeolocationBookmarksEditDialog") at offset QPoint(436,12) qt.widgets.painting: Drawing QRegion(0,0 68x16) of QLabel(0x60000909cbd0) at QPoint(435,297) into paint device 0x60000a402d40 with QFlags<QWidgetPrivate::DrawWidgetFlag>(DrawRecursive) qt.text.drawing: drawFrame 0 -- 9 at QPointF(0,0) qt.text.drawing: drawBlock 0 at QPointF(0,0) br QRectF(0,0 68x16) qt.widgets.painting: Marking QRegion(0,0 68x16) of QLabel(0x60000909cbd0) as needing flush in Digikam::BookmarksDialog(0x6000092693e0, name="GeolocationBookmarksEditDialog") at offset QPoint(435,297) qt.widgets.painting: Drawing QRegion(0,0 68x16) of QLabel(0x60000909ce40) at QPoint(435,313) into paint device 0x60000a402d40 with QFlags<QWidgetPrivate::DrawWidgetFlag>(DrawRecursive) qt.text.drawing: drawFrame 0 -- 9 at QPointF(0,0) qt.text.drawing: drawBlock 0 at QPointF(0,0) br QRectF(0,0 68x16) qt.widgets.painting: Marking QRegion(0,0 68x16) of QLabel(0x60000909ce40) as needing flush in Digikam::BookmarksDialog(0x6000092693e0, name="GeolocationBookmarksEditDialog") at offset QPoint(435,313) qt.widgets.painting: Drawing QRegion(0,0 68x16) of QLabel(0x60000909d080) at QPoint(435,329) into paint device 0x60000a402d40 with QFlags<QWidgetPrivate::DrawWidgetFlag>(DrawRecursive) qt.text.drawing: drawFrame 0 -- 10 at QPointF(0,0) qt.text.drawing: drawBlock 0 at QPointF(0,0) br QRectF(0,0 68x16) qt.widgets.painting: Marking QRegion(0,0 68x16) of QLabel(0x60000909d080) as needing flush in Digikam::BookmarksDialog(0x6000092693e0, name="GeolocationBookmarksEditDialog") at offset QPoint(435,329) qt.widgets.painting: Drawing QRegion(0,0 68x16) of QLabel(0x60000909d2c0) at QPoint(435,345) into paint device 0x60000a402d40 with QFlags<QWidgetPrivate::DrawWidgetFlag>(DrawRecursive) qt.text.drawing: drawFrame 0 -- 5 at QPointF(0,0) qt.text.drawing: drawBlock 0 at QPointF(0,0) br QRectF(0,0 68x16) qt.widgets.painting: Marking QRegion(0,0 68x16) of QLabel(0x60000909d2c0) as needing flush in Digikam::BookmarksDialog(0x6000092693e0, name="GeolocationBookmarksEditDialog") at offset QPoint(435,345) qt.widgets.painting: Drawing QRegion(0,0 236x16) of Digikam::DAdjustableLabel(0x60000909d530) at QPoint(503,297) into paint device 0x60000a402d40 with QFlags<QWidgetPrivate::DrawWidgetFlag>(DrawRecursive) qt.widgets.painting: Marking QRegion(0,0 236x16) of Digikam::DAdjustableLabel(0x60000909d530) as needing flush in Digikam::BookmarksDialog(0x6000092693e0, name="GeolocationBookmarksEditDialog") at offset QPoint(503,297) qt.widgets.painting: Drawing QRegion(0,0 236x16) of Digikam::DAdjustableLabel(0x60000909d560) at QPoint(503,313) into paint device 0x60000a402d40 with QFlags<QWidgetPrivate::DrawWidgetFlag>(DrawRecursive) qt.widgets.painting: Marking QRegion(0,0 236x16) of Digikam::DAdjustableLabel(0x60000909d560) as needing flush in Digikam::BookmarksDialog(0x6000092693e0, name="GeolocationBookmarksEditDialog") at offset QPoint(503,313) qt.widgets.painting: Drawing QRegion(0,0 236x16) of Digikam::DAdjustableLabel(0x60000909d5c0) at QPoint(503,329) into paint device 0x60000a402d40 with QFlags<QWidgetPrivate::DrawWidgetFlag>(DrawRecursive) qt.widgets.painting: Marking QRegion(0,0 236x16) of Digikam::DAdjustableLabel(0x60000909d5c0) as needing flush in Digikam::BookmarksDialog(0x6000092693e0, name="GeolocationBookmarksEditDialog") at offset QPoint(503,329) qt.widgets.painting: Drawing QRegion(0,0 236x16) of Digikam::DAdjustableLabel(0x60000909d590) at QPoint(503,345) into paint device 0x60000a402d40 with QFlags<QWidgetPrivate::DrawWidgetFlag>(DrawRecursive) qt.widgets.painting: Marking QRegion(0,0 236x16) of Digikam::DAdjustableLabel(0x60000909d590) as needing flush in Digikam::BookmarksDialog(0x6000092693e0, name="GeolocationBookmarksEditDialog") at offset QPoint(503,345) qt.widgets.painting: Drawing QRegion(0,0 304x24) of Digikam::DHBox(0x60000909d5f0) at QPoint(435,385) into paint device 0x60000a402d40 with QFlags<QWidgetPrivate::DrawWidgetFlag>(DrawRecursive) qt.widgets.painting: Marking QRegion(0,0 304x24) of Digikam::DHBox(0x60000909d5f0) as needing flush in Digikam::BookmarksDialog(0x6000092693e0, name="GeolocationBookmarksEditDialog") at offset QPoint(435,385) qt.widgets.painting: Drawing QRegion(0,0 24x23) of QToolButton(0x60000909d620) at QPoint(435,385) into paint device 0x60000a402d40 with QFlags<QWidgetPrivate::DrawWidgetFlag>(DrawRecursive) qt.widgets.painting: Marking QRegion(0,0 24x23) of QToolButton(0x60000909d620) as needing flush in Digikam::BookmarksDialog(0x6000092693e0, name="GeolocationBookmarksEditDialog") at offset QPoint(435,385) qt.widgets.painting: Drawing QRegion(0,0 131x24) of QComboBox(0x60000909d6b0) at QPoint(584,385) into paint device 0x60000a402d40 with QFlags<QWidgetPrivate::DrawWidgetFlag>(DrawRecursive) qt.widgets.painting: Marking QRegion(0,0 131x24) of QComboBox(0x60000909d6b0) as needing flush in Digikam::BookmarksDialog(0x6000092693e0, name="GeolocationBookmarksEditDialog") at offset QPoint(584,385) qt.widgets.painting: Drawing QRegion(0,0 24x23) of QToolButton(0x60000909d740) at QPoint(715,385) into paint device 0x60000a402d40 with QFlags<QWidgetPrivate::DrawWidgetFlag>(DrawRecursive) qt.widgets.painting: Marking QRegion(0,0 24x23) of QToolButton(0x60000909d740) as needing flush in Digikam::BookmarksDialog(0x6000092693e0, name="GeolocationBookmarksEditDialog") at offset QPoint(715,385) qt.widgets.painting: Drawing QRegion(0,0 304x24) of QWidget(0x60000909dbf0) at QPoint(435,361) into paint device 0x60000a402d40 with QFlags<QWidgetPrivate::DrawWidgetFlag>(DrawRecursive) qt.widgets.painting: Marking QRegion(0,0 304x24) of QWidget(0x60000909dbf0) as needing flush in Digikam::BookmarksDialog(0x6000092693e0, name="GeolocationBookmarksEditDialog") at offset QPoint(435,361) qt.widgets.painting: Drawing QRegion(0,0 40x24) of QPushButton(0x60000909dc20) at QPoint(435,361) into paint device 0x60000a402d40 with QFlags<QWidgetPrivate::DrawWidgetFlag>(DrawRecursive) qt.widgets.painting: Marking QRegion(0,0 40x24) of QPushButton(0x60000909dc20) as needing flush in Digikam::BookmarksDialog(0x6000092693e0, name="GeolocationBookmarksEditDialog") at offset QPoint(435,361) qt.widgets.painting: Drawing QRegion(0,0 24x23) of QToolButton(0x60000909dcb0) at QPoint(481,361) into paint device 0x60000a402d40 with QFlags<QWidgetPrivate::DrawWidgetFlag>(DrawRecursive) qt.widgets.painting: Marking QRegion(0,0 24x23) of QToolButton(0x60000909dcb0) as needing flush in Digikam::BookmarksDialog(0x6000092693e0, name="GeolocationBookmarksEditDialog") at offset QPoint(481,361) qt.widgets.painting: Drawing QRegion(0,0 24x23) of QToolButton(0x60000909dd10) at QPoint(511,361) into paint device 0x60000a402d40 with QFlags<QWidgetPrivate::DrawWidgetFlag>(DrawRecursive) qt.widgets.painting: Marking QRegion(0,0 24x23) of QToolButton(0x60000909dd10) as needing flush in Digikam::BookmarksDialog(0x6000092693e0, name="GeolocationBookmarksEditDialog") at offset QPoint(511,361) qt.widgets.painting: Drawing QRegion(0,0 24x23) of QToolButton(0x60000909dd70) at QPoint(541,361) into paint device 0x60000a402d40 with QFlags<QWidgetPrivate::DrawWidgetFlag>(DrawRecursive) qt.widgets.painting: Marking QRegion(0,0 24x23) of QToolButton(0x60000909dd70) as needing flush in Digikam::BookmarksDialog(0x6000092693e0, name="GeolocationBookmarksEditDialog") at offset QPoint(541,361) qt.widgets.painting: Drawing QRegion(0,0 3x24) of QFrame(0x60000909ddd0) at QPoint(571,361) into paint device 0x60000a402d40 with QFlags<QWidgetPrivate::DrawWidgetFlag>(DrawRecursive) qt.widgets.painting: Marking QRegion(0,0 3x24) of QFrame(0x60000909ddd0) as needing flush in Digikam::BookmarksDialog(0x6000092693e0, name="GeolocationBookmarksEditDialog") at offset QPoint(571,361) qt.widgets.painting: Drawing QRegion(0,0 24x23) of QToolButton(0x60000909de00) at QPoint(580,361) into paint device 0x60000a402d40 with QFlags<QWidgetPrivate::DrawWidgetFlag>(DrawRecursive) qt.widgets.painting: Marking QRegion(0,0 24x23) of QToolButton(0x60000909de00) as needing flush in Digikam::BookmarksDialog(0x6000092693e0, name="GeolocationBookmarksEditDialog") at offset QPoint(580,361) qt.widgets.painting: Drawing QRegion(0,0 24x23) of QToolButton(0x60000909de90) at QPoint(610,361) into paint device 0x60000a402d40 with QFlags<QWidgetPrivate::DrawWidgetFlag>(DrawRecursive) qt.widgets.painting: Marking QRegion(0,0 24x23) of QToolButton(0x60000909de90) as needing flush in Digikam::BookmarksDialog(0x6000092693e0, name="GeolocationBookmarksEditDialog") at offset QPoint(610,361) qt.widgets.painting: Drawing QRegion(0,0 63x24) of QWidget(0x60000909def0) at QPoint(640,361) into paint device 0x60000a402d40 with QFlags<QWidgetPrivate::DrawWidgetFlag>(DrawRecursive) qt.widgets.painting: Marking QRegion(0,0 63x24) of QWidget(0x60000909def0) as needing flush in Digikam::BookmarksDialog(0x6000092693e0, name="GeolocationBookmarksEditDialog") at offset QPoint(640,361) qt.widgets.painting: Drawing QRegion(0,0 3x24) of QFrame(0x60000909df20) at QPoint(640,361) into paint device 0x60000a402d40 with QFlags<QWidgetPrivate::DrawWidgetFlag>(DrawRecursive) qt.widgets.painting: Marking QRegion(0,0 3x24) of QFrame(0x60000909df20) as needing flush in Digikam::BookmarksDialog(0x6000092693e0, name="GeolocationBookmarksEditDialog") at offset QPoint(640,361) qt.widgets.painting: Drawing QRegion(0,0 24x23) of QToolButton(0x60000909df50) at QPoint(649,361) into paint device 0x60000a402d40 with QFlags<QWidgetPrivate::DrawWidgetFlag>(DrawRecursive) qt.widgets.painting: Marking QRegion(0,0 24x23) of QToolButton(0x60000909df50) as needing flush in Digikam::BookmarksDialog(0x6000092693e0, name="GeolocationBookmarksEditDialog") at offset QPoint(649,361) qt.widgets.painting: Drawing QRegion(0,0 24x23) of QToolButton(0x60000909e100) at QPoint(679,361) into paint device 0x60000a402d40 with QFlags<QWidgetPrivate::DrawWidgetFlag>(DrawRecursive) qt.widgets.painting: Marking QRegion(0,0 24x23) of QToolButton(0x60000909e100) as needing flush in Digikam::BookmarksDialog(0x6000092693e0, name="GeolocationBookmarksEditDialog") at offset QPoint(679,361) qt.widgets.painting: Drawing QRegion(0,0 24x23) of QToolButton(0x60000909e280) at QPoint(709,361) into paint device 0x60000a402d40 with QFlags<QWidgetPrivate::DrawWidgetFlag>(DrawRecursive) qt.widgets.painting: Marking QRegion(0,0 24x23) of QToolButton(0x60000909e280) as needing flush in Digikam::BookmarksDialog(0x6000092693e0, name="GeolocationBookmarksEditDialog") at offset QPoint(709,361) qt.widgets.painting: Drawing QRegion(0,0 80x24) of QPushButton(0x60000909e550) at QPoint(11,415) into paint device 0x60000a402d40 with QFlags<QWidgetPrivate::DrawWidgetFlag>(DrawRecursive) qt.widgets.painting: Marking QRegion(0,0 80x24) of QPushButton(0x60000909e550) as needing flush in Digikam::BookmarksDialog(0x6000092693e0, name="GeolocationBookmarksEditDialog") at offset QPoint(11,415) qt.widgets.painting: Drawing QRegion(0,0 80x24) of QPushButton(0x60000909e580) at QPoint(97,415) into paint device 0x60000a402d40 with QFlags<QWidgetPrivate::DrawWidgetFlag>(DrawRecursive) qt.widgets.painting: Marking QRegion(0,0 80x24) of QPushButton(0x60000909e580) as needing flush in Digikam::BookmarksDialog(0x6000092693e0, name="GeolocationBookmarksEditDialog") at offset QPoint(97,415) qt.widgets.painting: Drawing QRegion(0,0 278x24) of QDialogButtonBox(0x60000909e6d0) at QPoint(461,415) into paint device 0x60000a402d40 with QFlags<QWidgetPrivate::DrawWidgetFlag>(DrawRecursive) qt.widgets.painting: Marking QRegion(0,0 278x24) of QDialogButtonBox(0x60000909e6d0) as needing flush in Digikam::BookmarksDialog(0x6000092693e0, name="GeolocationBookmarksEditDialog") at offset QPoint(461,415) qt.widgets.painting: Drawing QRegion(0,0 80x24) of QPushButton(0x60000909e700) at QPoint(659,415) into paint device 0x60000a402d40 with QFlags<QWidgetPrivate::DrawWidgetFlag>(DrawRecursive) qt.widgets.painting: Marking QRegion(0,0 80x24) of QPushButton(0x60000909e700) as needing flush in Digikam::BookmarksDialog(0x6000092693e0, name="GeolocationBookmarksEditDialog") at offset QPoint(659,415) qt.widgets.painting: Drawing QRegion(0,0 80x24) of QPushButton(0x60000909e7f0) at QPoint(573,415) into paint device 0x60000a402d40 with QFlags<QWidgetPrivate::DrawWidgetFlag>(DrawRecursive) qt.widgets.painting: Marking QRegion(0,0 80x24) of QPushButton(0x60000909e7f0) as needing flush in Digikam::BookmarksDialog(0x6000092693e0, name="GeolocationBookmarksEditDialog") at offset QPoint(573,415) qt.qpa.backingstore: Paint ended. Back buffer valid region is now QRegion(0,0 750x450) qt.qpa.backingstore.iosurface: Unlocking QIOSurfaceGraphicsBuffer(0x60000a402d00, surface=0x600000389c10, size=QSize(1500, 900), isLocked=true, isInUse=false) from QFlags<QPlatformGraphicsBuffer::AccessType>(SWWriteAccess) qt.widgets.painting: Flushing top level QRegion(0,0 750x450) and children QList() qt.widgets.painting: Flushing QRegion(0,0 750x450) of Digikam::BookmarksDialog(0x6000092693e0, name="GeolocationBookmarksEditDialog") qt.qpa.backingstore: Flushing <IOSurface: 0x600000389c10> id = 0x0000005d width = 1500 height = 900 pixelFormat = BGRA name = libqcocoa.dylib to <NSViewBackingLayer: 0x60000909ecd0> of <QNSView: 0x141dde2c0; QCocoaWindow(0x6000037f2ec0, window=QWidgetWindow(0x60000a4da580, name="GeolocationBookmarksEditDialogWindow"))> qt.qpa.backingstore: Swapping back buffer to front qt.qpa.cocoa.notifications: Forwarding NSWindowDidChangeOcclusionStateNotification to QList(QCocoaWindow(0x6000037f27e0, window=QWidgetWindow(0x60000a4da2e0, name="Digikam::DHBoxClassWindow")), QCocoaWindow(0x6000037f2d60, window=QWidgetWindow(0x60000a4da400, name="Digikam::DHBoxClassWindow")), QCocoaWindow(0x6000037a16b0, window=QWidgetWindow(0x600006a24360, name="Geolocation Edit SettingsWindow"))) qt.qpa.window: Occlusion state of <QNSWindow: 0x133b04080; contentView=<QNSView: 0x133b4a990; QCocoaWindow(0x6000037a16b0, window=QWidgetWindow(0x600006a24360, name="Geolocation Edit SettingsWindow"))>> for QWidgetWindow(0x60000a4da2e0, name="Digikam::DHBoxClassWindow") changed to occluded qt.qpa.drawing: QCocoaWindow::handleExposeEvent QWidgetWindow(0x60000a4da2e0, name="Digikam::DHBoxClassWindow") QRegion(null) isExposed false qt.qpa.window: Occlusion state of <QNSWindow: 0x133b04080; contentView=<QNSView: 0x133b4a990; QCocoaWindow(0x6000037a16b0, window=QWidgetWindow(0x600006a24360, name="Geolocation Edit SettingsWindow"))>> for QWidgetWindow(0x60000a4da400, name="Digikam::DHBoxClassWindow") changed to occluded qt.qpa.drawing: QCocoaWindow::handleExposeEvent QWidgetWindow(0x60000a4da400, name="Digikam::DHBoxClassWindow") QRegion(null) isExposed false qt.qpa.window: Occlusion state of <QNSWindow: 0x133b04080; contentView=<QNSView: 0x133b4a990; QCocoaWindow(0x6000037a16b0, window=QWidgetWindow(0x600006a24360, name="Geolocation Edit SettingsWindow"))>> for QWidgetWindow(0x600006a24360, name="Geolocation Edit SettingsWindow") changed to occluded qt.qpa.drawing: QCocoaWindow::handleExposeEvent QWidgetWindow(0x600006a24360, name="Geolocation Edit SettingsWindow") QRegion(null) isExposed false qt.qpa.cocoa.notifications: Forwarding NSWindowDidChangeOcclusionStateNotification to QList(QCocoaWindow(0x60000371d290, window=QWidgetWindow(0x600002af6100, name="DigikamWindow"))) qt.qpa.window: Occlusion state of <QNSWindow: 0x141fd9f40; contentView=<QNSView: 0x141e7d0e0; QCocoaWindow(0x60000371d290, window=QWidgetWindow(0x600002af6100, name="DigikamWindow"))>> for QWidgetWindow(0x600002af6100, name="DigikamWindow") changed to occluded qt.qpa.drawing: QCocoaWindow::handleExposeEvent QWidgetWindow(0x600002af6100, name="DigikamWindow") QRegion(null) isExposed false digikam.marble: Finished loading all placemarks 205 qt.qpa.window: Deallocating <QNSPanel: 0x14142f500; contentView=NSObject(0x0)> qt.qpa.events: Sending NSEvent: type=KitDefined loc=(0,478) time=1308402.1 flags=0 win=0x141dde580 winNum=50796 ctxt=0x0 subtype=4 data1=1144750080 data2=1139736576 to <QNSWindow: 0x141dde580; contentView=<QNSView: 0x141dde2c0; QCocoaWindow(0x6000037f2ec0, window=QWidgetWindow(0x60000a4da580, name="GeolocationBookmarksEditDialogWindow"))>> qt.qpa.cocoa.notifications: Forwarding NSWindowDidResignKeyNotification to QList(QCocoaWindow(0x6000037f27e0, window=QWidgetWindow(0x60000a4da2e0, name="Digikam::DHBoxClassWindow")), QCocoaWindow(0x6000037f2d60, window=QWidgetWindow(0x60000a4da400, name="Digikam::DHBoxClassWindow")), QCocoaWindow(0x6000037a16b0, window=QWidgetWindow(0x600006a24360, name="Geolocation Edit SettingsWindow"))) qt.qpa.window: <QNSWindow: 0x133b04080; contentView=<QNSView: 0x133b4a990; QCocoaWindow(0x6000037a16b0, window=QWidgetWindow(0x600006a24360, name="Geolocation Edit SettingsWindow"))>> resigned key window. Clearing focus window QCocoaWindow(0x6000037a16b0, window=QWidgetWindow(0x600006a24360, name="Geolocation Edit SettingsWindow")) with view <QNSView: 0x133b4a990; QCocoaWindow(0x6000037a16b0, window=QWidgetWindow(0x600006a24360, name="Geolocation Edit SettingsWindow"))> qt.widgets.painting: Marking QRect(0,0 1004x688) of DigikamGenericGeolocationEditPlugin::GeolocationEdit(0x60001989a2c0, name="Geolocation Edit Settings") dirty with QWidgetRepaintManager::UpdateLater qt.widgets.painting: Sending update request to DigikamGenericGeolocationEditPlugin::GeolocationEdit(0x60001989a2c0, name="Geolocation Edit Settings") with QWidgetRepaintManager::UpdateLater qt.widgets.painting: Marking QRect(0,0 982x636) of Digikam::DHBox(0x600008cddce0) dirty with QWidgetRepaintManager::UpdateLater qt.widgets.painting: Marking QRect(0,0 954x636) of QSplitter(0x600008cdddd0) dirty with QWidgetRepaintManager::UpdateLater qt.widgets.painting: Marking QRect(0,0 98x22) of QCheckBox(0x600008c18480) dirty with QWidgetRepaintManager::UpdateLater qt.widgets.painting: Marking QRect(-24,0 24x24) of QComboBox(0x600008fad080) dirty with QWidgetRepaintManager::UpdateLater ... Do you seen something wrong in this trace ? Gilles
Maik, We have 2 option about the bookmarks in the context menu : edit and add. https://i.imgur.com/96q06qK.png Edit : nothing... Add : work as expected. https://i.imgur.com/oPIKWhw.png So the problem is only this the edit bookmarks stuff... Gilles
Git commit d82eb270ca69179b5851003eebd0f5b17c02f8fd by Gilles Caulier. Committed on 18/09/2024 at 08:36. Pushed by cgilles into branch 'master'. Special case for MacOS: do not use a modal dialog for the Bookmarks Editor M +15 -2 core/utilities/geolocation/geoiface/bookmark/gpsbookmarkowner.cpp https://invent.kde.org/graphics/digikam/-/commit/d82eb270ca69179b5851003eebd0f5b17c02f8fd
Fixed with a non modal dialog under macOS: https://i.imgur.com/ie2r3i9.png