aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDrew DeVault <sir@cmpwn.com>2018-03-28 16:58:56 -0400
committerGitHub <noreply@github.com>2018-03-28 16:58:56 -0400
commit0c8bc0264a8a66365c88c4f829c1ac0fefa65432 (patch)
treea8a0a09e79ff6e5282a5b7e04b9247aa1f1647f5
parentf99a653bd3c48c8be300bd98f89789055f55962d (diff)
parente4e8b66efdade7f8beb75beea9f527f74a07529a (diff)
downloadsway-0c8bc0264a8a66365c88c4f829c1ac0fefa65432.zip
sway-0c8bc0264a8a66365c88c4f829c1ac0fefa65432.tar.gz
sway-0c8bc0264a8a66365c88c4f829c1ac0fefa65432.tar.bz2
Merge pull request #1640 from taiyu-len/fix_remove_view_from_scratchpad
fix remove_view_from_scratchpad
-rw-r--r--sway/commands.c2
-rw-r--r--sway/container.c3
-rw-r--r--sway/debug_log.c5
3 files changed, 9 insertions, 1 deletions
diff --git a/sway/commands.c b/sway/commands.c
index c7dbf73..fb3653a 100644
--- a/sway/commands.c
+++ b/sway/commands.c
@@ -141,12 +141,12 @@ void remove_view_from_scratchpad(swayc_t *view) {
int i;
for (i = 0; i < scratchpad->length; i++) {
if (scratchpad->items[i] == view) {
+ list_del(scratchpad, sp_index);
if (sp_index == 0) {
sp_index = scratchpad->length - 1;
} else {
sp_index--;
}
- list_del(scratchpad, sp_index);
sp_view = NULL;
}
}
diff --git a/sway/container.c b/sway/container.c
index 829fde6..9fb044a 100644
--- a/sway/container.c
+++ b/sway/container.c
@@ -869,6 +869,9 @@ void container_map(swayc_t *container, void (*f)(swayc_t *view, void *data), voi
void update_visibility_output(swayc_t *container, wlc_handle output) {
// Inherit visibility
swayc_t *parent = container->parent;
+ if (parent == NULL) {
+ return;
+ }
container->visible = parent->visible;
// special cases where visibility depends on focus
if (parent->type == C_OUTPUT || parent->layout == L_TABBED ||
diff --git a/sway/debug_log.c b/sway/debug_log.c
index d1eafae..166c41e 100644
--- a/sway/debug_log.c
+++ b/sway/debug_log.c
@@ -71,6 +71,11 @@ void layout_log(const swayc_t *c, int depth) {
layout_log(c->floating->items[i], depth + 1);
}
}
+ } else if (c->type == C_ROOT && scratchpad->length > 0) {
+ fprintf(stderr, "ScratchPad\n");
+ for (i = 0; i < scratchpad->length; ++i) {
+ container_log(scratchpad->items[i], 0);
+ }
}
}