color-panel: Do not try to access to null pointer in destruction
During destruction toolbar_devices is nullified, but
gtk_widget_in_destruction() does not perform a NULL-check, and we could
crash:
==22708== Invalid read of size 1
==22708== at 0x505CC0B: gtk_widget_in_destruction (gtkwidget.c:10643)
==22708== by 0x189553: gcm_prefs_list_box_row_selected_cb (cc-color-panel.c:1708)
==22708== by 0x4A61714: g_cclosure_marshal_VOID__OBJECTv (gmarshal.c:1910)
==22708== by 0x4A5E148: _g_closure_invoke_va (gclosure.c:895)
==22708== by 0x4A784F3: g_signal_emit_valist (gsignal.c:3462)
==22708== by 0x4A78722: g_signal_emit (gsignal.c:3612)
==22708== by 0x4F5B121: gtk_list_box_remove (gtklistbox.c:2420)
==22708== by 0x4F5B222: gtk_list_box_dispose (gtklistbox.c:439)
==22708== by 0x4A63338: g_object_unref (gobject.c:3891)
==22708== by 0x4EAA994: gtk_box_dispose (gtkbox.c:230)
==22708== by 0x4A63338: g_object_unref (gobject.c:3891)
==22708== by 0x4EAA994: gtk_box_dispose (gtkbox.c:230)
==22708== Address 0xfffffffffffffeb2 is not stack'd, malloc'd or (recently) free'd
See: 2009913
This commit is contained in:
parent
852b39cdc6
commit
4b400736bc
1 changed files with 2 additions and 1 deletions
|
@ -1705,7 +1705,8 @@ static void
|
|||
gcm_prefs_list_box_row_selected_cb (CcColorPanel *panel,
|
||||
GtkListBoxRow *row)
|
||||
{
|
||||
if (gtk_widget_in_destruction (panel->toolbar_devices))
|
||||
if (!panel->toolbar_devices ||
|
||||
gtk_widget_in_destruction (panel->toolbar_devices))
|
||||
return;
|
||||
|
||||
gcm_prefs_refresh_toolbar_buttons (panel);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue