Commit graph

3915 commits

Author SHA1 Message Date
Ryan Dwyer
0046eed969 Fix titles when container titles contain UTF-8 characters
The title and marks textures would have their height set from the
config's computed max font height, but the textures were not regenerated
when the config's max font height changed which made a gap appear.
Rather than making it regenerate the title textures every time the
config font height was changed, I've changed it to just make the
textures the height of the title itself and fill any gap when rendering.

Also, the title_width and marks_width variables have been renamed to
make it more obvious that they are in output-buffer-local coordinates.

Fixes #1936.
2018-07-07 15:49:51 +10:00
Drew DeVault
fc4ed6f037
Merge pull request #2196 from emersion/xwayland-floating-resize
Fix xwayland floating views unclickable
2018-07-06 12:14:26 -07:00
emersion
9a9d9116be
Make view_update_* update live props as well 2018-07-06 19:33:10 +01:00
emersion
47d56306c3
Fix xwayland floating views unclickable
Some xwayland views are first configured with a 1x1 size, and then
resized. Since the view size isn't updated, they are unclickable.

Fixes #2195
2018-07-06 19:31:44 +01:00
Drew DeVault
817e847749
Merge pull request #2206 from martinetd/leaks
Fix a bunch of leaks
2018-07-06 08:43:33 -07:00
Drew DeVault
55c54bb63b
Merge pull request #2182 from RyanDwyer/lockscreen-performance
Don't send frame done to surfaces behind lockscreen
2018-07-06 08:35:02 -07:00
emersion
b3c55dd909
Merge branch 'master' into leaks 2018-07-06 16:22:13 +01:00
Ryan Dwyer
464d4d5889 Translate surface by its geo when doing opaque box check 2018-07-07 01:18:54 +10:00
Ryan Dwyer
9480781229 Don't clear when using opaque lockscreen 2018-07-07 00:21:39 +10:00
Ryan Dwyer
3b842f4eed Detect opaque lockscreen when using a solid color 2018-07-07 00:17:08 +10:00
Ryan Dwyer
58b2c8ed14 Use infinite opaque region in swaylock 2018-07-07 00:03:49 +10:00
Ryan Dwyer
f1fadef923 Use pixman_region32_contains_rectangle 2018-07-07 00:03:49 +10:00
Ryan Dwyer
839c3a5500 Use opaque region to determine if frame done should be sent 2018-07-07 00:03:49 +10:00
Ryan Dwyer
58befcf2cd Don't send frame done to surfaces behind lockscreen
Also, when rendering, don't descend into the tree if the lockscreen is
active. Just render the lockscreen's surfaces.
2018-07-07 00:03:49 +10:00
emersion
b8ee88344a
Merge pull request #2220 from ianyfan/remove-input-fix
Attach destroy handler earlier for input devices
2018-07-06 14:37:52 +01:00
Drew DeVault
3d2595b102
Merge branch 'master' into remove-input-fix 2018-07-06 06:28:01 -07:00
Ian Fan
f63b209d51 Attach destroy handler earlier
This prevents it from being bypassed when the device has no seat configuration
2018-07-06 14:13:45 +01:00
Drew DeVault
a06d45a14d
Merge pull request #2217 from RedSoxFan/fix-663
Implement mode --pango_markup
2018-07-06 04:57:46 -07:00
Drew DeVault
ddbf437794
Merge pull request #2219 from RedSoxFan/fix-2111
Send pointer button events for keyboard-interactive layer surfaces
2018-07-06 04:56:59 -07:00
Brian Ashworth
c833ae64bc Fix pointer button events for layer surfaces 2018-07-05 23:01:35 -04:00
Brian Ashworth
78c08fb0a2 Implement mode --pango_markup 2018-07-05 18:12:14 -04:00
emersion
84109431f7
Merge pull request #2185 from swaywm/update-wlroots-1076
Updates per wlroots#1076
2018-07-05 22:23:15 +01:00
Drew DeVault
9ba59cb3c9
Merge pull request #2212 from BlueGone/fix-sway-input-man
Escape underscore in sway-input(5) man page to avoid invalid colors
2018-07-05 05:00:28 -07:00
Thomas Plaçais
ab5c8c31a0 Escape underscore in sway-input(5) man page to avoid invalid colors 2018-07-05 14:31:52 +02:00
Dominique Martinet
7ef08ffbe6 pango/cairo: set default font map to NULL to free it 2018-07-05 13:11:06 +09:00
Dominique Martinet
fe72e3b349 cmd_results_to_json: return copied string and properly free the json
The only user of this function would copy the string right away
to get rid of the const flag anyway, and freeing a const string
afterwards might work but is not meant to be done according to the
json-c API.
2018-07-05 13:11:02 +09:00
emersion
51b215ad5c
Use wlr_surface.buffer_damage 2018-07-05 00:26:39 +01:00
Drew DeVault
d43500831a
Updates per wlroots#1076 2018-07-05 00:26:35 +01:00
Dominique Martinet
9314c45c41 workspace_next_name: free targets later than these already found in order 2018-07-05 08:13:10 +09:00
Dominique Martinet
785ed4383b view_map: free criterias as the list it is 2018-07-05 08:13:10 +09:00
Dominique Martinet
ffbe91c245 container_free: free formatted title 2018-07-05 08:13:10 +09:00
Dominique Martinet
ffe9de6e24 ipc-server: free clients at destroy 2018-07-05 08:13:10 +09:00
Dominique Martinet
9f5d539657 config: add a couple of forgotten frees 2018-07-05 08:13:10 +09:00
Dominique Martinet
8a771785ad keyboard: free xkb keymap on destroy 2018-07-05 08:13:10 +09:00
emersion
dd869c158e
Merge pull request #2211 from RyanDwyer/fix-xdgtoplevel-tiled
Call view_set_tiled for mapping non-floating views
2018-07-05 00:12:09 +01:00
Ryan Dwyer
fc826b921f Call view_set_tiled for mapping non-floating views
Fixes #2209.
2018-07-05 09:04:15 +10:00
Drew DeVault
eed0b5614f
Merge pull request #2205 from RyanDwyer/fix-border-weirdness
Fix border weirdness
2018-07-04 06:45:12 -07:00
Ryan Dwyer
7efeacf16c
Merge pull request #2208 from RyanDwyer/instruction-use-after-free
Fix use after free in transaction code
2018-07-04 23:21:41 +10:00
Ryan Dwyer
50b401677b Fix use after free in transaction code
If we set an instruction as ready twice, it decreases the transaction's
num_waiting a second time and applies the transaction earlier than it
should. This no doubt has undesired effects, probably resulting in a use
after free.

Hopefully fixes the first part of #2207.
2018-07-04 22:58:17 +10:00
emersion
f414885b1d
Merge pull request #2200 from mucamaca/fix_transparency
Fix #1857 -> transparency in swaylock
2018-07-04 11:34:01 +01:00
Ryan Dwyer
4cb6c368a7 Fix boolean 2018-07-04 20:33:38 +10:00
emersion
bee5338146
Merge pull request #2203 from martinetd/ipc-server-display-destroy
ipc-server: add display destroy listener
2018-07-04 11:33:03 +01:00
Bor Grošelj Simić
ffc61e5f3f
Merge branch 'master' into fix_transparency 2018-07-04 12:19:13 +02:00
Ryan Dwyer
f156a25e64 Only call view_set_tiled when switching floating mode
Otherwise it repeatedly sets the view's border to the config's default.
2018-07-04 20:10:47 +10:00
Bor Grošelj Simić
484042efd8 Fix transparency in background images in swaylock 2018-07-04 12:09:05 +02:00
Dominique Martinet
b0918b1058 ipc-server: add display destroy listener and remove ipc_terminate
wl_event_source_remove() is illegal after display has been destroyed,
so just destroy everything when we still can.

==20392==ERROR: AddressSanitizer: heap-use-after-free on address 0x607000001240 at pc 0x00000048e86e bp 0x7ffe4b557e00 sp 0x7ffe4b557df0
READ of size 8 at 0x607000001240 thread T0
    #0 0x48e86d in wl_list_insert ../common/list.c:149
    #1 0x7fdf673d4d7d in wl_event_source_remove src/event-loop.c:487
    #2 0x41b742 in ipc_terminate ../sway/ipc-server.c:94
    #3 0x40b1ad in main ../sway/main.c:440
    #4 0x7fdf6664c18a in __libc_start_main ../csu/libc-start.c:308
    #5 0x409359 in _start (/opt/wayland/bin/sway+0x409359)

0x607000001240 is located 48 bytes inside of 72-byte region [0x607000001210,0x607000001258)
freed by thread T0 here:
    #0 0x7fdf692c4880 in __interceptor_free (/lib64/libasan.so.5+0xee880)
    #1 0x7fdf673d371a in wl_display_destroy src/wayland-server.c:1097

previously allocated by thread T0 here:
    #0 0x7fdf692c4c48 in malloc (/lib64/libasan.so.5+0xeec48)
    #1 0x7fdf673d4d9e in wl_event_loop_create src/event-loop.c:522
    #2 0x40acb2 in main ../sway/main.c:363
    #3 0x7fdf6664c18a in __libc_start_main ../csu/libc-start.c:308
2018-07-04 18:47:11 +09:00
emersion
4afa18a0c0
Merge pull request #2202 from RyanDwyer/fix-focus-damage
Fix focus related damage
2018-07-04 09:23:07 +01:00
emersion
39534a1a61
Merge pull request #2201 from martinetd/setenv-wl-display
startup: move setenv WAYLAND_DISPLAY before config execs
2018-07-04 09:21:10 +01:00
Ryan Dwyer
0bd41a0dae Fix focus related damage
When you have an unfocused container (so one view is focused_inactive),
and you focus any other view in that container, the view with
focused_inactive was not damaged. This is because we damaged the
previous focus and new focus, but needed to damage the parent of the new
focus.
2018-07-04 15:38:08 +10:00
Dominique Martinet
c092f1fe6a startup: move setenv WAYLAND_DISPLAY before config execs
We would previously run all config commands without the environment,
which would appear to work as our socket name is the default one, but
wayland clients would start up in the wrong sway session.

(This explains why 'sometimes' my swayidle processes wouldn't die with
sway, as they weren't listening to the correct socket)
2018-07-04 13:52:26 +09:00