environment: BUILD_SUBMITTER: dalligi CI: "true" CI_API_GRAPHQL_URL: https://gitlab.freedesktop.org/api/graphql CI_API_V4_URL: https://gitlab.freedesktop.org/api/v4 CI_COMMIT_AUTHOR: Simon Ser CI_COMMIT_BEFORE_SHA: b29ebe4a1c6569dadb8630f35e1763ccc8954772 CI_COMMIT_BRANCH: backport-0.18.2 CI_COMMIT_DESCRIPTION: |4- We were always creating a custom mode object when the output didn't have a fixed mode. This is important to handle two cases: - Virtual outputs with no concept of fixed modes. - DRM outputs with a list of fixed modes but with a custom mode set. However, in the case where an output didn't have a fixed mode and was disabled, we were also creating the custom mode object. Clients would then see a "ghost" mode: a mode object with no properties at all. Fix this by only creating the custom mode object if the output is enabled. Fixes: 5de9e1a99d66 ("wlr-output-management: Send custom modes to clients") Closes: https://github.com/swaywm/sway/issues/8420 (cherry picked from commit 2c3053370c274f86411dda1c5fced6b1416d8ad1) CI_COMMIT_MESSAGE: | output-management-v1: only create custom mode object for enabled heads We were always creating a custom mode object when the output didn't have a fixed mode. This is important to handle two cases: - Virtual outputs with no concept of fixed modes. - DRM outputs with a list of fixed modes but with a custom mode set. However, in the case where an output didn't have a fixed mode and was disabled, we were also creating the custom mode object. Clients would then see a "ghost" mode: a mode object with no properties at all. Fix this by only creating the custom mode object if the output is enabled. Fixes: 5de9e1a99d66 ("wlr-output-management: Send custom modes to clients") Closes: https://github.com/swaywm/sway/issues/8420 (cherry picked from commit 2c3053370c274f86411dda1c5fced6b1416d8ad1) CI_COMMIT_REF_NAME: backport-0.18.2 CI_COMMIT_REF_PROTECTED: "false" CI_COMMIT_REF_SLUG: backport-0-18-2 CI_COMMIT_SHA: 0e002db57c3e5377fbce8ed4c784753b2340efa3 CI_COMMIT_SHORT_SHA: 0e002db5 CI_COMMIT_TIMESTAMP: "2024-11-11T14:21:21-05:00" CI_COMMIT_TITLE: 'output-management-v1: only create custom mode object for enabled heads' CI_CONFIG_PATH: .gitlab-ci.yml CI_DEFAULT_BRANCH: master CI_JOB_ID: "66433746" CI_JOB_NAME: alpine CI_JOB_NAME_SLUG: alpine CI_JOB_STAGE: test CI_JOB_STARTED_AT: "2024-11-11T19:21:34Z" CI_JOB_URL: https://gitlab.freedesktop.org/bl4ckb0ne/wlroots/-/jobs/66433746 CI_NODE_TOTAL: "1" CI_OPEN_MERGE_REQUESTS: wlroots/wlroots!4906 CI_PAGES_DOMAIN: pages.freedesktop.org CI_PAGES_URL: https://bl4ckb0ne.pages.freedesktop.org/wlroots CI_PIPELINE_CREATED_AT: "2024-11-11T19:21:30Z" CI_PIPELINE_ID: "1308394" CI_PIPELINE_IID: "274" CI_PIPELINE_NAME: "" CI_PIPELINE_SOURCE: push CI_PIPELINE_URL: https://gitlab.freedesktop.org/bl4ckb0ne/wlroots/-/pipelines/1308394 CI_PROJECT_CLASSIFICATION_LABEL: "" CI_PROJECT_DESCRIPTION: A modular Wayland compositor library CI_PROJECT_ID: "12159" CI_PROJECT_NAME: wlroots CI_PROJECT_NAMESPACE: bl4ckb0ne CI_PROJECT_NAMESPACE_ID: "10077" CI_PROJECT_PATH: bl4ckb0ne/wlroots CI_PROJECT_PATH_SLUG: bl4ckb0ne-wlroots CI_PROJECT_REPOSITORY_LANGUAGES: c,meson,glsl,makefile,shell CI_PROJECT_ROOT_NAMESPACE: bl4ckb0ne CI_PROJECT_TITLE: wlroots CI_PROJECT_URL: https://gitlab.freedesktop.org/bl4ckb0ne/wlroots CI_PROJECT_VISIBILITY: public CI_REGISTRY: registry.freedesktop.org CI_REGISTRY_USER: gitlab-ci-token CI_RUNNER_DESCRIPTION: dalligi SourceHut bridge CI_RUNNER_ID: "2241" CI_RUNNER_TAGS: '["dalligi"]' CI_SERVER_FQDN: gitlab.freedesktop.org CI_SERVER_HOST: gitlab.freedesktop.org CI_SERVER_NAME: GitLab CI_SERVER_PORT: "443" CI_SERVER_PROTOCOL: https CI_SERVER_REVISION: e8dca573167 CI_SERVER_SHELL_SSH_HOST: gitlab.freedesktop.org CI_SERVER_SHELL_SSH_PORT: "22" CI_SERVER_URL: https://gitlab.freedesktop.org CI_SERVER_VERSION: 17.5.1 CI_SERVER_VERSION_MAJOR: "17" CI_SERVER_VERSION_MINOR: "5" CI_SERVER_VERSION_PATCH: "1" CI_TEMPLATE_REGISTRY_HOST: registry.gitlab.com GITLAB_CI: "true" GITLAB_FEATURES: "" GITLAB_USER_EMAIL: simon@bl4ckb0ne.ca GITLAB_USER_ID: "9835" GITLAB_USER_LOGIN: bl4ckb0ne GITLAB_USER_NAME: Simon Zeni image: alpine/edge packages: - eudev-dev - glslang - lcms2-dev - libdisplay-info-dev - libinput-dev - libliftoff-dev - libxkbcommon-dev - mesa-dev - meson - pixman-dev - vulkan-headers - vulkan-loader-dev - wayland-dev - wayland-protocols - xcb-util-image-dev - xcb-util-renderutil-dev - xcb-util-wm-dev - xwayland-dev - libseat-dev - hwdata-dev sources: - https://gitlab-ci-token:glcbt-64_MvytwsGi2MDxad3yNKNk@gitlab.freedesktop.org/bl4ckb0ne/wlroots.git#0e002db57c3e5377fbce8ed4c784753b2340efa3 tasks: - setup: | cd wlroots meson setup build --fatal-meson-warnings --default-library=both -Dauto_features=enabled -Dxcb-errors=disabled --buildtype=debugoptimized - build: | cd wlroots ninja -C build sudo ninja -C build install - build-features-disabled: | cd wlroots meson setup build --reconfigure -Dauto_features=disabled ninja -C build - tinywl: | cd wlroots/tinywl make