Summary: | Edit Bookmarks menu item does nothing | ||
---|---|---|---|
Product: | [Applications] digikam | Reporter: | Mark <mark> |
Component: | Geolocation-Bookmarks | Assignee: | Digikam Developers <digikam-bugs-null> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | caulier.gilles, metzpinguin |
Priority: | NOR | ||
Version: | 8.5.0 | ||
Target Milestone: | --- | ||
Platform: | macOS (DMG) | ||
OS: | macOS | ||
Latest Commit: | Version Fixed In: | 8.5.0 | |
Sentry Crash Report: | |||
Attachments: | Screen movie showing bug |
Description
Mark
2024-04-30 12:03:37 UTC
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 |