tutorial: Improve type safety of property usage in GObject tutorial

This means that if you compile with `-Wswitch-enum`, the compiler will
warn you about properties which you’ve forgotten to handle in
`set_property()` or `get_property()`.

Signed-off-by: Philip Withnall <withnall@endlessm.com>

Helps: #1858
This commit is contained in:
Philip Withnall 2019-08-29 09:12:18 +01:00
parent fea016399c
commit 61912bffb5

View File

@ -465,12 +465,12 @@ ViewerFile *file = g_object_new (VIEWER_TYPE_FILE, NULL);
/* Implementation */
/************************************************/
enum
typedef enum
{
PROP_FILENAME = 1,
PROP_ZOOM_LEVEL,
N_PROPERTIES
};
} ViewerFileProperty;
static GParamSpec *obj_properties[N_PROPERTIES] = { NULL, };
@ -482,7 +482,7 @@ viewer_file_set_property (GObject *object,
{
ViewerFile *self = VIEWER_FILE (object);
switch (property_id)
switch ((ViewerFileProperty) property_id)
{
case PROP_FILENAME:
g_free (self-&gt;priv-&gt;filename);
@ -510,7 +510,7 @@ viewer_file_get_property (GObject *object,
{
ViewerFile *self = VIEWER_FILE (object);
switch (property_id)
switch ((ViewerFileProperty) property_id)
{
case PROP_FILENAME:
g_value_set_string (value, self-&gt;priv-&gt;filename);