summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBastien Nocera <hadess@hadess.net>2021-03-31 11:06:44 +0200
committerBastien Nocera <hadess@hadess.net>2021-03-31 11:12:17 +0200
commit9acaa10567c94048657c69538e5d7813f82c4224 (patch)
treeaf995adee0bd91cd5933a36c3138081444f735d0
parent1e0076da23cfbe6bebaf1b53c59255b3cd5296dd (diff)
downloadgnome-control-center-wip/hadess/power-profiles-startup-crash.tar.gz
power: Fix possible assertion on startupwip/hadess/power-profiles-startup-crash
When opening the Power panel, and if power-profiles-daemon isn't already started, we'll be autostarting it, making it send signals about all the changed properties, including "PerformanceInhibited" even if we don't have a Performance row. Ignore the property change if we don't have a row for it rather than asserting. #0 0x00007f73916bc292 in raise () from /lib64/libc.so.6 #1 0x00007f73916a58a4 in abort () from /lib64/libc.so.6 #2 0x00007f7393203ccc in g_assertion_message.cold () from /lib64/libglib-2.0.so.0 #3 0x00007f739325f22f in g_assertion_message_expr () from /lib64/libglib-2.0.so.0 #4 0x000055a4099e28ae in performance_profile_set_inhibited (self=0x55a40b37e320, self=0x55a40b37e320, performance_inhibited=<optimized out>) at ../panels/power/cc-power-panel.c:1366 #5 power_profiles_properties_changed_cb (self=0x55a40b37e320, changed_properties=<optimized out>, invalidated_properties=<optimized out>, proxy=<optimized out>) at ../panels/power/cc-power-panel.c:1425 #6 0x00007f7393332c2f in g_closure_invoke () from /lib64/libgobject-2.0.so.0 #7 0x00007f739334eea6 in signal_emit_unlocked_R () from /lib64/libgobject-2.0.so.0 1362 { 1363 CcPowerProfileRow *row; 1364 1365 row = self->power_profiles_row[CC_POWER_PROFILE_PERFORMANCE]; 1366 g_assert (row != NULL); 1367 cc_power_profile_row_set_performance_inhibited (row, performance_inhibited); 1368 }
-rw-r--r--panels/power/cc-power-panel.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/panels/power/cc-power-panel.c b/panels/power/cc-power-panel.c
index c9c4705da..0b8226a29 100644
--- a/panels/power/cc-power-panel.c
+++ b/panels/power/cc-power-panel.c
@@ -1363,7 +1363,8 @@ performance_profile_set_inhibited (CcPowerPanel *self,
CcPowerProfileRow *row;
row = self->power_profiles_row[CC_POWER_PROFILE_PERFORMANCE];
- g_assert (row != NULL);
+ if (!row)
+ return;
cc_power_profile_row_set_performance_inhibited (row, performance_inhibited);
}