xserver: Branch 'server-1.20-branch' - 3 commits
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Mon Mar 25 17:48:31 UTC 2019
.gitlab-ci.yml | 4 ----
hw/xwayland/xwayland-present.c | 5 +++++
present/present_scmd.c | 8 +++++---
3 files changed, 10 insertions(+), 7 deletions(-)
New commits:
commit 87491ced98705a14be2bb5a3ce7e41cb5ffc11d0
Author: Michel Dänzer <michel.daenzer at amd.com>
Date: Mon Mar 25 12:32:48 2019 +0100
present/scmd: Check that the flip and screen pixmap pitches match
If they don't, flipping will result in corrupted display.
Test case:
* Run Xorg at 1920x1080 with no window manager
* glxgears -geometry 2048x1080
(Cherry picked from commit ef91da2757050652c724f6e674e8b1acf5d0cb31)
diff --git a/present/present_scmd.c b/present/present_scmd.c
index 6a580cb7a..3b7fbd832 100644
--- a/present/present_scmd.c
+++ b/present/present_scmd.c
@@ -78,7 +78,7 @@ present_check_flip(RRCrtcPtr crtc,
PresentFlipReason *reason)
{
ScreenPtr screen = window->drawable.pScreen;
- PixmapPtr window_pixmap;
+ PixmapPtr screen_pixmap, window_pixmap;
WindowPtr root = screen->root;
present_screen_priv_ptr screen_priv = present_screen_priv(screen);
@@ -99,8 +99,9 @@ present_check_flip(RRCrtcPtr crtc,
return FALSE;
/* Make sure the window hasn't been redirected with Composite */
+ screen_pixmap = screen->GetScreenPixmap(screen);
window_pixmap = screen->GetWindowPixmap(window);
- if (window_pixmap != screen->GetScreenPixmap(screen) &&
+ if (window_pixmap != screen_pixmap &&
window_pixmap != screen_priv->flip_pixmap &&
window_pixmap != present_flip_pending_pixmap(screen))
return FALSE;
@@ -126,7 +127,8 @@ present_check_flip(RRCrtcPtr crtc,
window->drawable.x != pixmap->screen_x || window->drawable.y != pixmap->screen_y ||
#endif
window->drawable.width != pixmap->drawable.width ||
- window->drawable.height != pixmap->drawable.height) {
+ window->drawable.height != pixmap->drawable.height ||
+ pixmap->devKind != screen_pixmap->devKind) {
return FALSE;
}
commit 578156337176bf759dace40fb5a81919f65562f1
Author: Michel Dänzer <michel.daenzer at amd.com>
Date: Mon Mar 25 12:32:04 2019 +0100
xwayland/present: Destroy sync_callback in xwl_present_cleanup
xwl_present_cleanup frees the struct xwl_present_window memory,
so if there's a pending callback, we have to destroy it to prevent
use-after-free in xwl_present_sync_callback.
Should fix issue #645.
Reviewed-by: Olivier Fourdan <ofourdan at redhat.com>
(Cherry picked from commit 2e18eec6f03cc4d9d5bf62853c65d341b363f4b3)
diff --git a/hw/xwayland/xwayland-present.c b/hw/xwayland/xwayland-present.c
index 74fe84672..2937d9c97 100644
--- a/hw/xwayland/xwayland-present.c
+++ b/hw/xwayland/xwayland-present.c
@@ -123,6 +123,11 @@ xwl_present_cleanup(WindowPtr window)
xwl_present_window->frame_callback = NULL;
}
+ if (xwl_present_window->sync_callback) {
+ wl_callback_destroy(xwl_present_window->sync_callback);
+ xwl_present_window->sync_callback = NULL;
+ }
+
/* Clear remaining events */
xorg_list_for_each_entry_safe(event, tmp, &xwl_present_window->event_list, list) {
xorg_list_del(&event->list);
commit 8e2f5410cec5b052fb4da9d1b774a5858903dc35
Author: Michel Dänzer <michel.daenzer at amd.com>
Date: Mon Mar 25 12:29:23 2019 +0100
Revert "gitlab-ci: Only run docker-image stage if relevant source files change"
This reverts commit 8694395fcfd407190db74f31064960e484747377.
Some scenarios have come to light where this failed to ensure the docker
image exists:
* If the master branch of a forked repository is used for an MR which
doesn't modify .gitlab-ci.yml, the docker-image job may not run.
* If the docker-image job of the first pipeline in a forked repository
is cancelled or fails for any reason, and .gitlab-ci.yml isn't
modified for the next pipeline run.
(Cherry picked from commit 0ec9a13c2a207e98e2dd6b352552c0e069af0727)
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 4cb5e7d33..117744496 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -23,10 +23,6 @@ stages:
debian-testing:
stage: docker-image
- only:
- changes:
- - .gitlab-ci.yml
- - .gitlab-ci/Dockerfile
image:
name: gcr.io/kaniko-project/executor:debug
entrypoint: [""]
More information about the xorg-commit
mailing list