diff options
Diffstat (limited to '')
| -rw-r--r-- | src/servers/crtc.c | 4 | ||||
| -rw-r--r-- | src/servers/gamma.c | 2 | 
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)  	{ | 
