malcontent-control: Fix use-after-free when closing
Sometimes, when closing the application, `flush_update_blacklisted_apps()` would be called after `MctRestrictApplicationsSelector` had been destroyed, leading to a critical. This was because the `MctRestrictApplicationsDialog` was being disposed early due to its `destroy-with-parent` property being set. The dispose function of `MctUserControls` was run several times due to GTK calling `g_object_run_dispose()`, and the critical would be emitted the second time. Make the dispose function’s call to `flush_update_blacklisted_apps()` be safe for multiple dispose calls, and ensure the dialog isn’t destroyed too early. Signed-off-by: Philip Withnall <withnall@endlessm.com>
This commit is contained in:
parent
00bb439f6e
commit
695ee10235
2 changed files with 12 additions and 2 deletions
|
@ -527,7 +527,7 @@
|
|||
<object class="MctRestrictApplicationsDialog" id="restrict_applications_dialog">
|
||||
<property name="visible">False</property>
|
||||
<property name="modal">True</property>
|
||||
<property name="destroy-with-parent">True</property>
|
||||
<property name="destroy-with-parent">False</property>
|
||||
<property name="use-header-bar">1</property>
|
||||
<signal name="delete-event" handler="on_restrict_applications_dialog_delete_event_cb" />
|
||||
<signal name="response" handler="on_restrict_applications_dialog_response_cb" />
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue