diff --git a/src/backends/meta-crtc.c b/src/backends/meta-crtc.c index 7ca31ba399d61b31b8c270814a16cfc482a8d18e..85424c5756baf466deab4d366391426253199a83 100644 --- a/src/backends/meta-crtc.c +++ b/src/backends/meta-crtc.c @@ -63,6 +63,8 @@ meta_crtc_mode_finalize (GObject *object) if (crtc_mode->driver_notify) crtc_mode->driver_notify (crtc_mode); + g_clear_pointer (&crtc_mode->name, g_free); + G_OBJECT_CLASS (meta_crtc_mode_parent_class)->finalize (object); } diff --git a/src/backends/native/meta-kms-connector.c b/src/backends/native/meta-kms-connector.c index c018a5e62e1583c7de020ff8703b453e87212499..ce8d28ae0784dc7ade9c02afa3be8d5d17f5c79c 100644 --- a/src/backends/native/meta-kms-connector.c +++ b/src/backends/native/meta-kms-connector.c @@ -381,8 +381,11 @@ set_encoder_device_idx_bit (uint32_t *encoder_device_idxs, if (drm_encoder->encoder_id == encoder_id) { *encoder_device_idxs |= (1 << i); + drmModeFreeEncoder (drm_encoder); break; } + + drmModeFreeEncoder (drm_encoder); } } @@ -421,6 +424,8 @@ state_set_crtc_state (MetaKmsConnectorState *state, if (drm_connector->encoder_id == drm_encoder->encoder_id) state->current_crtc_id = drm_encoder->crtc_id; + + drmModeFreeEncoder (drm_encoder); } state->common_possible_crtcs = common_possible_crtcs; diff --git a/src/backends/native/meta-kms-crtc.c b/src/backends/native/meta-kms-crtc.c index da99a58cd2ecbb7fd253743b787500197c3a99a0..6cf75249493e8cb4927ec25b738dc1c9f5df17c0 100644 --- a/src/backends/native/meta-kms-crtc.c +++ b/src/backends/native/meta-kms-crtc.c @@ -203,6 +203,7 @@ meta_kms_crtc_predict_state (MetaKmsCrtc *crtc, if (gamma->crtc != crtc) continue; + clear_gamma_state (crtc); crtc->current_state.gamma.size = gamma->size; crtc->current_state.gamma.red = g_memdup (gamma->red, gamma->size * sizeof (uint16_t)); diff --git a/src/wayland/meta-wayland-surface.c b/src/wayland/meta-wayland-surface.c index 74e134fb6dcbc7b664cba729b1d280a633f6083d..c991d65535c0e3a21bfc80cfab88ed355271f255 100644 --- a/src/wayland/meta-wayland-surface.c +++ b/src/wayland/meta-wayland-surface.c @@ -206,7 +206,7 @@ meta_wayland_surface_assign_role (MetaWaylandSurface *surface, (const GValue *) values->data); surface->role = META_WAYLAND_SURFACE_ROLE (role_object); - g_array_free (names, FALSE); + g_array_free (names, TRUE); g_array_free (values, TRUE); } else diff --git a/src/wayland/meta-wayland.c b/src/wayland/meta-wayland.c index 806c897c983ae65c305dedaa9d920b3e13668cc2..876b4925aa26b2d963cb7e68405a2662c4220e2a 100644 --- a/src/wayland/meta-wayland.c +++ b/src/wayland/meta-wayland.c @@ -266,13 +266,14 @@ set_gnome_env (const char *name, { GDBusConnection *session_bus; GError *error = NULL; + g_autoptr (GVariant) result = NULL; setenv (name, value, TRUE); session_bus = g_bus_get_sync (G_BUS_TYPE_SESSION, NULL, NULL); g_assert (session_bus); - g_dbus_connection_call_sync (session_bus, + result = g_dbus_connection_call_sync (session_bus, "org.gnome.SessionManager", "/org/gnome/SessionManager", "org.gnome.SessionManager", diff --git a/src/wayland/meta-window-wayland.c b/src/wayland/meta-window-wayland.c index 5a73de4c4a8bb275cd708744e63a94ed3b9adb79..7c8bcff42a640643c3e2f676d32838a2be3b54dd 100644 --- a/src/wayland/meta-window-wayland.c +++ b/src/wayland/meta-window-wayland.c @@ -864,6 +864,8 @@ meta_window_wayland_finish_move_resize (MetaWindow *window, gravity = meta_resize_gravity_from_grab_op (window->display->grab_op); meta_window_move_resize_internal (window, flags, gravity, rect); + + g_clear_pointer (&acked_configuration, meta_wayland_window_configuration_free); } void