[mutter] monitor-manager-kms: Don't store a list of encoders
- From: Rui Matos <rtcm src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [mutter] monitor-manager-kms: Don't store a list of encoders
- Date: Mon, 2 Mar 2015 17:50:52 +0000 (UTC)
commit 6af48d75a46c26cc00a87369a81321f0b0972870
Author: Rui Matos <tiagomatos gmail com>
Date: Mon Mar 2 17:33:51 2015 +0100
monitor-manager-kms: Don't store a list of encoders
It's not needed outside of read_current() and current_encoder is
totally unused.
https://bugzilla.gnome.org/show_bug.cgi?id=745476
src/backends/native/meta-monitor-manager-kms.c | 27 ++++++++---------------
1 files changed, 10 insertions(+), 17 deletions(-)
---
diff --git a/src/backends/native/meta-monitor-manager-kms.c b/src/backends/native/meta-monitor-manager-kms.c
index 29c8e24..eeb5877 100644
--- a/src/backends/native/meta-monitor-manager-kms.c
+++ b/src/backends/native/meta-monitor-manager-kms.c
@@ -66,11 +66,6 @@ struct _MetaMonitorManagerKms
drmModeConnector **connectors;
unsigned int n_connectors;
- drmModeEncoder **encoders;
- unsigned int n_encoders;
-
- drmModeEncoder *current_encoder;
-
GUdevClient *udev;
GSettings *desktop_settings;
@@ -88,12 +83,9 @@ free_resources (MetaMonitorManagerKms *manager_kms)
{
unsigned i;
- for (i = 0; i < manager_kms->n_encoders; i++)
- drmModeFreeEncoder (manager_kms->encoders[i]);
for (i = 0; i < manager_kms->n_connectors; i++)
drmModeFreeConnector (manager_kms->connectors[i]);
- g_free (manager_kms->encoders);
g_free (manager_kms->connectors);
}
@@ -338,6 +330,7 @@ meta_monitor_manager_kms_read_current (MetaMonitorManager *manager)
{
MetaMonitorManagerKms *manager_kms = META_MONITOR_MANAGER_KMS (manager);
drmModeRes *resources;
+ drmModeEncoder **encoders;
GHashTable *modes;
GHashTableIter iter;
drmModeModeInfo *mode;
@@ -381,13 +374,9 @@ meta_monitor_manager_kms_read_current (MetaMonitorManager *manager)
}
}
- manager_kms->n_encoders = resources->count_encoders;
- manager_kms->encoders = g_new (drmModeEncoder *, manager_kms->n_encoders);
- for (i = 0; i < manager_kms->n_encoders; i++)
- {
- manager_kms->encoders[i] = drmModeGetEncoder (manager_kms->fd,
- resources->encoders[i]);
- }
+ encoders = g_new (drmModeEncoder *, resources->count_encoders);
+ for (i = 0; i < (unsigned)resources->count_encoders; i++)
+ encoders[i] = drmModeGetEncoder (manager_kms->fd, resources->encoders[i]);
manager->n_modes = g_hash_table_size (modes);
manager->modes = g_new0 (MetaMonitorMode, manager->n_modes);
@@ -625,9 +614,9 @@ meta_monitor_manager_kms_read_current (MetaMonitorManager *manager)
for (j = 0; j < output_kms->n_encoders; j++)
{
- for (k = 0; k < manager_kms->n_encoders; k++)
+ for (k = 0; k < (unsigned)resources->count_encoders; k++)
{
- if (output_kms->encoders[j]->encoder_id == manager_kms->encoders[k]->encoder_id)
+ if (output_kms->encoders[j]->encoder_id == encoders[k]->encoder_id)
{
output_kms->encoder_mask |= (1 << k);
break;
@@ -674,6 +663,10 @@ meta_monitor_manager_kms_read_current (MetaMonitorManager *manager)
}
}
+ for (i = 0; i < (unsigned)resources->count_encoders; i++)
+ drmModeFreeEncoder (encoders[i]);
+ g_free (encoders);
+
drmModeFreeResources (resources);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]