eteran/edb-debugger

edb can not show save file dialog in ubuntu 21.10

TheZ4ro opened this issue · 7 comments

when use edb in ubuntu 21.10
from dump windows, choose save to file, the dialog failed to display.

maybe this is a qt5 wayland bug?

  • Are you using the default Ubuntu 21.10 install, with its default desktop environment?
  • Is EDB installed from Ubuntu repositories or from other source?
  • What exactly does "failed to display" mean? Do you get a message box, an error message in the terminal, or does EDB seem to ignore the command?

problem fixed, patch file:

Date: Sat, 23 Oct 2021 14:14:02 +0800
Subject: [PATCH] fix save file dialog


 src/Debugger.cpp | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/Debugger.cpp b/src/Debugger.cpp
index 68972b5b..05e96249 100644
--- a/src/Debugger.cpp
+++ b/src/Debugger.cpp
@@ -1905,7 +1905,10 @@ void Debugger::mnuDumpSaveToFile() {
 	const QString filename = QFileDialog::getSaveFileName(
		this,
 		tr("Save File"),
-		lastOpenDirectory_);
+		lastOpenDirectory_,
+		0,
+		NULL,
+		QFileDialog::DontUseNativeDialog);
 
 	if (!filename.isEmpty()) {
 		QFile file(filename);
-- 
2.32.0

This doesn't look like a fix, more like a workaround. Native dialog is supposed to work fine too.

No, if you install ubuntu 21.10 default desktop, and edb dump window -> save to file will always hung even stop the whole destop.
but the ubuntu 18.x works well.

I get a transparent window, rather than hung desktop, but yeah, Qt integration with Ubuntu desktop seems broken. A less intrusive "fix" may be to run EDB with XDG_CURRENT_DESKTOP=kde environment variable:

XDG_CURRENT_DESKTOP=kde edb

This will work even if you don't have any part of KDE installed, the effect will just be to avoid desktop integration.

EGQM commented

@TheZ4ro,my computer system is ubuntu21.10 (gnome, 5.15.7-051507-generic),and it works well.

Its not working for me on latest kali rolling, it's transparent even with XDG_CURRENT_DESKTOP=kde env set.