aboutsummaryrefslogtreecommitdiffstats
path: root/src/servers
diff options
context:
space:
mode:
Diffstat (limited to 'src/servers')
-rw-r--r--src/servers/crtc.c4
-rw-r--r--src/servers/gamma.c2
2 files changed, 6 insertions, 0 deletions
diff --git a/src/servers/crtc.c b/src/servers/crtc.c
index bc3b51b..9e08820 100644
--- a/src/servers/crtc.c
+++ b/src/servers/crtc.c
@@ -129,6 +129,7 @@ int initialise_crtcs(void)
int gerror;
/* Get partitions */
+ outputs_n = 0;
if (site.partitions_available)
if (!(partitions = calloc(site.partitions_available, sizeof(*partitions))))
goto fail;
@@ -244,12 +245,15 @@ int disconnect(void)
{
outputs[i].crtc = NULL;
libgamma_crtc_destroy(crtcs + i);
+ output_destroy(outputs + i);
}
free(crtcs), crtcs = NULL;
+ free(outputs), outputs = NULL;
for (i = 0; i < site.partitions_available; i++)
libgamma_partition_destroy(partitions + i);
free(partitions), partitions = NULL;
libgamma_site_destroy(&site);
+ memset(&site, 0, sizeof(site));
return 0;
}
diff --git a/src/servers/gamma.c b/src/servers/gamma.c
index 8f2df15..17105d4 100644
--- a/src/servers/gamma.c
+++ b/src/servers/gamma.c
@@ -356,6 +356,8 @@ void restore_gamma(void)
{
if (outputs[i].supported == LIBGAMMA_NO)
continue;
+ if (outputs[i].saved_ramps.u8.red == NULL)
+ continue;
switch (outputs[i].depth)
{