]> git.sur5r.net Git - i3/i3/blobdiff - src/randr.c
Fix: ConfigureNotify can crash i3 with fake-outputs
[i3/i3] / src / randr.c
index c43c645517c215b99a2bd7d306dfc5a058ad1a87..d4d7402a704ccc1dec3f7efb4e56b86d1c6f8aa9 100644 (file)
@@ -427,11 +427,7 @@ void init_ws_for_output(Output *output, Con *content) {
         if (strcmp(assignment->output, output_primary_name(output)) != 0)
             continue;
 
-        /* check if this workspace actually exists */
-        Con *workspace = NULL, *out;
-        TAILQ_FOREACH(out, &(croot->nodes_head), nodes)
-        GREP_FIRST(workspace, output_get_content(out),
-                   !strcasecmp(child->name, assignment->name));
+        Con *workspace = get_existing_workspace_by_name(assignment->name);
         if (workspace == NULL)
             continue;
 
@@ -860,8 +856,9 @@ void randr_query_outputs(void) {
     /* If there's no randr output, enable the output covering the root window. */
     if (any_randr_output_active()) {
         DLOG("Active RandR output found. Disabling root output.\n");
-        if (root_output->active)
+        if (root_output && root_output->active) {
             root_output->to_be_disabled = true;
+        }
     } else {
         DLOG("No active RandR output found. Enabling root output.\n");
         root_output->active = true;