mirror of
https://gitlab.freedesktop.org/wayland/weston.git
synced 2026-03-22 18:30:41 +01:00
This introduces a new convention of checking through the compositor destroy listener if the plugin is already initialized. If the plugin is already initialized, then the plugin entry function succeeds as a no-op. This makes it safe to load the same plugin multiple times in a running compositor. Currently module loading functions return failure if a plugin is already loaded, but that will change in the future. Therefore we need this other method of ensuring we do not double-initialize a plugin which would lead to list corruptions the very least. All plugins are converted to use the new helper, except: - those that do not have a destroy listener already, and - hmi-controller which does the same open-coded as the common code pattern did not fit there. Plugins should always have a compositor destroy listener registered since they very least allocate a struct to hold their data. Hence omissions are highlighted in code. Backends do not need this because weston_compositor_load_backend() already protects against double-init. GL-renderer does not export a standard module init function so cannot be initialized the usual way and therefore is not vulnerable to double-init. Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com> |
||
|---|---|---|
| .. | ||
| reference | ||
| bad-buffer-test.c | ||
| config-parser-test.c | ||
| devices-test.c | ||
| event-test.c | ||
| input-timestamps-helper.c | ||
| input-timestamps-helper.h | ||
| internal-screenshot-test.c | ||
| internal-screenshot.ini | ||
| ivi-layout-internal-test.c | ||
| ivi-layout-test-client.c | ||
| ivi-layout-test-plugin.c | ||
| ivi-shell-app-test.c | ||
| ivi-test.h | ||
| keyboard-test.c | ||
| linux-explicit-synchronization-test.c | ||
| matrix-test.c | ||
| meson.build | ||
| plugin-registry-test.c | ||
| pointer-test.c | ||
| presentation-test.c | ||
| roles-test.c | ||
| setbacklight.c | ||
| string-test.c | ||
| subsurface-shot-test.c | ||
| subsurface-test.c | ||
| surface-global-test.c | ||
| surface-screenshot-test.c | ||
| surface-test.c | ||
| text-test.c | ||
| timespec-test.c | ||
| touch-test.c | ||
| vertex-clip-test.c | ||
| viewporter-test.c | ||
| weston-test-client-helper.c | ||
| weston-test-client-helper.h | ||
| weston-test-desktop-shell.c | ||
| weston-test-runner.c | ||
| weston-test-runner.h | ||
| weston-test.c | ||
| xwayland-test.c | ||