summaryrefslogtreecommitdiffstats
path: root/sway/ipc-server.c
diff options
context:
space:
mode:
authorLibravatar Drew DeVault <sir@cmpwn.com>2015-12-15 08:41:10 -0500
committerLibravatar Drew DeVault <sir@cmpwn.com>2015-12-15 08:41:10 -0500
commit432e3310f65544d46171c4d25ca252fa0cd34ae7 (patch)
tree746dd69d018c34e5b414843cc5d5eb5b09649f3b /sway/ipc-server.c
parentImplement IPC_GET_BAR_CONFIG (diff)
downloadsway-432e3310f65544d46171c4d25ca252fa0cd34ae7.tar.gz
sway-432e3310f65544d46171c4d25ca252fa0cd34ae7.tar.zst
sway-432e3310f65544d46171c4d25ca252fa0cd34ae7.zip
Fix crash from ipc_json_describe_workspace
destroying workspace '10' Error: Signal 11. Printing backtrace Backtrace: sway(error_handler+0x2f) [0x41478f] Backtrace: /usr/lib/libc.so.6(+0x33680) [0x7f06d9a99680] Backtrace: /usr/lib/libc.so.6(strlen+0x2a) [0x7f06d9ae70ca] Backtrace: /usr/lib/libc.so.6(__strdup+0xe) [0x7f06d9ae6dfe] Backtrace: /usr/lib/libjson-c.so.2(json_object_new_string+0x39) [0x7f06da01ffe9] Backtrace: sway(ipc_json_describe_workspace+0xd8) [0x410408] Backtrace: sway(ipc_event_workspace+0x38) [0x410618] Backtrace: sway(set_focused_container+0x190) [0x40daf0] Backtrace: sway(workspace_switch+0x1a1) [0x4142b1] Backtrace: sway() [0x4096c6] Backtrace: sway(handle_command+0x178) [0x405eb8] Backtrace: sway() [0x40e6ee] Backtrace: /usr/lib/libwlc.so.0(+0x19a1b) [0x7f06da6f0a1b] Backtrace: /usr/lib/libwlc.so.0(+0x11b0c) [0x7f06da6e8b0c] Backtrace: /usr/lib/libwayland-server.so.0(wl_event_loop_dispatch+0x72) [0x7f06d9e13242] Backtrace: /usr/lib/libwayland-server.so.0(wl_display_run+0x25) [0x7f06d9e119a5] Backtrace: /usr/lib/libwlc.so.0(wlc_run+0xfc) [0x7f06da6fda1c] Backtrace: sway(main+0x25f) [0x4125cf] Backtrace: /usr/lib/libc.so.6(__libc_start_main+0xf0) [0x7f06d9a86610] Backtrace: sway(_start+0x29) [0x405bf9]
Diffstat (limited to 'sway/ipc-server.c')
-rw-r--r--sway/ipc-server.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/sway/ipc-server.c b/sway/ipc-server.c
index 727f06da..838dbe2a 100644
--- a/sway/ipc-server.c
+++ b/sway/ipc-server.c
@@ -493,6 +493,10 @@ bool ipc_send_reply(struct ipc_client *client, const char *payload, uint32_t pay
493} 493}
494 494
495json_object *ipc_json_describe_workspace(swayc_t *workspace) { 495json_object *ipc_json_describe_workspace(swayc_t *workspace) {
496 if (!sway_assert(workspace, "Workspace must not be NULL")) {
497 return NULL;
498 }
499
496 int num = isdigit(workspace->name[0]) ? atoi(workspace->name) : -1; 500 int num = isdigit(workspace->name[0]) ? atoi(workspace->name) : -1;
497 json_object *object = json_object_new_object(); 501 json_object *object = json_object_new_object();
498 json_object *rect = json_object_new_object(); 502 json_object *rect = json_object_new_object();