From 35dbe7cd907b89a047a4a4a5e8c55b1628215786 Mon Sep 17 00:00:00 2001 From: Cagebreak Signing Key 7 Date: Wed, 26 Jan 2022 22:45:41 +0100 Subject: [PATCH] Release 1.8.3 * Adapt cagebreak to wlroots 0.15 --- README.md | 15 +++++++++++++++ cagebreak.c | 20 ++++++++++++++++---- fuzz/fuzz-lib.c | 20 ++++++++++++++++---- input.h | 2 +- input_manager.h | 2 +- libinput.c | 5 +++-- man/cagebreak-config.5.md | 2 +- man/cagebreak.1.md | 2 +- meson.build | 18 +++++++++--------- message.c | 7 +++---- output.c | 6 ++++++ output.h | 2 +- render.c | 23 ++++++++++------------- server.c | 2 +- server.h | 2 ++ signatures/1.8.1.sig | Bin 0 -> 566 bytes signatures/1.8.2-cagebreak-config.5.sig | Bin 0 -> 566 bytes signatures/1.8.2-cagebreak.1.sig | Bin 0 -> 566 bytes signatures/1.8.2.sig | Bin 566 -> 566 bytes signatures/cagebreak-config.5.sig | Bin 566 -> 566 bytes signatures/cagebreak.1.sig | Bin 566 -> 566 bytes signatures/cagebreak.sig | Bin 566 -> 566 bytes util.c | 2 +- view.c | 10 +++++----- workspace.h | 2 +- xdg_shell.c | 2 +- xwayland.c | 2 +- 27 files changed, 95 insertions(+), 51 deletions(-) create mode 100644 signatures/1.8.1.sig create mode 100644 signatures/1.8.2-cagebreak-config.5.sig create mode 100644 signatures/1.8.2-cagebreak.1.sig diff --git a/README.md b/README.md index ef88746..939a682 100644 --- a/README.md +++ b/README.md @@ -204,6 +204,21 @@ For every release after 1.0.5, hashes will be provided. For every release after 1.7.0, hashes will be provided for man pages too. +1.8.3 cagebreak + + * sha 256: 85803b75b1be0d9bf600175ce6aa981a1632768872e5afddea7569f825c1f7c3 + * sha 512: 96c9b33804bbd7c652e32556d5001e12c2b07ab7127118a050be513bd6e0d6241fb78c80d9cce50447ae32a7b33c5c6a6cf1def36efaf3d8e8ddb028bcd769df + +1.8.3 cagebreak.1 + + * sha 256: e583f818d73484cbcae65dbe6ffc226ea58fdad87363213ea5b1059d866216e4 + * sha 512: b96d8f9308d31bb1faa346267136fd7a53caed95065e7da09713b5f64addb42c835b27cd6cfa6bcf8c5b5d572a73b1e828f47b14e06a00b0871a77a25a286597 + +1.8.3 cagebreak-config.5 + + * sha 256: d0be008e0e5d47b876ccfb8cf70967097673b81fa93718838db45f4056b76bc0 + * sha 512: 42f8d25eb89219aebd00e927627a51fd8b7f6fda6f7c6147abbc0e4fae5de1ceb5827b79a814127a0706cc213d7717733e02cfa5275960cb0cce23eb54493b1e + 1.8.2 cagebreak * sha 256: f4d275d48ba3d999969f8cb3c8142d27aa8e8d362106ee7575e4b13c02173b2a diff --git a/cagebreak.c b/cagebreak.c index 838078f..b6fbcab 100644 --- a/cagebreak.c +++ b/cagebreak.c @@ -20,6 +20,7 @@ #include #include #include +#include #include #include #include @@ -244,7 +245,6 @@ main(int argc, char *argv[]) { struct wl_event_source *sigterm_source = NULL; struct wl_event_source *sigalrm_source = NULL; struct wlr_backend *backend = NULL; - struct wlr_renderer *renderer = NULL; struct wlr_compositor *compositor = NULL; struct wlr_data_device_manager *data_device_manager = NULL; struct wlr_server_decoration_manager *server_decoration_manager = NULL; @@ -338,8 +338,20 @@ main(int argc, char *argv[]) { goto end; } - renderer = wlr_backend_get_renderer(backend); - wlr_renderer_init_wl_display(renderer, server.wl_display); + server.renderer = wlr_renderer_autocreate(backend); + if(!server.renderer) { + wlr_log(WLR_ERROR, "Unable to create the wlroots renderer"); + ret = 1; + goto end; + } + server.allocator = + wlr_allocator_autocreate(server.backend, server.renderer); + if(!server.allocator) { + wlr_log(WLR_ERROR, "Unable to create the wlroots allocator"); + ret = 1; + goto end; + } + wlr_renderer_init_wl_display(server.renderer, server.wl_display); server.bg_color = (float[4]){0, 0, 0, 1}; wl_list_init(&server.outputs); @@ -352,7 +364,7 @@ main(int argc, char *argv[]) { goto end; } - compositor = wlr_compositor_create(server.wl_display, renderer); + compositor = wlr_compositor_create(server.wl_display, server.renderer); if(!compositor) { wlr_log(WLR_ERROR, "Unable to create the wlroots compositor"); ret = 1; diff --git a/fuzz/fuzz-lib.c b/fuzz/fuzz-lib.c index 7f9eb78..c94dd8b 100644 --- a/fuzz/fuzz-lib.c +++ b/fuzz/fuzz-lib.c @@ -22,6 +22,7 @@ #include #include #include +#include #include #include #include @@ -127,7 +128,6 @@ int LLVMFuzzerInitialize(int *argc, char ***argv) { struct wl_event_loop *event_loop = NULL; struct wlr_backend *backend = NULL; - struct wlr_renderer *renderer = NULL; struct wlr_compositor *compositor = NULL; struct wlr_data_device_manager *data_device_manager = NULL; struct wlr_server_decoration_manager *server_decoration_manager = NULL; @@ -215,8 +215,20 @@ LLVMFuzzerInitialize(int *argc, char ***argv) { wl_list_init(&server.output_config); - renderer = wlr_backend_get_renderer(backend); - wlr_renderer_init_wl_display(renderer, server.wl_display); + server.renderer = wlr_renderer_autocreate(backend); + if(!server.renderer) { + wlr_log(WLR_ERROR, "Unable to create the wlroots renderer"); + ret = 1; + goto end; + } + server.allocator = + wlr_allocator_autocreate(server.backend, server.renderer); + if(!server.allocator) { + wlr_log(WLR_ERROR, "Unable to create the wlroots allocator"); + ret = 1; + goto end; + } + wlr_renderer_init_wl_display(server.renderer, server.wl_display); server.bg_color = malloc(4 * sizeof(float)); server.bg_color[0] = 0; @@ -343,7 +355,7 @@ LLVMFuzzerInitialize(int *argc, char ***argv) { goto end; } - compositor = wlr_compositor_create(server.wl_display, renderer); + compositor = wlr_compositor_create(server.wl_display, server.renderer); if(!compositor) { wlr_log(WLR_ERROR, "Unable to create the wlroots compositor"); ret = 1; diff --git a/input.h b/input.h index 7cec2ca..0b6eb7e 100644 --- a/input.h +++ b/input.h @@ -13,7 +13,7 @@ cg_input_configure_libinput_device(struct cg_input_device *device); void cg_input_apply_config(struct cg_input_config *config, struct cg_server *server); -void +bool cg_input_reset_libinput_device(struct cg_input_device *device); bool diff --git a/input_manager.h b/input_manager.h index 6a2cdc3..35318f6 100644 --- a/input_manager.h +++ b/input_manager.h @@ -4,7 +4,7 @@ #include "seat.h" #include "server.h" #include -#include +#include struct cg_input_manager * input_manager_create(struct cg_server *server); diff --git a/libinput.c b/libinput.c index f6dd957..2510857 100644 --- a/libinput.c +++ b/libinput.c @@ -368,10 +368,10 @@ cg_input_configure_libinput_device(struct cg_input_device *input_device) { } } -void +bool cg_input_reset_libinput_device(struct cg_input_device *input_device) { if(!wlr_input_device_is_libinput(input_device->wlr_device)) { - return; + return false; } struct libinput_device *device = @@ -416,6 +416,7 @@ cg_input_reset_libinput_device(struct cg_input_device *input_device) { float matrix[6]; libinput_device_config_calibration_get_default_matrix(device, matrix); changed |= set_calibration_matrix(device, matrix); + return changed; } bool diff --git a/man/cagebreak-config.5.md b/man/cagebreak-config.5.md index 670c58e..4eea4c5 100644 --- a/man/cagebreak-config.5.md +++ b/man/cagebreak-config.5.md @@ -1,4 +1,4 @@ -cagebreak-config(1) "Version 1.8.2" "Cagebreak Manual" +cagebreak-config(1) "Version 1.8.3" "Cagebreak Manual" # NAME diff --git a/man/cagebreak.1.md b/man/cagebreak.1.md index cfb0a22..4fe5c6c 100644 --- a/man/cagebreak.1.md +++ b/man/cagebreak.1.md @@ -1,4 +1,4 @@ -cagebreak(1) "Version 1.8.2" "Cagebreak Manual" +cagebreak(1) "Version 1.8.3" "Cagebreak Manual" # NAME diff --git a/meson.build b/meson.build index b81b261..10afb69 100644 --- a/meson.build +++ b/meson.build @@ -1,5 +1,5 @@ project('cagebreak', 'c', - version: '1.8.2', + version: '1.8.3', license: 'MIT', default_options: [ 'c_std=c11', @@ -53,7 +53,7 @@ if is_freebsd ) endif -wlroots = dependency('wlroots', version: ['>=0.14.1', '< 0.15.0']) +wlroots = dependency('wlroots', version: ['>=0.14.1', '< 0.16.0']) wayland_protos = dependency('wayland-protocols', version: '>=1.14') wayland_server = dependency('wayland-server') wayland_cursor = dependency('wayland-cursor') @@ -204,18 +204,18 @@ cagebreak_dependencies_dict = { reproducible_build_versions = { 'server_protos': '-1', 'wayland_server': '1.19.0', - 'wayland_client': '1.19.0', - 'wayland_cursor': '1.19.0', - 'wlroots': '0.14.1', + 'wayland_client': '1.20.0', + 'wayland_cursor': '1.20.0', + 'wlroots': '0.15.0', 'xkbcommon': '1.3.1', 'fontconfig': '2.13.94', - 'libinput': '1.19.2', + 'libinput': '1.19.3', 'libevdev': '1.12.0', - 'libudev': '249', + 'libudev': '250', 'pixman': '0.40.0', - 'pango': '1.50.0', + 'pango': '1.50.3', 'cairo': '1.17.4', - 'pangocairo': '1.50.0', + 'pangocairo': '1.50.3', 'math': '-1' } diff --git a/message.c b/message.c index f05b175..0bcb5f1 100644 --- a/message.c +++ b/message.c @@ -86,10 +86,9 @@ create_message_texture(const char *string, const struct cg_output *output) { cairo_surface_flush(surface); unsigned char *data = cairo_image_surface_get_data(surface); int stride = cairo_format_stride_for_width(CAIRO_FORMAT_ARGB32, width); - struct wlr_renderer *renderer = - wlr_backend_get_renderer(output->wlr_output->backend); - texture = wlr_texture_from_pixels(renderer, DRM_FORMAT_ARGB8888, stride, - width, height, data); + texture = + wlr_texture_from_pixels(output->server->renderer, DRM_FORMAT_ARGB8888, + stride, width, height, data); cairo_surface_destroy(surface); g_object_unref(pango); cairo_destroy(cairo); diff --git a/output.c b/output.c index 8feaec9..3ce60c4 100644 --- a/output.c +++ b/output.c @@ -615,6 +615,12 @@ handle_new_output(struct wl_listener *listener, void *data) { struct cg_server *server = wl_container_of(listener, server, new_output); struct wlr_output *wlr_output = data; + if(!wlr_output_init_render(wlr_output, server->allocator, + server->renderer)) { + wlr_log(WLR_ERROR, "Failed to initialize output rendering"); + return; + } + struct cg_output *output = calloc(1, sizeof(struct cg_output)); if(!output) { wlr_log(WLR_ERROR, "Failed to allocate output"); diff --git a/output.h b/output.h index 42cb629..7a0dc7c 100644 --- a/output.h +++ b/output.h @@ -2,7 +2,7 @@ #define CG_OUTPUT_H #include -#include +#include struct cg_server; struct cg_view; diff --git a/render.c b/render.c index ca4a2d2..53ed0ea 100644 --- a/render.c +++ b/render.c @@ -12,11 +12,11 @@ #include #include #include -#include #include #include #include #include +#include #include #include @@ -29,8 +29,8 @@ #include "workspace.h" static void -scissor_output(struct wlr_output *output, pixman_box32_t *rect) { - struct wlr_renderer *renderer = wlr_backend_get_renderer(output->backend); +scissor_output(struct wlr_output *output, pixman_box32_t *rect, + struct wlr_renderer *renderer) { struct wlr_box box = { .x = rect->x1, @@ -56,10 +56,7 @@ struct render_data { static void render_texture(struct wlr_output *wlr_output, pixman_region32_t *output_damage, struct wlr_texture *texture, const struct wlr_box *box, - const float matrix[static 9]) { - struct wlr_renderer *renderer = - wlr_backend_get_renderer(wlr_output->backend); - + const float matrix[static 9], struct wlr_renderer *renderer) { pixman_region32_t damage; pixman_region32_init(&damage); pixman_region32_union_rect(&damage, &damage, box->x, box->y, box->width, @@ -72,7 +69,7 @@ render_texture(struct wlr_output *wlr_output, pixman_region32_t *output_damage, int nrects; pixman_box32_t *rects = pixman_region32_rectangles(&damage, &nrects); for(int i = 0; i < nrects; i++) { - scissor_output(wlr_output, &rects[i]); + scissor_output(wlr_output, &rects[i], renderer); wlr_render_texture_with_matrix(renderer, texture, matrix, 1.0F); } @@ -109,7 +106,8 @@ render_surface_iterator(struct cg_output *output, struct wlr_surface *surface, box->height = box->height > data->tile_height ? data->tile_height : box->height; } - render_texture(wlr_output, output_damage, texture, box, matrix); + render_texture(wlr_output, output_damage, texture, box, matrix, + output->server->renderer); } static void @@ -179,8 +177,7 @@ output_render(struct cg_output *output, pixman_region32_t *damage) { struct cg_server *server = output->server; struct wlr_output *wlr_output = output->wlr_output; - struct wlr_renderer *renderer = - wlr_backend_get_renderer(wlr_output->backend); + struct wlr_renderer *renderer = output->server->renderer; if(!renderer) { wlr_log(WLR_DEBUG, "Expected the output backend to have a renderer"); return; @@ -202,7 +199,7 @@ output_render(struct cg_output *output, pixman_region32_t *damage) { int nrects; pixman_box32_t *rects = pixman_region32_rectangles(damage, &nrects); for(int i = 0; i < nrects; i++) { - scissor_output(wlr_output, &rects[i]); + scissor_output(wlr_output, &rects[i], renderer); wlr_renderer_clear(renderer, server->bg_color); } @@ -238,7 +235,7 @@ output_render(struct cg_output *output, pixman_region32_t *damage) { WL_OUTPUT_TRANSFORM_NORMAL, 0.0F, wlr_output->transform_matrix); render_texture(output->wlr_output, damage, message->message, - message->position, matrix); + message->position, matrix, renderer); } render_drag_icons(output, damage, &server->seat->drag_icons); diff --git a/server.c b/server.c index e5b6137..e554a3c 100644 --- a/server.c +++ b/server.c @@ -12,8 +12,8 @@ #include #include #include -#include #include +#include #include "input_manager.h" #include "output.h" diff --git a/server.h b/server.h index 9ee21e1..092f7bf 100644 --- a/server.h +++ b/server.h @@ -22,6 +22,8 @@ struct cg_server { struct cg_seat *seat; struct cg_input_manager *input; struct wlr_backend *backend; + struct wlr_renderer *renderer; + struct wlr_allocator *allocator; struct wlr_idle *idle; struct wlr_idle_inhibit_manager_v1 *idle_inhibit_v1; struct wl_listener new_idle_inhibitor_v1; diff --git a/signatures/1.8.1.sig b/signatures/1.8.1.sig new file mode 100644 index 0000000000000000000000000000000000000000..ecd7a2566e766615ecc9c10e737a02ac53bfdfae GIT binary patch literal 566 zcmV-60?GY}0y6{v0SEvc79j+QYm%>XjF(OTWxqo5S8LN|6>GT#0%4AyYyb)g5b{@R z(`FTGx!T(h0H){{?qPG=ZpU$mlpWat9^EbI{c8Lyy;kt1*rm4`Zn-JdM*sf#Fi(%s zPDmIpoyiay;`|OpiqTRlr;+8wBa}3SO8i75FYA;Yv7K+zvGnd{dMA$AeU1kS*z!7I zzR4+K>}FuDI`$qP<(@8+d}cU=>Sfo6PU6J9)4CN$b)+);f3gf0KQJKEAT3wWwjBfifp5G6cfrxDu zeigvv$zH8E2x=;*YN|pzK=FKpfazQ)j;mV+@d{(Er(>aBgj7qzHoI%A41;tdX)lGG z@T{lLmWF;b$!WV=DG+{(Ds+@a((i>)PgEd=C#;l3%oC(|1}1p&cgQ7gTYrJbvb3pr zwd*U^2n-gn=2x#p?!43FS=oznOQIq=1K*lP5_+2&R9TiniNfopPck`EQ1X|To;KM^ z;4%v;gdas5G5wI>{Gv&q{nVhf#|Bu1Q=tD9?K(7y&S!3BrUwZ(RN1u_(xrAuUs4>m z7&gKOJ|^7+8)ACXIIcGymF{E5h>ReJ}Q!NQlav`zPR` zt{A@OUb0ec*j}*6kA3S-L;m+WSTDONpoFQ8-6`35$eYA*GQJEM60Wwi`us@?n#+x} EkZ=JPJOBUy literal 0 HcmV?d00001 diff --git a/signatures/1.8.2-cagebreak-config.5.sig b/signatures/1.8.2-cagebreak-config.5.sig new file mode 100644 index 0000000000000000000000000000000000000000..ee831f34180a3a1a6e550daa8af0771ea5b7043d GIT binary patch literal 566 zcmV-60?GY}0y6{v0SEvc79j+QYm%>XjF(OTWxqo5S8LN|6>GT#0%5LgtpExM5b{@R z(`FTGxgfO=0ItNOUOYhumTMlu%Hu1cO*sO@H7RNJ9K5<%$u6D_`7J(o%ztq0pi0^6 zpn8wU3aWTLvC9h_mRaeoa#FegPZg%6{ppB8GjHXnL>6)*YM@7Xh2~8OplT6&-^m%; zg-|wDJs+S;I>9p}sfE!Li-VP4j)9rtc{d4bj4zod0`YP;26}w}i(9bGA|-Y>?E^9I z1h`lFIsmZWOnd}nHbiNR5A56(6Ny;WIQJO`lDb%z`(ZQM zw3u=hw*-(UA(iX;G$apGwI!YID$ioCWY=YoO)kA82!NeVlkl z`OD|sYV?}dzieXJ3p>14<9U!#)@DW|xo)i|+YLT&-@2bNP4K~qETar-@un9RD=QceT^G~3bkaAy@?>61aiT(U?5 zuY-|>^3l=eo%PtI5ZS^OWX0N9-$G)r%x9FP+PSMa?8Zy+*Th91ca{RC*6JNzL>^^! zkQOpJd#O4;%2aaa>XLI>i9kArPQaF^Zf1z-U8)aSg*M#2j#Vb`3CA}nCd%RcX-?0W Embi`%nE(I) literal 0 HcmV?d00001 diff --git a/signatures/1.8.2-cagebreak.1.sig b/signatures/1.8.2-cagebreak.1.sig new file mode 100644 index 0000000000000000000000000000000000000000..e4133eb28d3b10e4f566ea58267ec02a7b7976dd GIT binary patch literal 566 zcmV-60?GY}0y6{v0SEvc79j+QYm%>XjF(OTWxqo5S8LN|6>GT#0%5LgssIWJ5b{@R z(`FTGxq+Dv{yDkmKMvV5FYPhA3d4w~)7M2!E0{DSNr!&NBv`?VAVXx0`;nkfXnCD< zjP2vj+wk@J8{uuj&;K`qx$}b z*-(ypN7lV1=)E%wFsYt4jaE$!J261^B~&U>-drJ!e!7|u@O@57V^1sEfiYzX@zDgO z%1aR3ywYw381^h4JdeijcX4T(;>Gc0sa8m3^SJOK2L;?Ag5UpD_37S*+Qi-2%dzK{ zXHx>;@34rO^HNgp`K5~c#7};kv!nNhIq*Q22kUCrRw)aJ#(Ms@00oP9PK03M)6vqA zR9hiJi!0e8UUJ@jozus1(vtULdvjWFl&Gv{zz*fLNWK6bUT!YP&Oo91jmC;QG)9yP z$Hj7s)ss}I{W&dq9e@vfUaXV~L5nv}W^c6KbE^;^aRrBbToegKrg*TJKgjy<)L9@`&;8xUKtaLN1dkGQ=I@yUw|_-Z9o$sW E*TQlYN&o-= literal 0 HcmV?d00001 diff --git a/signatures/1.8.2.sig b/signatures/1.8.2.sig index ecd7a2566e766615ecc9c10e737a02ac53bfdfae..1aab7aa3e15f2e0d059983a0a83cb58f7cd94f70 100644 GIT binary patch delta 542 zcmV+(0^$9(1hxc_BY&=KrT_{F5b{@R(`FTGx#)Bc|6qyg(@_)X-VO;4oH)lC-!1zL ztHF6NC?g3_y1#xJvDN>t4sIdQZ1dh*xOcYCpyBO$2&yGw39yS9g5I&=TCPPJ{@=#* zdKHwc>aSS1sQENv0{MIO|2Ana3kNmtjT{qHGicfMUf0E47k^K?iF2bFJM#vnv7Xxn z#e3xuGU`^-V|r|C!uBT60+8qrz9$6G4UsA=M?Kk;#r_stB_K(^)emvrm-8K^wr_Rg zf@@bC4k~WoQ-A5C6VmRT?A>vcY>S%puddg)AM@rZ%(R%wyPU3w%4!B84Aw)drM2v# zlV=s6S-#0l?0<0>0~QlML+{HHSP5kMt;+sLO92P%cOrO%=GPUPeyXnMYS}%_Q`;z6 zlCY|iSl1&UO0v9QVH&%a5qJ5=#14u0(eHVvSplw^;R4n~`+Lw0Quh2BkbDsmxZPwKh=Kufz delta 542 zcmV+(0^$9(1hxc_BY%#cYyb)g5b{@R(`FTGx!T(h0H){{?qPG=ZpU$mlpWat9^EbI z{c8Lyy;kt1*rm4`Zn-JdM*sf#Fi(%sPDmIpoyiay;`|OpiqTRlr;+8wBa}3SO8i75 zFYA;Yv7K+zvGnd{dMA$AeU1kS*z!7IzR4+K>}FuDI`$qP<$sD2}UJ z2Js4GuBT(6UVnsCOT#w1Ype`|bR%gmg`DuLr_Yv#el*ExyIUy`ev2w}lt$9;g;7sb zAciNblts)Fq<97>)8tv%i*ie%B02-# znnn_On;KMEmO_cb>!nXJIa5&bmzSP4*-GFt3o3*kMSmPI{gB}NqDi3r)S$J;23Unt zp#K%^Iy8#TXKrSu2MIS+*|iqZrFKbQQXID!Hq)H!tUa-iIed|s`{`WgrFS{wA ggsG0*DHqv!$eYA*GQJEM60Wwi`us@?n#+x}kVpj(MgRZ+ diff --git a/signatures/cagebreak-config.5.sig b/signatures/cagebreak-config.5.sig index ee831f34180a3a1a6e550daa8af0771ea5b7043d..2c2521097806777388e10ec2a54e39a8da910cda 100644 GIT binary patch delta 542 zcmV+(0^$9(1hxc_BY*L~R{#nL5b{@R(`FTGxd?I(|8M?9naG+*bCfpF;j)QRc&QC* z44^0XGuM1wV0;XV_nkbr;Z1hmLeNu?DvE#8%jjLgk^Av|5b2NPY865%o{N)CfoW^Hbdl&3ufxQ z&l=~u^(IV~!$PQ186XTUCCu#c`fkq^-@!Q0td6xDfg*Nf_A6kCBR%j(gJ4d=PGq&4 zMW99jl1q=bTz}PvQ;1eKTpIMHJYjY>vz^Lt7?-5#pD>c-J4HxH=+OIphsf4?&#?R? zd{LU^qbY}Y4=f}S`L&@sMH>$QR}F3pldpr2O>f$#$>WHcKplgGqNx1%Fj3Nip z(nt@z2Vf5!nh<4y8TMl74V|m#)w5I7aU^n<&{!-gNPk)ErE|(K8P3v$^Yd|be>d24 z97hOAjI+T_vO^IS@R3RQnHkkw4>JOUexePAF38^Vowey65H2skb`;6`;ItU^uZmdD zg)@qVf+x^$PZ1J;s{SGau~~vJN}V?J3W=gVM8J`KSZjql&8CxqEI25bl6)*YM@7Xh2~8OplT6&-^m%;g-|wDJs+S;I>9p}segsh6pMqEUygy9;(0d- zYm6_MCj#+uHwJor0E=6&%_1dsIPC*5?*zD4`Z@rx-%NZ2WHv-;j1TPG6%&bA)j0PV z2a>)&bY7%^t}6zg9dX?F%||@kIA6;iidBk0hF~V_r8D2l4lffhr7}3w>zi&*7(bBl z`%mnhMG~8v4}Yj|^n#dGR7){#zuo&`GupJ6au&A)kS8IP>-sb#4~!y2Yea-&>u2Z{ zMa=2nt~b8&r~ct`om=iO@bn%BQ6|%(~Q4P6Pim+tK!LXBA)RlR?5mI9{M>K$H09%Xir7BV_}sX9K&RC4F)l5<*#Ksts_z?P_P gW{BxssuvGhg*M#2j#Vb`3CA}nCd%RcX-?0WmTW8sqW}N^ diff --git a/signatures/cagebreak.1.sig b/signatures/cagebreak.1.sig index e4133eb28d3b10e4f566ea58267ec02a7b7976dd..e5280a3e9428d3ac0a136e52a68348cebda750b5 100644 GIT binary patch delta 542 zcmV+(0^$9(1hxc_BY*L~Q~(MI5b{@R(`FTGxvGy3|3yA!!;*cYZs2L&&Zx2#rsczC zz-Ab3%~DnXeWM}a3u$4`d;#iudf8UE85-YQht@sU;YgqpRURr~pHvujl#ABOh9n4U zG_sWImrSVTCXQ7YJts^8^#Ue7nC!bYxhUh4^E9aVcmj8u`+pcJ=n`IHuh9Oz&h$w; zM16{%ujQJS^rh49zY5kiv6U5?L&Tq=YUep*tlfmdfuE9Z(TpL2B>CmPMt-56oREQt zmUK1d-L>MF8fG8rc6lWm8x+`b`zCYY$X_aUXUd5FxRb``mT)N?>~(wwLxBKGyg#O2 z8VIsoN-eLJ{eRn!l-6?Fz^xLbLZB)G5{G6)@~(Ou2N6*M7t!vmE}!068OcVHc;cx6 zkf;PW5O-TU-gVr?yiN8LnAEGytGd0sO%NW!A=ZGY_HwvJ^7ED6CtC;2j4aD@^6Zd< zXfuDs@0x3ufxvSyo12D=hc!1+)7%|^z8JPY%^>rfYJbSS1>f1h{$KG;y6*rmet_Dy zom-SBVf+|*K#~^BNymM)a=v=*n6h)?NGVi!r_-!a=)dO~{B2|hWJMd8Vb2$`U~>yR zUHm~Cjeq-n#JwP`WK#pRP5vQ`KH9b?mim*QY;di@1CdZ)I&gN6WN;@Nf{|aIo7s!< g5NQ{_5f@QqCSQgns?}M>HQ4u9R=+=4;#!9ykFrV+)&Kwi delta 542 zcmV+(0^$9(1hxc_BY&=KssIWJ5b{@R(`FTGxq+Dv{yDkmKMvV5FYPhA3d4w~)7M2! zE0{DSNr!&NBv`?VAVXx0`;nkfXnCD{TJQGKtaLN1dkGQ=I@yUw|_-Z9o$sW*OjjhQ~&?~ diff --git a/signatures/cagebreak.sig b/signatures/cagebreak.sig index 1aab7aa3e15f2e0d059983a0a83cb58f7cd94f70..6ac0f6398b4e28fed3e1542b7801fd3dfc04345d 100644 GIT binary patch delta 542 zcmV+(0^$9(1hxc_BY*L~QUD4G5b{@R(`FTGxsHzy{Si!g6bYArk3RmZG~KkLvUktt zH*dM%C+&*7?wlitog&*iAaZf%mgP-Mu^0!#-NEjWC`6f>bKMWjFY1yZ>)sx&X6s}z&rte!(S_A6Hg%LFiJ>fmqU@fS}l z4?muOCmWKLvVUO?k#sgPS(VWi4)`LC2mtUA^sq8sD}(-~h&}f3{5ImG6);`9C1HgT zV#)*7DSDA;=m)ZhvY+voV7Teeis(#|P(rTfvb<0R_JYuk337-%XeXwuvY&C zY{g2S0>vD$DD?G1lHaa6#2MfyN#LoMiGt g%Bbt4sIdQZ1dh*xOcYCpyBO$2&yGw39yS9g5I&=TCPPJ{@=#* zdKHwc>aSS1sQENv0{MIO|2Ana3kNmtjT{qHGicfMUf0E47k^K?iF2bFJM#vnv7Xxn z#e3xuGU`^-V|r|C!uBT60+8qrz9$6G4UsA=M?Kk;#r_stB_K(^)emvrm-8K^wr_Rg zf@@bC4k~WoQ-A5C6VmRT?A>vcY>S%puddg)AM@rZ%(R%wyPU3w%4!B84Aw)drM2v# zlV=s6S-#0l?0<0>0~QlML+{HHSP5kMt;+sLO92P%cOrO%=GPUPeyXnMYS}%_Q`;z6 zlCY|iSl1&UO0v9QVH&%a5qJ5=#14u0(eHVvSplw^;R4n~`+Lw0Quh2BkbDsmxZPwKh=Kufz diff --git a/util.c b/util.c index 1e7fa7c..4c26b74 100644 --- a/util.c +++ b/util.c @@ -7,7 +7,7 @@ * See the LICENSE file accompanying this file. */ -#include +#include #include "util.h" #include diff --git a/view.c b/view.c index 09fc463..0bbd03b 100644 --- a/view.c +++ b/view.c @@ -12,11 +12,11 @@ #include #include #include -#include #include #include #include #include +#include #include "output.h" #include "seat.h" @@ -311,13 +311,13 @@ view_map(struct cg_view *view, struct wlr_surface *surface, view->wlr_surface = surface; struct wlr_subsurface *subsurface; - wl_list_for_each(subsurface, &view->wlr_surface->subsurfaces_above, - parent_link) { + wl_list_for_each(subsurface, &view->wlr_surface->current.subsurfaces_above, + current.link) { subsurface_create(NULL, view, subsurface); } - wl_list_for_each(subsurface, &view->wlr_surface->subsurfaces_below, - parent_link) { + wl_list_for_each(subsurface, &view->wlr_surface->current.subsurfaces_below, + current.link) { subsurface_create(NULL, view, subsurface); } diff --git a/workspace.h b/workspace.h index a5da674..0e8f91f 100644 --- a/workspace.h +++ b/workspace.h @@ -1,7 +1,7 @@ #ifndef CG_WORKSPACE_H #define CG_WORKSPACE_H -#include +#include struct cg_output; struct cg_server; diff --git a/xdg_shell.c b/xdg_shell.c index 7972b5f..6b9b074 100644 --- a/xdg_shell.c +++ b/xdg_shell.c @@ -11,10 +11,10 @@ #include #include -#include #include #include #include +#include #include #include diff --git a/xwayland.c b/xwayland.c index daf3658..f2285e5 100644 --- a/xwayland.c +++ b/xwayland.c @@ -10,9 +10,9 @@ #include #include #include -#include #include #include +#include #include #include