common: Check for valid GDateTime object before comparing
Avoids the critical below at runtime 11:14:36.7796 **[873815]:CRITICAL: cc_util_get_smart_date: assertion 'date != NULL' failed 11:14:36.7802 **[873815]:CRITICAL: cc_util_get_smart_date: assertion 'date != NULL' failed Which comes from the location panel passing a NULL date object. \#0 _g_log_abort (breakpoint=1) at ../shell/cc-log.c:72 debugger_present = 1 \#1 0x000000000045c3c4 in cc_log_write (log_level=10, log_domain=0x7ffff7d592eb "GLib", log_message=0x234c400 "g_date_time_difference: assertion 'begin != NULL' failed", fields=0x7fffffffd740, n_fields=4, user_data=0x0) at ../shell/cc-log.c:315 log_str = 0x234b8d0 stream = 0x7ffff5dbb4e0 <_IO_2_1_stderr_> can_color = 1 \#2 0x000000000045c4f5 in cc_log_handler (log_level=G_LOG_LEVEL_CRITICAL, fields=0x7fffffffd740, n_fields=4, user_data=0x0) at ../shell/cc-log.c:348 log_domain = 0x7ffff7d592eb "GLib" log_message = 0x234c400 "g_date_time_difference: assertion 'begin != NULL' failed" \#3 0x00007ffff7c9f534 in g_log_structured_array () at /lib64/libglib-2.0.so.0 \#4 0x00007ffff7ca4f57 in g_log_default_handler () at /lib64/libglib-2.0.so.0 \#5 0x00007ffff7c9be29 in g_logv () at /lib64/libglib-2.0.so.0 \#6 0x00007ffff7c9c193 in g_log () at /lib64/libglib-2.0.so.0 \#7 0x00007ffff7c787fa in g_date_time_difference () at /lib64/libglib-2.0.so.0 \#8 0x000000000059c186 in cc_util_get_smart_date (date=0x0) at ../panels/common/cc-util.c:124 today = 0x2350130 local = 0x2350100 span = 10791504 \#9 0x00000000004f8a20 in add_location_app (self=0x1dee1c0, app_id=0x232fef0 "org.gnome.Calendar", enabled=1, last_used=459618461810) at ../panels/privacy/cc-location-page.c:209 data = 0xffffda80 app_info = 0x2341c50 t = 0x0 row = 0x2348280 w = 0x234fe00 icon = 0x2345310 last_used_str = 0x0 desktop_id = 0x7fffcc034c30 "DL\310\375\a" \#10 0x00000000004f8db4 in update_perm_store (self=0x1dee1c0, permissions=0x7fffcc04e2c0, permissions_data=0x7fffcc04ee80) at ../panels/privacy/cc-location-page.c:282 enabled = 1 last_used = 459618461810 iter = {x = {140736616260288, 2, 0, 6386038, 140736616096608, 36922576, 16, 3579507750, 140737488345904, 140737350561909, 33733184, 36922576, 140737488345936, 140737350702366, 36922576, 3278251457363369984}} key = 0x232fef0 "org.gnome.Calendar" value = 0x7fffcc04e090 \#11 0x00000000004f8f4e in on_perm_store_lookup_done (source_object=0x1e24040, res=0x202ba40, user_data=0x1dee1c0) at ../panels/privacy/cc-location-page.c:324 error = 0x0 ret = 0x7fffcc04eef0 permissions = 0x7fffcc04e2c0 permissions_data = 0x7fffcc04ee80 \#12 0x00007ffff7e9082c in g_task_return_now () at /lib64/libgio-2.0.so.0 \#13 0x00007ffff7e944c3 in g_task_return () at /lib64/libgio-2.0.so.0 \#14 0x00007ffff7efe88b in reply_cb () at /lib64/libgio-2.0.so.0 \#15 0x00007ffff7e9082c in g_task_return_now () at /lib64/libgio-2.0.so.0 \#16 0x00007ffff7e944c3 in g_task_return () at /lib64/libgio-2.0.so.0
This commit is contained in:
parent
e6de817031
commit
544c146ea8
1 changed files with 3 additions and 0 deletions
|
@ -114,6 +114,9 @@ cc_util_get_smart_date (GDateTime *date)
|
|||
g_autoptr(GDateTime) local = NULL;
|
||||
GTimeSpan span;
|
||||
|
||||
if (date == NULL)
|
||||
return NULL;
|
||||
|
||||
/* Set today date */
|
||||
local = g_date_time_new_now_local ();
|
||||
today = g_date_time_new_local (g_date_time_get_year (local),
|
||||
|
|
Loading…
Add table
Reference in a new issue