Skip to content
GitLab
Explore
Sign in
Register
GNOME
mutter
Compare revisions
c4a859ff67ca64f4e30ea85ab0d243d871e167a6 to 1c7c0c9abf011cfd1670fa15af7f107c0a66225c
Commits on Source (174)
811f2808
build: Add missing include
Aug 10, 2022
10a2787a
tests/runner: Remove support running tests as an X11 WM
Aug 11, 2022
532c63e9
tests/runner: Make test runner use the headless backend
Aug 11, 2022
06d9ed3d
tests/runner: Recreate the virtual monitor for each test
Aug 11, 2022
5c26d786
tests/runner: Add 'resize_monitor' metatest command
Aug 11, 2022
e743334f
tests/runner: Add 'sync_shown' command
Aug 11, 2022
a25081ff
tests/respect-constraints: Explicitly set monitor size
Aug 11, 2022
24965a78
window: Make monitor from rect finder helper more clearly named
Aug 11, 2022
cf848c57
window: Get backend from context when updating monitors
Aug 11, 2022
4ed96537
window: Add monitor finder using stored IDs
Aug 11, 2022
5f96194e
window/wayland: Always update the monitor when updating
Aug 11, 2022
aa7653be
tests: Test hotplugs when having unmapped Wayland window
Aug 11, 2022
0d47b467
wayland: Fix thinko in paired tablet loop filter
Aug 13, 2022
b2ba653d
monitor-config-manager: Put logical monitor size scaling into helper
Aug 15, 2022
5fb4a2c2
monitor-config-manager: Fix layout size with scaled mirroring
Aug 15, 2022
8698b4a4
monitor-config-manager: Mark the mirroring logical monitor as primary
Aug 15, 2022
71bf31da
monitor-config-manager: Use helper to calculate mirroring scale
Aug 15, 2022
4580bca6
monitor: Add mode spec helper checking resolution similarness
Aug 15, 2022
3dca01a0
monitor-config-manager: Use scale from past configs when generating
Aug 15, 2022
6de2e0a3
tests: Add test for remembering configured monitor scales
Aug 15, 2022
dcd3bcca
monitor-manager: Expose :night-light-supported property
Aug 15, 2022
e2d4da85
screen-cast-stream: Embed the wayland output name to streams
Aug 15, 2022
64279167
Update meta connector types enum
Aug 17, 2022
5d81f6d8
ci: Avoid duplicate pipelines vol 2
Aug 17, 2022
2b06e1bb
tests: Give mutter-test-runner the RUNPATH to find Clutter
Aug 17, 2022
d371c180
tests/kvm: Disable -Werror when building kernel image
Aug 18, 2022
c6dc12cd
ci: Drop distro version from image name
Aug 18, 2022
d70b0c78
ci: Bump base image to F36
Aug 18, 2022
2df9ccd5
tests/kvm: Pass test executable last
Aug 19, 2022
22a46d4f
tests/kvm: Allow passing multi argument test cases
Aug 19, 2022
d2c49145
tests/dbus-runner: Don't consume options after '--'
Aug 19, 2022
9988dc34
tests/test-client: Wait for processs to exit before shutting down
Aug 19, 2022
510a9380
tests/pointer-constraints: Destroy client after test
Aug 19, 2022
b50353ba
Add 'catch' option
Aug 19, 2022
530d296a
ci: Don't use common build configuration in dist
Aug 19, 2022
d9030e02
ci: Enable 'catch' backtrace generation
Aug 19, 2022
9c1cd66d
tests/kvm/virtme-runner: Add more logging
Aug 19, 2022
f6e24c62
monitor: Generate mode IDs with 3 decimal places for Hz
Aug 19, 2022
b5169f25
output-kms: Change SYNC_TOLERANCE from 1% to 0.001Hz
Aug 19, 2022
8e5f5fbe
monitor-config-manager: Only report Hz to 3 decimal places
Aug 19, 2022
8711d449
monitor-config-store: Only save 3 decimal places of <rate>
Aug 19, 2022
a2636ce2
tests: Expect <rate> to always have three decimal places (rounded)
Aug 19, 2022
9a2c5d7d
tools/get-state: Round refresh rates to three decimal places
Aug 19, 2022
64a67aa0
backend/native: Don't warn on EACCES if headless
Aug 19, 2022
f760b47a
kms-impl-device: Remember the min/max values for a DRM_MODE_PROP_RANGE
Aug 19, 2022
f7654374
kms-types: Add type MetaKmsRange
Aug 19, 2022
33ee1556
kms-connector: Add "max bpc" property
Aug 19, 2022
2b561a36
kms-update: Add function meta_kms_update_set_max_bpc
Aug 19, 2022
0cc48158
kms-impl-device-atomic: Apply META_KMS_CONNECTOR_PROP_MAX_BPC
Aug 19, 2022
b6dbb686
kms-impl-device-simple: Apply META_KMS_CONNECTOR_PROP_MAX_BPC
Aug 19, 2022
e0e10c29
monitor-manager-private: Add max_bpc to MetaOutputAssignment
Aug 19, 2022
6ff0d600
output: Add max_bpc support
Aug 19, 2022
a907cef9
monitor: Add function meta_monitor_get_max_bpc()
Aug 19, 2022
4eef54f8
monitor-config-manager: Add a max_bpc field to MetaMonitorConfig
Aug 19, 2022
f19b350c
output-kms: Add max_bpc support
Aug 19, 2022
978cbe2d
onscreen-native: Set max_bpc with mode sets
Aug 19, 2022
99d84ae1
output-xrandr: Add support for the "max bpc" KMS connector property
Aug 19, 2022
d39137c6
monitor-manager-xrandr: Changing "max bpc" changes output assignment
Aug 19, 2022
03336788
monitor-config-store: Add parsing support for "maxbpc" in monitors.xml
Aug 19, 2022
cc203e24
monitor-test-utils: Add max_bpc field
Aug 19, 2022
26a9dd7f
monitor-unit-tests: Add a basic set-and-get test for max_bpc
Aug 19, 2022
0cfd0c3a
monitor-store-unit-tests: Verify <maxbpc> XML is stored correctly
Aug 19, 2022
51064c1b
wayland: Ensure to unlink destroy listeners after destruction
Aug 23, 2022
f4f39d3a
wayland: Ensure to unlink destroy listeners for subsurfaces
Aug 23, 2022
9c402bd0
wayland: Ensure to remove destroy listener for MetaWaylandBuffer
Aug 23, 2022
ed516dde
wayland: Add destruction listener to activation token surface
Aug 23, 2022
84396baa
stage: Mark stage as active on wayland when it has key-focus
Aug 24, 2022
e5784bf8
clutter/actor: Add detail to ::event signal
Aug 24, 2022
4fce0b97
clutter: Add source field to crossing events
Aug 24, 2022
8ad4056a
clutter/click-action: Don't stop release events if gesture is inactive
Aug 25, 2022
9d558e33
wayland: Unlink surface listener when freeing token
Aug 25, 2022
52b1531b
Update Abkhazian translation
Aug 25, 2022
8e2085da
backends/native: Add xlnx to the atomic deny list
Aug 26, 2022
c3021375
Update Finnish translation
Aug 30, 2022
bb1ffb08
shaped-texture: Don't clear mipmaps during painting
Aug 30, 2022
96aa0fb8
output/kms: Add more heuristics to decide when to offer fallback modes
Aug 31, 2022
c7954be5
tests/wayland/test-driver: Unset resource user data on finalize
Sep 01, 2022
3faf1f15
ci: Install colord and lcms2 devel packages
Sep 01, 2022
20a91aa4
backend: Add color manager skeleton
Sep 01, 2022
b6aea131
util: Add 'color' debug topic
Sep 01, 2022
15bbded8
monitor-manager/native: Bail if gamma LUT size differs
Sep 01, 2022
8446cd9f
monitor: Add getter for EDID MD5 checksum
Sep 01, 2022
c6c3f340
monitor: Add API to get GAMMA LUT size
Sep 01, 2022
f8dbea27
monitor: Add API to set GAMMA LUT
Sep 01, 2022
972e393f
monitor: Add API to check whether the monitor is virtual or not
Sep 01, 2022
f939a7ca
tests/monitor-unit-tests: Make serials more unique
Sep 01, 2022
ccb6a7e8
monitor: Allow vendor/product/serial to return NULL
Sep 01, 2022
7ee60e11
monitor: Don't only use 'winsys ID' to check sameness
Sep 01, 2022
67e7140c
monitor-manager: Move PNP lookup to MetaBackend
Sep 01, 2022
4fe743e0
dbus-runner: Add colord mocking
Sep 01, 2022
3fe01ffc
color-manager: Take over color device management from gsd-color
Sep 01, 2022
0dc6d763
tests/kvm: Forward MUTTER_DEBUG to the virtual machine
Sep 01, 2022
43cd7008
color-manager: Set up a D-Bus proxy to org.gnome.SettingsDaemon.Color
Sep 01, 2022
9ece2247
output: Keep the EDID struct with the other output info
Sep 01, 2022
b8ddf7ad
monitor: Add getter for EDID info struct
Sep 01, 2022
6403cfe1
color-manager: Add API to get the color device for a monitor
Sep 01, 2022
41ebf3b1
color-device: Add getter for the associated monitor
Sep 01, 2022
8826b293
color-manager: Add ready state
Sep 01, 2022
f4be29ee
tests: Add rudimentary color device test
Sep 01, 2022
508d3fe0
config: Add PACKAGE_NAME macro
Sep 01, 2022
74 additional commits have been omitted to prevent performance issues.
Hide whitespace changes
Inline
Side-by-side
.gitlab-ci.yml
View file @
1c7c0c9a
...
...
@@ -15,10 +15,10 @@ stages:
variables
:
FDO_UPSTREAM_REPO
:
GNOME/mutter
.mutter.fedora
:35
@common
:
.mutter.fedora@common
:
variables
:
FDO_DISTRIBUTION_VERSION
:
3
5
BASE_TAG
:
'
2022-0
8
-0
2
.0'
FDO_DISTRIBUTION_VERSION
:
3
6
BASE_TAG
:
'
2022-0
9
-0
1
.0'
FDO_DISTRIBUTION_PACKAGES
:
asciidoc
clang
...
...
@@ -36,35 +36,18 @@ variables:
busybox
gi-docgen
pkgconfig(libgcrypt)
pkgconfig(colord)
pkgconfig(lcms2)
FDO_DISTRIBUTION_EXEC
:
|
dnf install -y 'dnf-command(builddep)' &&
dnf builddep -y gsettings-desktop-schemas --setopt=install_weak_deps=False &&
dnf builddep -y mutter --setopt=install_weak_deps=False &&
dnf builddep -y gnome-shell --setopt=install_weak_deps=False &&
dnf builddep -y libinput --setopt=install_weak_deps=False &&
dnf builddep -y wayland --setopt=install_weak_deps=False &&
dnf builddep -y wayland-protocols --setopt=install_weak_deps=False &&
dnf builddep -y kernel --setopt=install_weak_deps=False &&
# For Xwayland
dnf builddep -y xorg-x11-server-Xwayland --setopt=install_weak_deps=False &&
dnf install -y 'pkgconfig(fontutil)' &&
dnf install -y 'pkgconfig(libxcvt)' &&
./.gitlab-ci/install-meson-project.sh \
-Dxwayland_eglstream=true \
-Dxvfb=false \
-Dvendor_name="Mutter CI" \
-Dxdmcp=false \
-Dxcsecurity=true \
-Dglamor=true \
-Ddri3=true \
https://gitlab.freedesktop.org/xorg/xserver.git \
xwayland-22.1.0 \
. &&
./.gitlab-ci/install-meson-project.sh \
https://gitlab.gnome.org/GNOME/gjs.git \
1.73.1 . &&
...
...
@@ -79,10 +62,6 @@ variables:
https://gitlab.gnome.org/GNOME/gcr.git \
3.90.0 . &&
./.gitlab-ci/install-meson-project.sh \
https://gitlab.gnome.org/GNOME/gsettings-desktop-schemas.git \
42.beta . &&
./.gitlab-ci/install-meson-project.sh \
https://gitlab.freedesktop.org/wayland/wayland.git \
1.21.0 . &&
...
...
@@ -92,9 +71,8 @@ variables:
1.26 . &&
./.gitlab-ci/install-meson-project.sh \
-Dgtk_doc=false \
https://gitlab.gnome.org/GNOME/libgweather.git \
main . 1f687f6375a3f3f006600119f7eee7df7348ade5 &&
https://gitlab.gnome.org/jadahl/catch.git \
main . 29ad36e2b1d28ac9d8b2bc44af46296cb1db5d66 &&
rpm -e --nodeps gnome-bluetooth-libs-devel \
mutter mutter-devel \
...
...
@@ -108,9 +86,11 @@ variables:
mkdir -p /opt/mutter &&
cp build/src/tests/kvm/bzImage /opt/mutter/bzImage &&
dnf install -y python3-pyelftools &&
git clone https://github.com/jadahl/virtme.git &&
cd virtme &&
git checkout
e7ee481efa10098ed0d62c9e033d61b2379b9b95
&&
git checkout
87bcebe63f61e2a3ccd418b0903eab90113a47ae
&&
./setup.py install --prefix=/usr &&
cd .. &&
rm -rf virtme
...
...
@@ -132,13 +112,13 @@ default:
-
'
scheduler_failure'
-
'
api_failure'
.mutter.fedora
:35
@x86_64
:
extends
:
.mutter.fedora
:35
@common
.mutter.fedora@x86_64
:
extends
:
.mutter.fedora@common
variables
:
FDO_DISTRIBUTION_TAG
:
"
x86_64-${BASE_TAG}"
.mutter.fedora
:35
@aarch64
:
extends
:
.mutter.fedora
:35
@common
.mutter.fedora@aarch64
:
extends
:
.mutter.fedora@common
variables
:
FDO_DISTRIBUTION_TAG
:
"
aarch64-${BASE_TAG}"
tags
:
...
...
@@ -146,17 +126,31 @@ default:
workflow
:
rules
:
-
if
:
'
$CI_MERGE_REQUEST_IID'
-
if
:
'
$CI_COMMIT_TAG'
# Allow to switch from branch pipelines to MR pipelines seamlessly
# https://docs.gitlab.com/ee/ci/jobs/job_control.html#avoid-duplicate-pipelines
-
if
:
$CI_COMMIT_BRANCH && $CI_OPEN_MERGE_REQUESTS && $CI_PIPELINE_SOURCE == "push"
when
:
never
-
if
:
$CI_PIPELINE_SOURCE == "merge_request_event"
# Don't trigger a branch pipeline if there is an open MR
-
if
:
$CI_COMMIT_BRANCH && $CI_OPEN_MERGE_REQUESTS
when
:
never
-
if
:
'
$CI_COMMIT_BRANCH'
-
if
:
'
$CI_COMMIT_TAG'
.pip
line-guard
:
&pip
line-guard
.pip
e
line-guard
:
rules
:
-
if
:
'
$CI_PIPELINE_SOURCE
==
"merge_request_event"'
-
if
:
'
$CI_COMMIT_TAG'
-
if
:
'
$CI_COMMIT_BRANCH
==
$CI_DEFAULT_BRANCH'
-
if
:
'
$CI_COMMIT_BRANCH
=~
/^gnome-[0-9-]+$/'
-
when
:
'
manual'
# Avoid catchall `when: manual` rule which might
# cause duplicate pipelines to be triggered.
# https://docs.gitlab.com/ee/ci/jobs/job_control.html#avoid-duplicate-pipelines
#
# Also make it so pipelines without MR need to be started
# manually, since their state will most likely be WIP
-
if
:
'
$CI_COMMIT_BRANCH'
when
:
'
manual'
check-commit-log
:
extends
:
...
...
@@ -177,7 +171,8 @@ check-commit-log:
-
commit-message-junit-report.xml
reports
:
junit
:
commit-message-junit-report.xml
<<
:
*pipline-guard
rules
:
-
!reference
[
.pipeline-guard
,
rules
]
check-merge-request
:
extends
:
...
...
@@ -198,12 +193,13 @@ check-merge-request:
-
check-merge-request-report.xml
reports
:
junit
:
check-merge-request-report.xml
<<
:
*pipline-guard
rules
:
-
!reference
[
.pipeline-guard
,
rules
]
build-fedora-container@x86_64
:
extends
:
-
.fdo.container-build@fedora@x86_64
-
.mutter.fedora
:35
@x86_64
-
.mutter.fedora@x86_64
stage
:
prepare
needs
:
-
check-commit-log
...
...
@@ -214,7 +210,7 @@ build-fedora-container@x86_64:
build-fedora-container@aarch64
:
extends
:
-
.fdo.container-build@fedora@aarch64
-
.mutter.fedora
:35
@aarch64
-
.mutter.fedora@aarch64
stage
:
prepare
needs
:
-
check-commit-log
...
...
@@ -225,7 +221,7 @@ build-fedora-container@aarch64:
check-code-style
:
extends
:
-
.fdo.distribution-image@fedora
-
.mutter.fedora
:35
@x86_64
-
.mutter.fedora@x86_64
stage
:
code-review
needs
:
-
build-fedora-container@x86_64
...
...
@@ -246,6 +242,7 @@ check-code-style:
BASE_MESON_OPTIONS
:
-Degl_device=true
-Dwayland_eglstream=true
-Dcatch=true
.build-mutter
:
extends
:
...
...
@@ -276,21 +273,21 @@ build-mutter@x86_64:
-Dkvm_kernel_image=/opt/mutter/bzImage
extends
:
-
.build-mutter
-
.mutter.fedora
:35
@x86_64
-
.mutter.fedora@x86_64
needs
:
-
build-fedora-container@x86_64
build-mutter@aarch64
:
extends
:
-
.build-mutter
-
.mutter.fedora
:35
@aarch64
-
.mutter.fedora@aarch64
needs
:
-
build-fedora-container@aarch64
build-without-opengl-and-glx@x86_64
:
extends
:
-
.fdo.distribution-image@fedora
-
.mutter.fedora
:35
@x86_64
-
.mutter.fedora@x86_64
stage
:
build
needs
:
-
build-fedora-container@x86_64
...
...
@@ -310,7 +307,7 @@ build-without-opengl-and-glx@x86_64:
build-without-native-backend-and-wayland@x86_64
:
extends
:
-
.fdo.distribution-image@fedora
-
.mutter.fedora
:35
@x86_64
-
.mutter.fedora@x86_64
stage
:
build
needs
:
-
build-fedora-container@x86_64
...
...
@@ -382,14 +379,16 @@ build-without-native-backend-and-wayland@x86_64:
test-mutter@x86_64
:
extends
:
-
.test-mutter
-
.mutter.fedora:35@x86_64
-
.mutter.fedora@x86_64
tags
:
-
asan
needs
:
-
build-mutter@x86_64
test-mutter-kvm@x86_64
:
extends
:
-
.test-mutter-base
-
.mutter.fedora
:35
@x86_64
-
.mutter.fedora@x86_64
tags
:
-
kvm
script
:
...
...
@@ -407,14 +406,16 @@ test-mutter-kvm@x86_64:
test-mutter@aarch64
:
extends
:
-
.test-mutter
-
.mutter.fedora:35@aarch64
-
.mutter.fedora@aarch64
tags
:
-
asan-aarch64
needs
:
-
build-mutter@aarch64
coverage
:
extends
:
-
.fdo.distribution-image@fedora
-
.mutter.fedora
:35
@x86_64
-
.mutter.fedora@x86_64
stage
:
analyze
script
:
-
mkdir coveragereport
...
...
@@ -432,7 +433,7 @@ coverage:
can-build-gnome-shell@x86_64
:
extends
:
-
.fdo.distribution-image@fedora
-
.mutter.fedora
:35
@x86_64
-
.mutter.fedora@x86_64
stage
:
test
needs
:
-
build-mutter@x86_64
...
...
@@ -447,10 +448,11 @@ test-mutter-coverity:
rules
:
-
if
:
'
$CI_PIPELINE_SOURCE
==
"schedule"
&&
$MUTTER_SCHEDULED_JOB
==
"coverity"'
when
:
always
-
when
:
manual
-
if
:
'
$CI_COMMIT_BRANCH'
when
:
'
manual'
extends
:
-
.fdo.distribution-image@fedora
-
.mutter.fedora
:35
@x86_64
-
.mutter.fedora@x86_64
needs
:
-
build-fedora-container@x86_64
stage
:
analyze
...
...
@@ -472,7 +474,7 @@ test-mutter-coverity:
dist-mutter
:
extends
:
-
.fdo.distribution-image@fedora
-
.mutter.fedora
:35
@x86_64
-
.mutter.fedora@x86_64
-
.build-mutter-base
<<
:
*test-setup
stage
:
deploy
...
...
@@ -481,8 +483,6 @@ dist-mutter:
script
:
-
meson . build --werror --prefix /usr
-Dbuildtype=debugoptimized
$BASE_MESON_OPTIONS
-Dkvm_tests=false
-
glib-compile-schemas $GSETTINGS_SCHEMA_DIR
-
dbus-run-session -- xvfb-run -a -s "$XVFB_SERVER_ARGS"
./.gitlab-ci/run-meson.sh dist -C build
...
...
@@ -504,7 +504,7 @@ dist-mutter-tarball:
reference
:
extends
:
-
.fdo.distribution-image@fedora
-
.mutter.fedora
:35
@x86_64
-
.mutter.fedora@x86_64
stage
:
docs
needs
:
-
job
:
build-fedora-container@x86_64
...
...
.gitlab-ci/run-meson.sh
View file @
1c7c0c9a
...
...
@@ -5,4 +5,4 @@ set -e
wireplumber &
sleep
1
catchsegv
meson
"
$@
"
meson
"
$@
"
NEWS
View file @
1c7c0c9a
43.rc
=====
* Remember monitor scale when switching configurations [Jonas Å.; !2479]
* Embed wayland output name into screencast streams [Salman; !2540]
* Limit precision of stored refresh rates [Daniel; !2465, !2602]
* Add support for the "max bpc" connector property [Daniel; !2412]
* Fix focus-tracking corner case [Jonas D.; !2329]
* Add detail to ::event signal [Jonas D.; !2431]
* Improve heuristics for adding fallback monitor modes [Mario; !2586]
* Take over color management from gnome-settings-daemon
[Jonas Å.; !2141, !2164, !2165, !2166, !2568]
* Allow scanout for offscreen rotated views [Robert; !2468]
* Fix hot corner regression on X11 [Jonas Å.; !2604]
* Fix losing IM focus in some circumstances [Carlos; !2585]
* Avoid swapping redundant portions of buffers onscreen [Erico; !2241]
* Animate windows moving between monitors [Alessandro; !2558]
* Make NVIDIA + gbm use atomic mode setting [Jonas Å.; !2578]
* Fixed crashes [Jonas Å., Steev, Carlos, Simon; !2554, !2577, !2592, !2182,
!2609, !2612]
* Plugged memory leak [Alessandro; !2608]
* Misc. bug fixes and cleanups [Florian, Carlos, Jordan, Simon, Jonas Å.,
Jonas D., Daniel, Sebastian K., Alberts, Bilal, Dor, Sebastian W.; !2566,
!2573, !2576, !2534, !2581, !2430, !2561, !2584, !2588, !2551, !2552, !2594,
!2596, !2598, !2601, !2603, !2589, !2587, !2375, !2486, !2606, !1354, !2605,
!2611]
Contributors:
Dor Askayo, Alessandro Bono, Jonas Dreßler, Bilal Elmoussaoui,
Carlos Garnacho, Sebastian Keller, Steev Klimaszewski, Mario Limonciello,
Robert Mader, Salman Malik, Simon McVittie, Alberts Muktupāvels,
Florian Müllner, Erico Nunes, Jordan Petridis, Daniel van Vugt,
Sebastian Wick, Jonas Ådahl
Translators:
Nart Tlisha [ab], Jiri Grönroos [fi], Goran Vidović [hr],
Yuri Chornoivan [uk], Jordi Mas [ca], Marek Černocký [cs], Balázs Úr [hu],
Emin Tufan Çetin [tr], Danial Behzadi [fa], Piotr Drąg [pl],
Rūdolfs Mazurs [lv], Hugo Carvalho [pt], Anders Jonsson [sv],
Boyuan Yang [zh_CN], Asier Sarasua Garmendia [eu]
43.beta
=======
* Fix glitches in apps using subsurfaces [Robert; !2501, !2530]
...
...
clutter/clutter/clutter-actor.c
View file @
1c7c0c9a
...
...
@@ -7298,7 +7298,7 @@ clutter_actor_class_init (ClutterActorClass *klass)
actor_signals[EVENT] =
g_signal_new (I_("event"),
G_TYPE_FROM_CLASS (object_class),
G_SIGNAL_RUN_LAST,
G_SIGNAL_RUN_LAST
| G_SIGNAL_DETAILED
,
G_STRUCT_OFFSET (ClutterActorClass, event),
_clutter_boolean_handled_accumulator, NULL,
_clutter_marshal_BOOLEAN__BOXED,
...
...
@@ -12131,7 +12131,7 @@ clutter_actor_event (ClutterActor *actor,
g_signal_emit (actor, actor_signals[CAPTURED_EVENT], detail, event, &retval);
else
{
g_signal_emit (actor, actor_signals[EVENT],
0
, event, &retval);
g_signal_emit (actor, actor_signals[EVENT],
detail
, event, &retval);
if (!retval && signal_num != -1)
g_signal_emit (actor, actor_signals[signal_num], 0, event, &retval);
...
...
clutter/clutter/clutter-click-action.c
View file @
1c7c0c9a
...
...
@@ -360,7 +360,7 @@ clutter_click_action_handle_event (ClutterAction *action,
G_GNUC_FALLTHROUGH
;
case
CLUTTER_BUTTON_RELEASE
:
if
(
!
priv
->
is_held
)
return
CLUTTER_EVENT_
STOP
;
return
CLUTTER_EVENT_
PROPAGATE
;
if
((
has_button
&&
clutter_event_get_button
(
event
)
!=
priv
->
press_button
)
||
clutter_event_get_device
(
event
)
!=
priv
->
press_device
||
...
...
clutter/clutter/clutter-event.c
View file @
1c7c0c9a
...
...
@@ -509,6 +509,10 @@ clutter_event_get_source (const ClutterEvent *event)
{
g_return_val_if_fail
(
event
!=
NULL
,
NULL
);
if
(
event
->
type
==
CLUTTER_ENTER
||
event
->
type
==
CLUTTER_LEAVE
)
return
event
->
crossing
.
source
;
return
clutter_stage_get_event_actor
(
clutter_event_get_stage
(
event
),
event
);
}
...
...
clutter/clutter/clutter-event.h
View file @
1c7c0c9a
...
...
@@ -242,6 +242,7 @@ struct _ClutterCrossingEvent
gfloat
y
;
ClutterInputDevice
*
device
;
ClutterEventSequence
*
sequence
;
ClutterActor
*
source
;
ClutterActor
*
related
;
};
...
...
clutter/clutter/clutter-frame-clock.c
View file @
1c7c0c9a
...
...
@@ -407,8 +407,6 @@ calculate_next_update_time_us (ClutterFrameClock *frame_clock,
int64_t
refresh_interval_us
;
int64_t
min_render_time_allowed_us
;
int64_t
max_render_time_allowed_us
;
int64_t
last_next_presentation_time_us
;
int64_t
time_since_last_next_presentation_time_us
;
int64_t
next_presentation_time_us
;
int64_t
next_update_time_us
;
...
...
@@ -510,29 +508,34 @@ calculate_next_update_time_us (ClutterFrameClock *frame_clock,
refresh_interval_us
;
}
/*
* Skip one interval if we got an early presented event.
*
* last frame this was last_presentation_time
* / frame_clock->next_presentation_time_us
* / /
* |---|-o-----|-x----->
* | \
* \ next_presentation_time_us is thus right after the last one
* but got an unexpected early presentation
* \_/
* time_since_last_next_presentation_time_us
*
*/
last_next_presentation_time_us
=
frame_clock
->
next_presentation_time_us
;
time_since_last_next_presentation_time_us
=
next_presentation_time_us
-
last_next_presentation_time_us
;
if
(
frame_clock
->
is_next_presentation_time_valid
&&
time_since_last_next_presentation_time_us
>
0
&&
time_since_last_next_presentation_time_us
<
(
refresh_interval_us
/
2
))
if
(
frame_clock
->
is_next_presentation_time_valid
)
{
next_presentation_time_us
=
frame_clock
->
next_presentation_time_us
+
refresh_interval_us
;
int64_t
last_next_presentation_time_us
;
int64_t
time_since_last_next_presentation_time_us
;
/*
* Skip one interval if we got an early presented event.
*
* last frame this was last_presentation_time
* / frame_clock->next_presentation_time_us
* / /
* |---|-o-----|-x----->
* | \
* \ next_presentation_time_us is thus right after the last one
* but got an unexpected early presentation
* \_/
* time_since_last_next_presentation_time_us
*
*/
last_next_presentation_time_us
=
frame_clock
->
next_presentation_time_us
;
time_since_last_next_presentation_time_us
=
next_presentation_time_us
-
last_next_presentation_time_us
;
if
(
time_since_last_next_presentation_time_us
>
0
&&
time_since_last_next_presentation_time_us
<
(
refresh_interval_us
/
2
))
{
next_presentation_time_us
=
frame_clock
->
next_presentation_time_us
+
refresh_interval_us
;
}
}
while
(
next_presentation_time_us
<
now_us
+
min_render_time_allowed_us
)
...
...
clutter/clutter/clutter-stage-view.c
View file @
1c7c0c9a
...
...
@@ -1120,6 +1120,15 @@ clutter_stage_view_get_frame_clock (ClutterStageView *view)
return
priv
->
frame_clock
;
}
gboolean
clutter_stage_view_has_shadowfb
(
ClutterStageView
*
view
)
{
ClutterStageViewPrivate
*
priv
=
clutter_stage_view_get_instance_private
(
view
);
return
priv
->
use_shadowfb
;
}
static
void
handle_frame_clock_before_frame
(
ClutterFrameClock
*
frame_clock
,
int64_t
frame_count
,
...
...
clutter/clutter/clutter-stage-view.h
View file @
1c7c0c9a
...
...
@@ -82,4 +82,7 @@ CoglScanout * clutter_stage_view_peek_scanout (ClutterStageView *view);
CLUTTER_EXPORT
float
clutter_stage_view_get_refresh_rate
(
ClutterStageView
*
view
);
CLUTTER_EXPORT
gboolean
clutter_stage_view_has_shadowfb
(
ClutterStageView
*
view
);
#endif
/* __CLUTTER_STAGE_VIEW_H__ */
clutter/clutter/clutter-stage.c
View file @
1c7c0c9a
...
...
@@ -3400,6 +3400,7 @@ create_crossing_event (ClutterStage *stage,
event
->
crossing
.
stage
=
stage
;
event
->
crossing
.
x
=
coords
.
x
;
event
->
crossing
.
y
=
coords
.
y
;
event
->
crossing
.
source
=
source
;
event
->
crossing
.
related
=
related
;
event
->
crossing
.
sequence
=
sequence
;
clutter_event_set_device
(
event
,
device
);
...
...
config.h.meson
View file @
1c7c0c9a
...
...
@@ -4,6 +4,9 @@
/* Version number of package */
#mesondefine VERSION
/* Name of package */
#mesondefine PACKAGE_NAME
/* Version number of package */
#mesondefine PACKAGE_VERSION
...
...
@@ -58,6 +61,9 @@
/* Defined if gnome-desktop is enabled */
#mesondefine HAVE_GNOME_DESKTOP
/* Defined if sound player is enabled */
#mesondefine HAVE_SOUND_PLAYER
/* Building with SM support */
#mesondefine HAVE_SM
...
...
data/dbus-interfaces/org.gnome.Mutter.InputMapping.xml
0 → 100644
View file @
1c7c0c9a
<!DOCTYPE node PUBLIC
'-//freedesktop//DTD D-BUS Object Introspection 1.0//EN'
'http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd'>
<node>
<!--
org.gnome.Mutter.InputMapper:
@short_description: input mapper interface
This interface is used by gnome-control-center to implement
tablet calibration.
-->
<interface
name=
"org.gnome.Mutter.InputMapping"
>
<method
name=
"GetDeviceMapping"
>
<arg
name=
"device_node"
direction=
"in"
type=
"o"
/>
<arg
name=
"rect"
direction=
"out"
type=
"(iiii)"
/>
</method>
</interface>
</node>
data/dbus-interfaces/org.gnome.Mutter.ScreenCast.xml
View file @
1c7c0c9a
...
...
@@ -221,6 +221,9 @@
compositor coordinate space.
* "size" (ii): Size of the source of the stream in the compositor
coordinate space.
* "output-name" s: Xrandr name of the output in case of X11 and
wl_output.name in case of Wayland. Available only
for monitor streams.
-->
<property
name=
"Parameters"
type=
"a{sv}"
access=
"read"
/>
...
...
data/dbus-interfaces/org.gnome.SettingsDaemon.Color.xml
0 → 100644
View file @
1c7c0c9a
<node>
<interface
name=
"org.gnome.SettingsDaemon.Color"
>
<property
name=
"DisabledUntilTomorrow"
type=
"b"
access=
"readwrite"
/>
<property
name=
"NightLightActive"
type=
"b"
access=
"read"
/>
<property
name=
"Temperature"
type=
"u"
access=
"readwrite"
/>
</interface>
</node>
data/dbus-interfaces/org.gnome.SettingsDaemon.Power.Screen.xml
0 → 100644
View file @
1c7c0c9a
<node>
<interface
name=
"org.gnome.SettingsDaemon.Power.Screen"
>
<property
name=
"Brightness"
type=
"i"
access=
"readwrite"
/>
</interface>
</node>
meson.build
View file @
1c7c0c9a
project
(
'mutter'
,
'c'
,
version
:
'43.
beta
'
,
version
:
'43.
rc
'
,
meson_version
:
'>= 0.55.0'
,
license
:
'GPLv2+'
)
...
...
@@ -13,6 +13,8 @@ mutter_srcdir = meson.current_source_dir()
mutter_builddir
=
meson
.
current_build_dir
()
# generic version requirements
lcms2_req
=
'>= 2.6'
colord_req
=
'>= 1.4.5'
fribidi_req
=
'>= 1.0.0'
glib_req
=
'>= 2.69.0'
gi_req
=
'>= 0.9.5'
...
...
@@ -122,8 +124,9 @@ json_glib_dep = dependency('json-glib-1.0', version: json_glib_req)
xkbcommon_dep
=
dependency
(
'xkbcommon'
,
version
:
xkbcommon_req
)
ice_dep
=
dependency
(
'ice'
)
atk_dep
=
dependency
(
'atk'
,
version
:
atk_req
)
libcanberra_dep
=
dependency
(
'libcanberra'
,
version
:
libcanberra_req
)
dbus_dep
=
dependency
(
'dbus-1'
)
colord_dep
=
dependency
(
'colord'
,
version
:
colord_req
)
lcms2_dep
=
dependency
(
'lcms2'
,
version
:
lcms2_req
)
have_wayland
=
get_option
(
'wayland'
)
# For now always require X11 support
...
...
@@ -166,6 +169,11 @@ if have_gnome_desktop
gnome_desktop_dep
=
dependency
(
'gnome-desktop-3.0'
)
endif
have_sound_player
=
get_option
(
'sound_player'
)
if
have_sound_player
libcanberra_dep
=
dependency
(
'libcanberra'
,
version
:
libcanberra_req
)
endif
have_gl
=
get_option
(
'opengl'
)
if
have_gl
gl_dep
=
dependency
(
'gl'
)
...
...
@@ -353,8 +361,16 @@ if have_tests
meta_dbus_runner
=
find_program
(
'src/tests/meta-dbus-runner.py'
)
default_test_wrappers
=
[
meta_dbus_runner
,
'--'
,
]
if
get_option
(
'catch'
)
catch
=
find_program
(
'catch'
)
default_test_wrappers
+=
[
catch
,
]
endif
add_test_setup
(
'default'
,
is_default
:
true
,
exe_wrapper
:
default_test_wrappers
,
...
...
@@ -476,6 +492,7 @@ cc.compiles('void main (void) { __builtin_ffsl (0); __builtin_popcountl (0); }')
cdata
=
configuration_data
()
cdata
.
set_quoted
(
'GETTEXT_PACKAGE'
,
gettext_package
)
cdata
.
set_quoted
(
'VERSION'
,
meson
.
project_version
())
cdata
.
set_quoted
(
'PACKAGE_NAME'
,
meson
.
project_name
())
cdata
.
set_quoted
(
'PACKAGE_VERSION'
,
meson
.
project_version
())
cdata
.
set
(
'HAVE_EGL'
,
have_egl
)
...
...
@@ -487,6 +504,7 @@ cdata.set('HAVE_LIBSYSTEMD', have_libsystemd)
cdata
.
set
(
'HAVE_NATIVE_BACKEND'
,
have_native_backend
)
cdata
.
set
(
'HAVE_REMOTE_DESKTOP'
,
have_remote_desktop
)
cdata
.
set
(
'HAVE_GNOME_DESKTOP'
,
have_gnome_desktop
)
cdata
.
set
(
'HAVE_SOUND_PLAYER'
,
have_sound_player
)
cdata
.
set
(
'HAVE_EGL_DEVICE'
,
have_egl_device
)
cdata
.
set
(
'HAVE_WAYLAND_EGLSTREAM'
,
have_wayland_eglstream
)
cdata
.
set
(
'HAVE_LIBGUDEV'
,
have_libgudev
)
...
...
@@ -645,6 +663,7 @@ summary('Native Backend', have_native_backend, section: 'Options')
summary
(
'EGL Device'
,
have_egl_device
,
section
:
'Options'
)
summary
(
'Remote desktop'
,
have_remote_desktop
,
section
:
'Options'
)
summary
(
'libgnome-desktop'
,
have_gnome_desktop
,
section
:
'Options'
)
summary
(
'Sound player'
,
have_sound_player
,
section
:
'Options'
)
summary
(
'gudev'
,
have_libgudev
,
section
:
'Options'
)
summary
(
'Wacom'
,
have_libwacom
,
section
:
'Options'
)
summary
(
'SM'
,
have_sm
,
section
:
'Options'
)
...
...
meson_options.txt
View file @
1c7c0c9a
...
...
@@ -93,6 +93,12 @@ option('libwacom',
description
:
'Enable libwacom support'
)
option
(
'sound_player'
,
type
:
'boolean'
,
value
:
true
,
description
:
'Enable sound player support using libcanberra'
,
)
option
(
'pango_ft2'
,
type
:
'boolean'
,
value
:
true
,
...
...
@@ -206,3 +212,9 @@ option('xwayland_initfd',
value
:
'auto'
,
description
:
'Whether -initfd argument is passed to Xwayland to guarantee services (e.g. gsd-xsettings) startup before applications'
)
option
(
'catch'
,
type
:
'boolean'
,
value
:
false
,
description
:
'Use catch to catch backtraces'
)
po/POTFILES.in
View file @
1c7c0c9a
...
...
@@ -23,6 +23,7 @@ src/core/mutter.c
src/core/prefs.c
src/core/util.c
src/core/window.c
src/core/workspace.c
src/ui/frames.c
src/ui/theme.c
src/wayland/meta-wayland-tablet-pad.c
...
...
po/ab.po
View file @
1c7c0c9a
...
...
@@ -3,7 +3,7 @@ msgstr ""
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/mutter/issues\n"
"POT-Creation-Date: 2022-07-21 22:51+0000\n"
"Last-Translator: Нанба Наала <naala-nanba@rambler.ru>\n"
"Language-Team: Abkhazian <
ab@li.org
>\n"
"Language-Team: Abkhazian <
daniel.abzakh@gmail.com
>\n"
"Language: ab\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
...
...
@@ -309,7 +309,7 @@ msgstr ""
#: data/org.gnome.mutter.gschema.xml.in:67
msgid "No tab popup"
msgstr ""
msgstr "
Ицәырҵуа аҭаӡҩырартәрада
"
#: data/org.gnome.mutter.gschema.xml.in:68
msgid ""
...
...
Prev
1
2
3
4
5
…
9
Next