Check pointer to preferences backend before using it

This commit is contained in:
Christian Gruber 2020-06-10 22:04:30 +02:00
parent 766f88c02d
commit 8425af784e

View File

@ -13,41 +13,53 @@ gmock_gnc_prefs_set_backend(MockPrefsBackend *backend)
gboolean gboolean
gnc_prefs_get_bool (const gchar *group, const gchar *pref_name) gnc_prefs_get_bool (const gchar *group, const gchar *pref_name)
{ {
return prefsbackend->getBool(group, pref_name); EXPECT_NE(prefsbackend, nullptr);
return prefsbackend ? prefsbackend->getBool(group, pref_name) : FALSE;
} }
gint gint
gnc_prefs_get_int (const gchar *group, const gchar *pref_name) gnc_prefs_get_int (const gchar *group, const gchar *pref_name)
{ {
return prefsbackend->getInt(group, pref_name); EXPECT_NE(prefsbackend, nullptr);
return prefsbackend ? prefsbackend->getInt(group, pref_name) : 0;
} }
gint64 gint64
gnc_prefs_get_int64 (const gchar *group, const gchar *pref_name) gnc_prefs_get_int64 (const gchar *group, const gchar *pref_name)
{ {
return prefsbackend->getInt64(group, pref_name); EXPECT_NE(prefsbackend, nullptr);
return prefsbackend ? prefsbackend->getInt64(group, pref_name) : 0;
} }
gdouble gdouble
gnc_prefs_get_float (const gchar *group, const gchar *pref_name) gnc_prefs_get_float (const gchar *group, const gchar *pref_name)
{ {
return prefsbackend->getFloat(group, pref_name); EXPECT_NE(prefsbackend, nullptr);
return prefsbackend ? prefsbackend->getFloat(group, pref_name) : 0.0;
} }
gchar * gchar *
gnc_prefs_get_string (const gchar *group, const gchar *pref_name) gnc_prefs_get_string (const gchar *group, const gchar *pref_name)
{ {
return prefsbackend->getString(group, pref_name); EXPECT_NE(prefsbackend, nullptr);
return prefsbackend ? prefsbackend->getString(group, pref_name) : NULL;
} }
gint gint
gnc_prefs_get_enum (const gchar *group, const gchar *pref_name) gnc_prefs_get_enum (const gchar *group, const gchar *pref_name)
{ {
return prefsbackend->getEnum(group, pref_name); EXPECT_NE(prefsbackend, nullptr);
return prefsbackend ? prefsbackend->getEnum(group, pref_name) : 0;
} }
void void
gnc_prefs_get_coords (const gchar *group, const gchar *pref_name, gdouble *x, gdouble *y) gnc_prefs_get_coords (const gchar *group, const gchar *pref_name, gdouble *x, gdouble *y)
{ {
prefsbackend->getCoords(group, pref_name, x, y); EXPECT_NE(prefsbackend, nullptr);
*x = 0.0;
*y = 0.0;
if (prefsbackend != nullptr)
prefsbackend->getCoords(group, pref_name, x, y);
} }