Commit Graph

39 Commits

Author SHA1 Message Date
Vaxry bd7b1f808e client: destroy proxy when no dtor is available 2024-07-01 14:32:46 +02:00
Vaxry 55c78a56c0 client: do not define destroy listener in client mode
fixes #9
2024-06-27 00:24:36 +02:00
Tom Englund c1e34fb2b7
core: avoid undefined behaviour in C macro (#8)
to safely use wl_container_of with a class the class has to be no
virtual functions, no inheritance, and uniform access control (e.g all
public)

work around this by putting this into a destroywrapper struct.
2024-06-26 20:35:08 +02:00
Vaxry 914f083741 client: properly release objects on destroy 2024-06-22 16:50:53 +02:00
Vaxry 1413398dca client: use CC for client classes 2024-06-20 18:20:55 +02:00
Vaxry 38140181fe
core: Add client code generation (#6)
Adds a `--client` flag for client code
2024-06-20 00:17:58 +02:00
Vaxry 46faf3edc2 source: ignore send... requests when resource is null 2024-06-07 14:35:18 +02:00
Vaxry f84ca21ed8 core: set resource to nullptr in onDestroyCalled
if the consumer does not free this resource within onDestroy, we'd be doing a UAF later in the ~dtor
2024-06-07 11:04:54 +02:00
Vaxry 89b337424b source: set user data after checks 2024-05-31 18:32:08 +02:00
Vaxry 6fdc0ceac9 core: fix external type usage 2024-05-29 22:31:08 +02:00
Vaxry 24cf55c957 core: forward declare all used ifaces 2024-05-29 22:25:22 +02:00
Vaxry 3afed43647 core: avoid uaf in resource_set_user_data 2024-05-18 19:52:55 +01:00
Vaxry e1e94b12d5 core: support null strings 2024-05-12 16:37:43 +01:00
Vaxry 1281c1ed53 core: avoid calling inert parents 2024-05-11 16:56:52 +01:00
Vaxry 9ca975c910 core: add --wayland-enums and raw events 2024-05-10 17:52:18 +01:00
Vaxry 232fa45d54 core: fix usage of reserved C++ types 2024-05-09 21:16:32 +01:00
Vaxry 6119dc2a96 core: fix protocol types in events sometimes unrecognized 2024-05-07 14:26:05 +01:00
Vaxry 3940d97f16 core: fix interfaces with since= attributes 2024-05-03 17:37:58 +01:00
Vaxry c8c2151c60 header: use formatting for ::error() 2024-05-01 19:55:49 +01:00
Vaxry f1050d83a2 core: fix misused boolean 2024-05-01 19:15:35 +01:00
Vaxry c14dd732ff header: include <string> 2024-05-01 19:13:45 +01:00
Vaxry 9ab8ea2d62 core: don't overwrite files if they are the same 2024-05-01 19:12:10 +01:00
Vaxry 43d27dae69 headers: add misc useful functions 2024-05-01 19:12:10 +01:00
Vaxry 4eb457b3f7 core: add support for nullable objects 2024-04-26 23:45:55 +01:00
Vaxry e60b1bb9a1 source: fix including ->pResource under non-new_id resources 2024-04-24 21:08:28 +01:00
Vaxry 066c24549f core: fix new_id types in events 2024-04-24 15:46:14 +01:00
Vaxry 7c9c8adfe7 core: fix missing interfaces 2024-04-21 21:13:44 +01:00
Vaxry 6c4c47329f headers: make enum names more verbose to avoid conflicts 2024-04-21 20:39:44 +01:00
Vaxry 9e13e09152 core: remove destroy listener after fired 2024-04-20 14:26:26 +01:00
Vaxry 80c764615c handlers: avoid sending useless props 2024-04-20 03:47:26 +01:00
Vaxry d89eea7cd8 enum: use iface name as well if available 2024-04-20 03:32:32 +01:00
Vaxry 871bc88284 scanner: add support for enums 2024-04-20 03:13:12 +01:00
Vaxry 138764555c headers: declare extern interfaces 2024-04-20 02:49:56 +01:00
Vaxry 5f40a4fd2f core: fix non-empty args in send* fns 2024-04-20 02:28:03 +01:00
Vaxry e50948947a core: add version 2024-04-20 01:49:45 +01:00
Vaxry f2e8642342 source: fix missed defines 2024-04-20 01:37:39 +01:00
Vaxry 4dc342bc1d vtable: avoid requiring fpermissive 2024-04-20 01:29:26 +01:00
Vaxry 18e561ff2c core: use original name for files 2024-04-20 01:19:53 +01:00
Vaxry 5dc55d5230 Initial commit 2024-04-20 01:06:51 +01:00