Skip to content
This repository has been archived by the owner on Dec 16, 2020. It is now read-only.

Object inspector crash at quit #47

Closed
melomac opened this issue Oct 24, 2018 · 4 comments
Closed

Object inspector crash at quit #47

melomac opened this issue Oct 24, 2018 · 4 comments

Comments

@melomac
Copy link
Contributor

melomac commented Oct 24, 2018

When I use the Object inspector and quit IDA without closing its window, IDA Pro will crash.

The crash was reproduced reliably using IDA Pro 7.1 and IDA Pro 7.2 on macOS.

Steps to reproduce:

  1. install IDASkins plugin (idaskins.py and idaskins folder in ~/.idapro/plugins)
  2. open a target in IDA Pro
  3. open the IDASkins: Settings window
  4. open the Object inspector window
  5. probably optional: press F7 on a UI element
  6. quit IDA Pro (optional: DON'T SAVE the database)

It could be related to the window not being attached to a parent window.

@athre0z
Copy link
Member

athre0z commented Nov 2, 2018

Hmm, unfortunately I cannot reproduce this on Windows, making it rather hard to debug. Could you try if applying this patch to the latest master fixes the issue?

diff --git a/plugins/idaskins/objectinspector.py b/plugins/idaskins/objectinspector.py
index f1d80f1..d6a7d34 100644
--- a/plugins/idaskins/objectinspector.py
+++ b/plugins/idaskins/objectinspector.py
@@ -20,8 +20,8 @@ class ObjectInspector(ObjectInspectorBase):
     Allows for easier finding of object names and classes
     for usage in QSS stylesheets.
     """
-    def __init__(self, *args, **kwargs):
-        super(ObjectInspector, self).__init__(*args, **kwargs)
+    def __init__(self, parent=None, flags=0):
+        super(ObjectInspector, self).__init__(parent, flags | Qt.Window)

         self._selected_widget = None
         self._ui = Ui_ObjectInspector()
diff --git a/plugins/idaskins/themeselector.py b/plugins/idaskins/themeselector.py
index 9b364a4..c849ed8 100644
--- a/plugins/idaskins/themeselector.py
+++ b/plugins/idaskins/themeselector.py
@@ -114,7 +114,7 @@ class ThemeSelector(ThemeSelectorBase):
         self._ui.lblPreview.setPixmap(scaled)

     def open_object_inspector(self):
-        self._obj_inspector = ObjectInspector()
+        self._obj_inspector = ObjectInspector(self.parent())
         self._obj_inspector.show()

     def resizeEvent(self, *args, **kwargs):

@melomac
Copy link
Contributor Author

melomac commented Nov 6, 2018

Hi. Thanks for providing a workaround, but this doesn't seem to do the trick 😔(I know I just wrote the opposite, but it turns out the CrashReporter window popped under another window).

@athre0z
Copy link
Member

athre0z commented Nov 6, 2018

Hmm. This only happens for the object inspector, not with the theme selector? Does it also happen when you never selected a widget for inspection (never pressed F7)?

@athre0z
Copy link
Member

athre0z commented Jul 19, 2020

Closing due to inactivity.

@athre0z athre0z closed this as completed Jul 19, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants