Use more g_autofoo throughout mutter

This commit is contained in:
Jasper St. Pierre 2015-05-29 17:17:34 -07:00
parent 4a968c3b4e
commit 4d80a4cc31
5 changed files with 42 additions and 119 deletions

View File

@ -886,14 +886,14 @@ apply_configuration (MetaMonitorConfig *self,
MetaConfiguration *config, MetaConfiguration *config,
MetaMonitorManager *manager) MetaMonitorManager *manager)
{ {
GPtrArray *crtcs, *outputs; g_autoptr(GPtrArray) crtcs = NULL;
gboolean ret = FALSE; g_autoptr(GPtrArray) outputs = NULL;
crtcs = g_ptr_array_new_full (config->n_outputs, (GDestroyNotify)meta_crtc_info_free); crtcs = g_ptr_array_new_full (config->n_outputs, (GDestroyNotify)meta_crtc_info_free);
outputs = g_ptr_array_new_full (config->n_outputs, (GDestroyNotify)meta_output_info_free); outputs = g_ptr_array_new_full (config->n_outputs, (GDestroyNotify)meta_output_info_free);
if (!meta_monitor_config_assign_crtcs (config, manager, crtcs, outputs)) if (!meta_monitor_config_assign_crtcs (config, manager, crtcs, outputs))
goto out; return FALSE;
meta_monitor_manager_apply_configuration (manager, meta_monitor_manager_apply_configuration (manager,
(MetaCRTCInfo**)crtcs->pdata, crtcs->len, (MetaCRTCInfo**)crtcs->pdata, crtcs->len,
@ -905,12 +905,7 @@ apply_configuration (MetaMonitorConfig *self,
* inside turn_off_laptop_display / apply_configuration_with_lid */ * inside turn_off_laptop_display / apply_configuration_with_lid */
self->current_is_for_laptop_lid = FALSE; self->current_is_for_laptop_lid = FALSE;
ret = TRUE; return TRUE;
out:
g_ptr_array_unref (crtcs);
g_ptr_array_unref (outputs);
return ret;
} }
static gboolean static gboolean
@ -1840,7 +1835,6 @@ real_assign_crtcs (CrtcAssignment *assignment,
MetaOutputKey *output_key; MetaOutputKey *output_key;
MetaOutputConfig *output_config; MetaOutputConfig *output_config;
unsigned int i; unsigned int i;
gboolean success;
if (output_num == assignment->config->n_outputs) if (output_num == assignment->config->n_outputs)
return TRUE; return TRUE;
@ -1857,8 +1851,6 @@ real_assign_crtcs (CrtcAssignment *assignment,
&crtcs, &n_crtcs, &crtcs, &n_crtcs,
&outputs, &n_outputs); &outputs, &n_outputs);
success = FALSE;
for (i = 0; i < n_crtcs; i++) for (i = 0; i < n_crtcs; i++)
{ {
MetaCRTC *crtc = &crtcs[i]; MetaCRTC *crtc = &crtcs[i];
@ -1905,10 +1897,7 @@ real_assign_crtcs (CrtcAssignment *assignment,
output)) output))
{ {
if (real_assign_crtcs (assignment, output_num + 1)) if (real_assign_crtcs (assignment, output_num + 1))
{ return TRUE;
success = TRUE;
goto out;
}
crtc_assignment_unassign (assignment, crtc, output); crtc_assignment_unassign (assignment, crtc, output);
} }
@ -1917,8 +1906,7 @@ real_assign_crtcs (CrtcAssignment *assignment,
} }
} }
out: return FALSE;
return success;
} }
static gboolean static gboolean

View File

@ -368,16 +368,14 @@ static char *
make_display_name (MetaMonitorManager *manager, make_display_name (MetaMonitorManager *manager,
MetaOutput *output) MetaOutput *output)
{ {
char *inches = NULL; g_autofree char *inches = NULL;
char *vendor_name = NULL; g_autofree char *vendor_name = NULL;
char *ret;
switch (output->connector_type) switch (output->connector_type)
{ {
case META_CONNECTOR_TYPE_LVDS: case META_CONNECTOR_TYPE_LVDS:
case META_CONNECTOR_TYPE_eDP: case META_CONNECTOR_TYPE_eDP:
ret = g_strdup (_("Built-in display")); return g_strdup (_("Built-in display"));
goto out;
default: default:
break; break;
} }
@ -413,18 +411,12 @@ make_display_name (MetaMonitorManager *manager,
/* TRANSLATORS: this is a monitor vendor name, followed by a /* TRANSLATORS: this is a monitor vendor name, followed by a
* size in inches, like 'Dell 15"' * size in inches, like 'Dell 15"'
*/ */
ret = g_strdup_printf (_("%s %s"), vendor_name, inches); return g_strdup_printf (_("%s %s"), vendor_name, inches);
} }
else else
{ {
ret = g_strdup (vendor_name); return g_strdup (vendor_name);
} }
out:
g_free (inches);
g_free (vendor_name);
return ret;
} }
static const char * static const char *

View File

@ -130,9 +130,8 @@ take_device (Login1Session *session_proxy,
GCancellable *cancellable, GCancellable *cancellable,
GError **error) GError **error)
{ {
gboolean ret = FALSE; g_autoptr (GVariant) fd_variant = NULL;
GVariant *fd_variant = NULL; g_autoptr (GUnixFDList) fd_list = NULL;
GUnixFDList *fd_list = NULL;
int fd = -1; int fd = -1;
if (!login1_session_call_take_device_sync (session_proxy, if (!login1_session_call_take_device_sync (session_proxy,
@ -144,21 +143,14 @@ take_device (Login1Session *session_proxy,
&fd_list, &fd_list,
cancellable, cancellable,
error)) error))
goto out; return FALSE;
fd = g_unix_fd_list_get (fd_list, g_variant_get_handle (fd_variant), error); fd = g_unix_fd_list_get (fd_list, g_variant_get_handle (fd_variant), error);
if (fd == -1) if (fd == -1)
goto out; return FALSE;
*out_fd = fd; *out_fd = fd;
ret = TRUE; return TRUE;
out:
if (fd_variant)
g_variant_unref (fd_variant);
if (fd_list)
g_object_unref (fd_list);
return ret;
} }
static gboolean static gboolean
@ -166,22 +158,16 @@ get_device_info_from_path (const char *path,
int *out_major, int *out_major,
int *out_minor) int *out_minor)
{ {
gboolean ret = FALSE;
int r; int r;
struct stat st; struct stat st;
r = stat (path, &st); r = stat (path, &st);
if (r < 0) if (r < 0 || !S_ISCHR (st.st_mode))
goto out; return FALSE;
if (!S_ISCHR (st.st_mode))
goto out;
*out_major = major (st.st_rdev); *out_major = major (st.st_rdev);
*out_minor = minor (st.st_rdev); *out_minor = minor (st.st_rdev);
ret = TRUE; return TRUE;
out:
return ret;
} }
static gboolean static gboolean
@ -189,22 +175,16 @@ get_device_info_from_fd (int fd,
int *out_major, int *out_major,
int *out_minor) int *out_minor)
{ {
gboolean ret = FALSE;
int r; int r;
struct stat st; struct stat st;
r = fstat (fd, &st); r = fstat (fd, &st);
if (r < 0) if (r < 0 || !S_ISCHR (st.st_mode))
goto out; return FALSE;
if (!S_ISCHR (st.st_mode))
goto out;
*out_major = major (st.st_rdev); *out_major = major (st.st_rdev);
*out_minor = minor (st.st_rdev); *out_minor = minor (st.st_rdev);
ret = TRUE; return TRUE;
out:
return ret;
} }
static int static int

View File

@ -194,11 +194,10 @@ static gboolean
output_get_boolean_property (MetaMonitorManagerXrandr *manager_xrandr, output_get_boolean_property (MetaMonitorManagerXrandr *manager_xrandr,
MetaOutput *output, const char *propname) MetaOutput *output, const char *propname)
{ {
gboolean value = FALSE;
Atom atom, actual_type; Atom atom, actual_type;
int actual_format; int actual_format;
unsigned long nitems, bytes_after; unsigned long nitems, bytes_after;
unsigned char *buffer; g_autofree unsigned char *buffer = NULL;
atom = XInternAtom (manager_xrandr->xdisplay, propname, False); atom = XInternAtom (manager_xrandr->xdisplay, propname, False);
XRRGetOutputProperty (manager_xrandr->xdisplay, XRRGetOutputProperty (manager_xrandr->xdisplay,
@ -209,13 +208,9 @@ output_get_boolean_property (MetaMonitorManagerXrandr *manager_xrandr,
&nitems, &bytes_after, &buffer); &nitems, &bytes_after, &buffer);
if (actual_type != XA_CARDINAL || actual_format != 32 || nitems < 1) if (actual_type != XA_CARDINAL || actual_format != 32 || nitems < 1)
goto out; return FALSE;
value = ((int*)buffer)[0]; return ((int*)buffer)[0];
out:
XFree (buffer);
return value;
} }
static gboolean static gboolean
@ -229,12 +224,11 @@ static gboolean
output_get_underscanning_xrandr (MetaMonitorManagerXrandr *manager_xrandr, output_get_underscanning_xrandr (MetaMonitorManagerXrandr *manager_xrandr,
MetaOutput *output) MetaOutput *output)
{ {
gboolean value = FALSE;
Atom atom, actual_type; Atom atom, actual_type;
int actual_format; int actual_format;
unsigned long nitems, bytes_after; unsigned long nitems, bytes_after;
unsigned char *buffer; g_autofree unsigned char *buffer = NULL;
char *str; g_autofree char *str = NULL;
atom = XInternAtom (manager_xrandr->xdisplay, "underscan", False); atom = XInternAtom (manager_xrandr->xdisplay, "underscan", False);
XRRGetOutputProperty (manager_xrandr->xdisplay, XRRGetOutputProperty (manager_xrandr->xdisplay,
@ -244,17 +238,11 @@ output_get_underscanning_xrandr (MetaMonitorManagerXrandr *manager_xrandr,
&actual_type, &actual_format, &actual_type, &actual_format,
&nitems, &bytes_after, &buffer); &nitems, &bytes_after, &buffer);
if (actual_type != XA_ATOM || actual_format != 32 || if (actual_type != XA_ATOM || actual_format != 32 || nitems < 1)
nitems < 1) return FALSE;
goto out;
str = XGetAtomName (manager_xrandr->xdisplay, *(Atom *)buffer); str = XGetAtomName (manager_xrandr->xdisplay, *(Atom *)buffer);
value = !strcmp(str, "on"); return (strcmp (str, "on") == 0);
XFree (str);
out:
XFree (buffer);
return value;
} }
static int static int
@ -273,7 +261,7 @@ output_get_backlight_xrandr (MetaMonitorManagerXrandr *manager_xrandr,
Atom atom, actual_type; Atom atom, actual_type;
int actual_format; int actual_format;
unsigned long nitems, bytes_after; unsigned long nitems, bytes_after;
unsigned char *buffer; g_autofree unsigned char *buffer = NULL;
atom = XInternAtom (manager_xrandr->xdisplay, "Backlight", False); atom = XInternAtom (manager_xrandr->xdisplay, "Backlight", False);
XRRGetOutputProperty (manager_xrandr->xdisplay, XRRGetOutputProperty (manager_xrandr->xdisplay,
@ -284,12 +272,9 @@ output_get_backlight_xrandr (MetaMonitorManagerXrandr *manager_xrandr,
&nitems, &bytes_after, &buffer); &nitems, &bytes_after, &buffer);
if (actual_type != XA_INTEGER || actual_format != 32 || nitems < 1) if (actual_type != XA_INTEGER || actual_format != 32 || nitems < 1)
goto out; return FALSE;
value = ((int*)buffer)[0]; value = ((int*)buffer)[0];
out:
XFree (buffer);
if (value > 0) if (value > 0)
return normalize_backlight (output, value); return normalize_backlight (output, value);
else else
@ -302,7 +287,7 @@ output_get_backlight_limits_xrandr (MetaMonitorManagerXrandr *manager_xrandr,
{ {
Atom atom; Atom atom;
xcb_connection_t *xcb_conn; xcb_connection_t *xcb_conn;
xcb_randr_query_output_property_reply_t *reply; g_autofree xcb_randr_query_output_property_reply_t *reply;
atom = XInternAtom (manager_xrandr->xdisplay, "Backlight", False); atom = XInternAtom (manager_xrandr->xdisplay, "Backlight", False);
@ -320,15 +305,12 @@ output_get_backlight_limits_xrandr (MetaMonitorManagerXrandr *manager_xrandr,
if (!reply->range || reply->length != 2) if (!reply->range || reply->length != 2)
{ {
meta_verbose ("backlight %s was not range\n", output->name); meta_verbose ("backlight %s was not range\n", output->name);
goto out; return;
} }
int32_t *values = xcb_randr_query_output_property_valid_values (reply); int32_t *values = xcb_randr_query_output_property_valid_values (reply);
output->backlight_min = values[0]; output->backlight_min = values[0];
output->backlight_max = values[1]; output->backlight_max = values[1];
out:
free (reply);
} }
static int static int
@ -479,11 +461,10 @@ static MetaConnectorType
output_get_connector_type_from_prop (MetaMonitorManagerXrandr *manager_xrandr, output_get_connector_type_from_prop (MetaMonitorManagerXrandr *manager_xrandr,
MetaOutput *output) MetaOutput *output)
{ {
MetaConnectorType ret = META_CONNECTOR_TYPE_Unknown;
Atom atom, actual_type, connector_type_atom; Atom atom, actual_type, connector_type_atom;
int actual_format; int actual_format;
unsigned long nitems, bytes_after; unsigned long nitems, bytes_after;
unsigned char *buffer; g_autofree unsigned char *buffer = NULL;
atom = XInternAtom (manager_xrandr->xdisplay, "ConnectorType", False); atom = XInternAtom (manager_xrandr->xdisplay, "ConnectorType", False);
XRRGetOutputProperty (manager_xrandr->xdisplay, XRRGetOutputProperty (manager_xrandr->xdisplay,
@ -494,14 +475,10 @@ output_get_connector_type_from_prop (MetaMonitorManagerXrandr *manager_xrandr,
&nitems, &bytes_after, &buffer); &nitems, &bytes_after, &buffer);
if (actual_type != XA_ATOM || actual_format != 32 || nitems < 1) if (actual_type != XA_ATOM || actual_format != 32 || nitems < 1)
goto out; return META_CONNECTOR_TYPE_Unknown;
connector_type_atom = ((Atom *) buffer)[0]; connector_type_atom = ((Atom *) buffer)[0];
ret = connector_type_from_atom (manager_xrandr, connector_type_atom); return connector_type_from_atom (manager_xrandr, connector_type_atom);
out:
meta_XFree (buffer);
return ret;
} }
static MetaConnectorType static MetaConnectorType
@ -1068,7 +1045,7 @@ meta_monitor_manager_xrandr_apply_configuration (MetaMonitorManager *manager,
if (crtc_info->mode != NULL) if (crtc_info->mode != NULL)
{ {
MetaMonitorMode *mode; MetaMonitorMode *mode;
XID *outputs; g_autofree XID *outputs = NULL;
unsigned int j, n_outputs; unsigned int j, n_outputs;
int width, height; int width, height;
Status ok; Status ok;
@ -1105,7 +1082,7 @@ meta_monitor_manager_xrandr_apply_configuration (MetaMonitorManager *manager,
(unsigned)(crtc->crtc_id), (unsigned)(mode->mode_id), (unsigned)(crtc->crtc_id), (unsigned)(mode->mode_id),
mode->width, mode->height, (float)mode->refresh_rate, mode->width, mode->height, (float)mode->refresh_rate,
crtc_info->x, crtc_info->y, crtc_info->transform); crtc_info->x, crtc_info->y, crtc_info->transform);
goto next; continue;
} }
if (meta_monitor_transform_is_rotated (crtc_info->transform)) if (meta_monitor_transform_is_rotated (crtc_info->transform))
@ -1125,9 +1102,6 @@ meta_monitor_manager_xrandr_apply_configuration (MetaMonitorManager *manager,
crtc->rect.height = height; crtc->rect.height = height;
crtc->current_mode = mode; crtc->current_mode = mode;
crtc->transform = crtc_info->transform; crtc->transform = crtc_info->transform;
next:
g_free (outputs);
} }
} }

View File

@ -176,7 +176,6 @@ static gboolean
accelerator_parse (const gchar *accelerator, accelerator_parse (const gchar *accelerator,
MetaKeyCombo *combo) MetaKeyCombo *combo)
{ {
gboolean error = FALSE;
guint keyval, keycode; guint keyval, keycode;
MetaVirtualModifier mods; MetaVirtualModifier mods;
gint len; gint len;
@ -186,10 +185,7 @@ accelerator_parse (const gchar *accelerator,
combo->modifiers = 0; combo->modifiers = 0;
if (accelerator == NULL) if (accelerator == NULL)
{ return FALSE;
error = TRUE;
goto out;
}
keyval = 0; keyval = 0;
keycode = 0; keycode = 0;
@ -310,10 +306,7 @@ accelerator_parse (const gchar *accelerator,
g_free (with_xf86); g_free (with_xf86);
if (keyval == XKB_KEY_NoSymbol) if (keyval == XKB_KEY_NoSymbol)
{ return FALSE;
error = TRUE;
goto out;
}
} }
} }
@ -323,13 +316,9 @@ accelerator_parse (const gchar *accelerator,
} }
out: out:
if (error)
return FALSE;
combo->keysym = keyval; combo->keysym = keyval;
combo->keycode = keycode; combo->keycode = keycode;
combo->modifiers = mods; combo->modifiers = mods;
return TRUE; return TRUE;
} }