aboutsummaryrefslogtreecommitdiff
path: root/sway/desktop
AgeCommit message (Collapse)Author
2018-06-26layer_shell: order destroying before sway_outputDominique Martinet
Both sway_output and sway_layer_shell listen to wlr's output destroy event, but sway_layer_shell needs to access into sway_output's data strucure and needs to be destroyed first. Resolve this by making sway_layer_shell listen to a new event that happens at start of sway_output's destroy handler
2018-06-26layer_shell: cleanup output link on output destroyDominique Martinet
Fixes this kind of use-after-free: ==1795==ERROR: AddressSanitizer: heap-use-after-free on address 0x612000191ef0 at pc 0x00000048c388 bp 0x7ffe308f0410 sp 0x7ffe308f0400 WRITE of size 8 at 0x612000191ef0 thread T0 #0 0x48c387 in wl_list_remove ../common/list.c:157 #1 0x42196b in handle_destroy ../sway/desktop/layer_shell.c:275 #2 0x7f55cc2549fa in wlr_signal_emit_safe ../util/signal.c:29 #3 0x7f55cc22cf68 in layer_surface_destroy ../types/wlr_layer_shell.c:182 #4 0x7f55cc22d084 in layer_surface_resource_destroy ../types/wlr_layer_shell.c:196 #5 0x7f55cc4ca025 in destroy_resource src/wayland-server.c:688 #6 0x7f55cc4ca091 in wl_resource_destroy src/wayland-server.c:705 #7 0x7f55cc22c3a2 in resource_handle_destroy ../types/wlr_layer_shell.c:18 #8 0x7f55c8ef103d in ffi_call_unix64 (/lib64/libffi.so.6+0x603d) #9 0x7f55c8ef09fe in ffi_call (/lib64/libffi.so.6+0x59fe) #10 0x7f55cc4cdf2c (/lib64/libwayland-server.so.0+0xbf2c) #11 0x7f55cc4ca3de in wl_client_connection_data src/wayland-server.c:420 #12 0x7f55cc4cbf01 in wl_event_loop_dispatch src/event-loop.c:641 #13 0x7f55cc4ca601 in wl_display_run src/wayland-server.c:1260 #14 0x40bb1e in server_run ../sway/server.c:141 #15 0x40ab2f in main ../sway/main.c:432 #16 0x7f55cb97318a in __libc_start_main ../csu/libc-start.c:308 #17 0x408d29 in _start (/opt/wayland/bin/sway+0x408d29) 0x612000191ef0 is located 48 bytes inside of 312-byte region [0x612000191ec0,0x612000191ff8) freed by thread T0 here: #0 0x7f55ce3bb880 in __interceptor_free (/lib64/libasan.so.5+0xee880) #1 0x42f1db in handle_destroy ../sway/desktop/output.c:1275 #2 0x7f55cc2549fa in wlr_signal_emit_safe ../util/signal.c:29 #3 0x7f55cc23b4c2 in wlr_output_destroy ../types/wlr_output.c:284 #4 0x7f55cc1ddc20 in xdg_toplevel_handle_close ../backend/wayland/output.c:235 #5 0x7f55c8ef103d in ffi_call_unix64 (/lib64/libffi.so.6+0x603d) previously allocated by thread T0 here: #0 0x7f55ce3bbe50 in calloc (/lib64/libasan.so.5+0xeee50) #1 0x42f401 in handle_new_output ../sway/desktop/output.c:1308 #2 0x7f55cc2549fa in wlr_signal_emit_safe ../util/signal.c:29 #3 0x7f55cc1d6cbf in new_output_reemit ../backend/multi/backend.c:113 #4 0x7f55cc2549fa in wlr_signal_emit_safe ../util/signal.c:29 #5 0x7f55cc1deac7 in wlr_wl_output_create ../backend/wayland/output.c:327 #6 0x7f55cc1db353 in backend_start ../backend/wayland/backend.c:55 #7 0x7f55cc1bad55 in wlr_backend_start ../backend/backend.c:35 #8 0x7f55cc1d67a0 in multi_backend_start ../backend/multi/backend.c:24 #9 0x7f55cc1bad55 in wlr_backend_start ../backend/backend.c:35 #10 0x40ba8a in server_run ../sway/server.c:136 #11 0x40ab2f in main ../sway/main.c:432 #12 0x7f55cb97318a in __libc_start_main ../csu/libc-start.c:308
2018-06-16Update for swaywm/wlroots#1060emersion
2018-06-09Render drag iconsemersion
2018-06-09Fix compilation errors related to disabled outputsemersion
2018-06-06Switch output storing from list_t to wl_listBrian Ashworth
2018-06-06Address emersions comments on output re-enablingBrian Ashworth
2018-06-06Store sway_outputs so that they can be reenabledBrian Ashworth
2018-06-05Merge pull request #2095 from emersion/fullscreen-damage-only-visibleemersion
Only send frame to visible surfaces when fullscreened
2018-06-04Don't restore focus if unmapping surface wasn't focusedRyan Dwyer
2018-06-04Restore focus when unmapping layer shell surfacesRyan Dwyer
2018-06-04Restore focus when unmapping unmanaged xwayland surfacesRyan Dwyer
2018-06-02Add SWAY_DAMAGE_DEBUGemersion
Setting it to "rerender" will always re-render everything regardless of the damaged region. Setting it to "highlight" will clear the screen and render only damaged regions.
2018-06-02Only send frame to visible surfaces when fullscreenedemersion
2018-06-02Schedule a frame even if damage is emptyemersion
2018-06-02Only send frame done to visible viewsemersion
Also don't accumulate empty damage
2018-06-01Don't auto float xdg views if their dimensions are not setRyan Dwyer
2018-06-01Fix fullscreen position of xwayland viewsRyan Dwyer
2018-06-01Fix floating position when view is floated when mappedRyan Dwyer
2018-06-01Don't unmaximize floating viewsRyan Dwyer
2018-06-01Remove unfinished wants_floating implementation for xwaylandRyan Dwyer
2018-06-01Don't let xwayland views set position unless unmanagedRyan Dwyer
2018-06-01Use swayc rather than wlr_output when renderingRyan Dwyer
2018-06-01Use surface size if xdg shell's geometry isn't setRyan Dwyer
2018-06-01Implement wants_floating for xdg_shell and xdg_shell_v6Ryan Dwyer
2018-06-01Remove check for if floating view intersects outputRyan Dwyer
2018-06-01Render floating views before top layer and unmanagedRyan Dwyer
2018-06-01Store swayc coordinates as layout-localRyan Dwyer
2018-06-01Rename set_maximized functions to set_tiledRyan Dwyer
2018-06-01Fix issues with sticky containers and workspacesRyan Dwyer
* Attach sticky containers to new workspaces when switching * Fire the close event *before* we start destroying the workspace to prevent a crash Because the sticky container now follows the visible workspace, this simplifies the rendering and container_at logic.
2018-06-01Respect view's border config for floating containersRyan Dwyer
2018-06-01Replace is_floating boolean with functionRyan Dwyer
2018-06-01Use L_FLOATING instead of reapable booleanRyan Dwyer
2018-06-01Implement floatingRyan Dwyer
2018-06-01Render floating viewsDrew DeVault
2018-05-28Force fullscreen views to be fully opaqueBrian Ashworth
2018-05-27xdg-shell: make all toplevels tiledemersion
2018-05-22Use constants for titlebar dimensionsRyan Dwyer
2018-05-22Implement stacked layoutRyan Dwyer
2018-05-21Pre-multiply alpha for tab decorationsRyan Dwyer
2018-05-21Add left/right borders to tabsRyan Dwyer
2018-05-21Fix tab border issuesRyan Dwyer
2018-05-21Don't track damage for views on inactive tabsRyan Dwyer
2018-05-21Implement tabbed layoutRyan Dwyer
2018-05-20Pre-multiply alpha for non-texturesBrian Ashworth
2018-05-19Fix pixel bar below titleKonstantin Pospelov
This commit changes how the left and right indents are calculated for the title bottom pixel bar, so that it is displayed properly in case the left or right border is hidden.
2018-05-17Update marks textures on output scale eventRyan Dwyer
2018-05-17Fix many border opacity issuesRyan Dwyer
2018-05-17Implement show_marksRyan Dwyer
2018-05-15Correctly clip title texture if necessaryemersion