Bug 452185 - Additional white dialog is displayed from Marble at start-up when Map view is selected.
Summary: Additional white dialog is displayed from Marble at start-up when Map view is...
Status: RESOLVED FIXED
Alias: None
Product: digikam
Classification: Applications
Component: Geolocation-Marble (show other bugs)
Version: 8.2.0
Platform: Microsoft Windows Microsoft Windows
: NOR normal
Target Milestone: ---
Assignee: Digikam Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-04-02 16:12 UTC by Marcin
Modified: 2023-12-08 03:07 UTC (History)
5 users (show)

See Also:
Latest Commit:
Version Fixed In: 8.3.0
Sentry Crash Report:


Attachments
screenshot_blank_window (328.74 KB, image/jpeg)
2022-04-02 16:12 UTC, Marcin
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Marcin 2022-04-02 16:12:48 UTC
Created attachment 147896 [details]
screenshot_blank_window

I have additional white blank window. There is any option to disable this?
Comment 1 Maik Qualmann 2022-04-02 16:33:48 UTC
This window could come from Marble's Map View. The problem has been reported to us before. I can't reproduce it myself, not even on Windows. Please test the digiKam-7.7.0 pre-release version from here: 

https://files.kde.org/digikam/

Maik
Comment 2 Maik Qualmann 2023-03-27 20:13:19 UTC
*** Bug 467858 has been marked as a duplicate of this bug. ***
Comment 3 caulier.gilles 2023-05-03 12:24:09 UTC
@Marcin,

digiKam 8.0.0 is out. This entry still valid with this release ?

Best regards

Gilles Caulier
Comment 4 caulier.gilles 2023-10-15 09:52:37 UTC
@Marcin,

This problem still reproducible with the new digiKam 8.2.0 pre-release Windows
installer available at usual place:

https://files.kde.org/digikam/

This new bundle is based on last Qt framework 5.15.11 and KDE framework 5.110.

Thanks in advance

Gilles Caulier
Comment 5 caulier.gilles 2023-11-20 15:49:12 UTC
Maik,

With the VCPKG build, the problem remain:

https://i.imgur.com/otuPn28.png

I'm sure that it's fully reproducible when the Marble map is visible at the first time of the digiKam session. There is no extra digiKam sub-process in task list. There is no specific marble message in DebugView as i can see.

Gilles
Comment 6 caulier.gilles 2023-11-20 15:59:49 UTC
Maik,

Following bug 467858 and the new bugzilla entry from Marble :

https://bugs.kde.org/show_bug.cgi?id=467898

... Where no solution is found, I'm sure that current problem is not due to "no marble plugins found". If i move all Marble plugins outside digiKam install dir, a very specific empty dialog with "No plugin loaded" as title appear few seconds, and digiKam crash.

Gilles
Comment 7 caulier.gilles 2023-11-20 16:02:27 UTC
Maik,

If i put just the Marble "AtmospherePlugin.dll" plugin at the right place, digiKam starts but the dialog re-appears again.

Gilles
Comment 8 caulier.gilles 2023-11-22 14:00:51 UTC
Git commit ffb6f9cd7f82aac44ccb32e13e32f5f054ab2a0e by Gilles Caulier.
Committed on 22/11/2023 at 14:58.
Pushed by cgilles into branch 'master'.

add title to message box to hack the empty marble dialog at startup under Windows

M  +2    -2    core/utilities/geolocation/geoiface/items/gpsitemlistcontextmenu.cpp
M  +2    -2    core/utilities/geolocation/geoiface/reversegeocoding/rgwidget.cpp

https://invent.kde.org/graphics/digikam/-/commit/ffb6f9cd7f82aac44ccb32e13e32f5f054ab2a0e
Comment 9 caulier.gilles 2023-11-23 06:33:47 UTC
Hi Maik,

As explained in this entry, the dialog appear in this situation:

- Windows only,
- When geolocation view is visible (eg. whe digiKam start without geolocation sidebar tab enabled, all is fine, and when a tab is enabled, the dialog appear).

The dialog as nothing inside. Sound like the Qt event loop do not process the rendering. The title of the dialog is filled with "digiKam" and that all. This is not relevant of the Marble plugins. I moved all plugins outside the bundles, and this time another dialog appears with a specific title from Marble about the missing files. Note that in this case the dialog contents is not rendered also.

I take a look into all messagebox in Marble: all have a title set in constructor.
I check also the geolocation messagebox in digiKam and now all have a title set properly. I still few other ones located in digiKam without title,  but there must be out of topic.

So i thinking about a Qt message box, but which one exactly, i don't know.

There is also all marble translations file missing in the bundle. I fixed the Marble compilation problem to process i18n. Compilation is under progress, we will see if it can be relevant.

Best

Gilles

PS: i would to use a introspection Qt tool as GammaRay from KDAB, but it's the hell for Windows. Do you know if another tool exists, as for exemple in QtCreator ?
Comment 10 Maik Qualmann 2023-11-23 06:47:28 UTC
Hi Gilles,

No, it's not just Windows. I could also notice it for a split second here under Linux. I have very rarely noticed this window. It will probably be closed again immediately if everything is somehow correct with Marble or the plugins. I think it doesn't look like a MessageBox, but rather a window. I'm sure this window opens within Marble.

Maik
Comment 11 caulier.gilles 2023-11-23 06:55:18 UTC
So, if it's a dialog, not a message box, where it come from exactly in marble ?

Do you see the contents inside under Linux ?
What's the title sentence exactly ?
If all debug traces are enabled in the console, do you seen any warnings relevant ?
Do you reproduce this dialog with the marble qt-only application ?

Gilles
Comment 12 caulier.gilles 2023-11-23 07:09:51 UTC
In Marble, there are plenty of QDialog, especially one named DataMigration, which can be a good candidate...

But the main Q here is about the non rendering dialog contents. I suspect the dialog is instantiated in the stack, not on the heap using new operator. But why the event loop is not shared with one from the digiKam instance ?

Gilles
Comment 13 Maik Qualmann 2023-11-23 07:25:04 UTC
Like I said, it's just the blink of an eye when I see him. But I would say that it also has no title and is empty. Another idea would be that it comes from the WebBrowser. Maybe set the Atlas view in the sidebars instead of OpenStreetMap.

Maik
Comment 14 caulier.gilles 2023-11-23 09:09:54 UTC
Maik,

The marble translations files are now in the bundle.

I switched from OSM to Atlas, restartd digiKam, and the dialog still here.

Gilles
Comment 15 caulier.gilles 2023-11-23 09:12:14 UTC
Maik,

For info, the dialog also appears under a native Windows 10, not only on a VM.

Gilles
Comment 16 Maik Qualmann 2023-11-23 10:30:10 UTC
In this old Bug 467858 report, the user also had the problem with Marble-Qt under Ubuntu. Also with the AppImage in Bug 420257.

Maik
Comment 17 caulier.gilles 2023-11-24 16:35:50 UTC
Hi Maik,

With Qt 6.6.0 under Linux, i'm also able to reproduce the empty dialog. With GammaRay instrospector, i can see where the dialog is created under Marble. See my screenshot for details :

https://i.imgur.com/bKq6Wdu.png

This is a web engine relevant as you can see. 

Gilles
Comment 18 caulier.gilles 2023-11-24 16:46:41 UTC
Maik,

The class relevant come this UI file :

https://invent.kde.org/education/marble/-/blob/marble-qt6/src/lib/marble/WebPopupWidget.ui?ref_type=heads

Which is allocation here :

https://invent.kde.org/education/marble/-/blob/marble-qt6/src/lib/marble/PopupItem.h?ref_type=heads#L181

And implementation/usage :

https://invent.kde.org/education/marble/-/blob/marble-qt6/src/lib/marble/PopupItem.cpp?ref_type=heads#L47

Q : What the goal of this extra popup dialog when QtWebEngine is used ?

Gilles
Comment 19 caulier.gilles 2023-11-24 16:50:53 UTC
PopupItem is managed with PopUpLayer. It sounds like this dialog add extra navigation buttons + coordinates editor.

Gilles
Comment 20 caulier.gilles 2023-11-24 16:54:53 UTC
In MarbleWidget, PopupLayer is allocated here :

https://invent.kde.org/education/marble/-/blob/marble-qt6/src/lib/marble/MarbleWidget.cpp?ref_type=heads#L239

Object is named internally as m_mapInfoDialog and is set as not visible by default... So why we see an empty dialog here ? It's due because the even loop do not dispatch the hide event properly ?

Gilles
Comment 21 Maik Qualmann 2023-11-24 17:00:02 UTC
To me it looks like the window was only created to print a web page.

https://invent.kde.org/education/marble/-/blob/marble-qt6/src/lib/marble/PopupItem.cpp?ref_type=heads#L358

Maik
Comment 22 caulier.gilles 2023-11-25 07:48:15 UTC
Maik,

I found a work around to this problem.

The white dialog is a QWebEngine relevant contents. Definitively we don't need this for digiKam. If i disable the QtWebEngine support in Marble, the problem disappear, at least under Linux.

https://invent.kde.org/education/marble/-/blob/marble-qt6/CMakeLists.txt?ref_type=heads#L148

Why this dialog contents is not displayed is obscure for me. Probably the dialog is visible to fast in the marble architecture, or a tune with Qt6::WebEngine API need to be done with the code... I don't know.

Gilles
Comment 23 caulier.gilles 2023-11-25 07:54:04 UTC
MAik, 

Another Q about Marble is the plugins to let in the digiKam bundle. If i'm not too wrong, more and less, mostly all these plugins are not necessary for digiKam. Marble need at least one plugin to found at startup (we don't care about which one), else another dialog will appear to warn user about a wrong install (and this dialog is also empty, excepted the title).

So, which plugins do you think good candidates for the suppression ? You can see the list on the Marble configuration dialog :

https://i.imgur.com/bVaGJ8Z.png

Gilles
Comment 24 caulier.gilles 2023-11-25 07:58:18 UTC
Git commit dabc1b53d06ecba78c98d2003d8f906d100b90a2 by Gilles Caulier.
Committed on 25/11/2023 at 08:57.
Pushed by cgilles into branch 'master'.

KF6 for the bundles: disable QtWebEngine in marble to prevent extra empty dialog at the start up

M  +1    -1    project/bundles/3rdparty/ext_kf6/CMakeLists.txt
A  +13   -0    project/bundles/3rdparty/ext_kf6/marble-disable-webengine.patch

https://invent.kde.org/graphics/digikam/-/commit/dabc1b53d06ecba78c98d2003d8f906d100b90a2
Comment 25 caulier.gilles 2023-11-25 09:19:59 UTC
Maik,

I updated the windows installer. Unfortunatly, the empty dialog is always here, even if i disable QtWebEngine support

Gilles
Comment 26 Maik Qualmann 2023-12-04 18:14:07 UTC
*** Bug 478062 has been marked as a duplicate of this bug. ***
Comment 27 caulier.gilles 2023-12-05 21:33:36 UTC
*** Bug 478127 has been marked as a duplicate of this bug. ***
Comment 28 caulier.gilles 2023-12-08 03:07:54 UTC
Hi,

Problem is now fixed in next 8.3.0 release. You can test with the Windows installer pre-release available here :

https://files.kde.org/digikam/

Best regards

Gilles Caulier