debian/changelog | 12 +++++++++ debian/control | 2 - debian/patches/egl-platform-mir.patch | 42 +++++++++++++++++++++++++++++----- 3 files changed, 49 insertions(+), 7 deletions(-)
New commits: commit ea665e5bd3aeb2ffe2d0c461688792d51065de24 Author: Maarten Lankhorst <maarten.lankho...@ubuntu.com> Date: Tue Feb 10 16:28:54 2015 +0100 bump mir patch some more diff --git a/debian/changelog b/debian/changelog index 727b862..2517127 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,15 @@ +mesa (10.4.2-2ubuntu4) vivid; urgency=medium + + * debian/control: + - Change build-dep for mir to mir-client-platform-mesa-dev. + * debian/patches/egl-platform-mir.patch: + - Fix potential double free (LP: #1414999). + - Fix gbm_device leak (LP: #1419704). + - Fix dri_buffers[front/back] leak (LP: #1419710). + - Use mir-client-platform-mesa-dev to get Mir build flags. + + -- Alexandros Frantzis <alexandros.frant...@canonical.com> Mon, 09 Feb 2015 12:35:56 +0200 + mesa (10.4.2-2ubuntu3) vivid; urgency=medium * egl-platform-mir.patch: Fix memory leak. (LP:#1418486) diff --git a/debian/control b/debian/control index 4c60ceb..46bad7a 100644 --- a/debian/control +++ b/debian/control @@ -41,7 +41,7 @@ Build-Depends: llvm-3.6-dev (>= 1:3.5-1) [amd64 i386 kfreebsd-amd64 kfreebsd-i386 armhf], libelf-dev [amd64 i386 kfreebsd-amd64 kfreebsd-i386 armhf], libwayland-dev (>= 1.2.0) [linux-any], - libmirclient-dev [!arm64 !powerpc !ppc64 !ppc64el], + mir-client-platform-mesa-dev [!arm64 !powerpc !ppc64 !ppc64el], Vcs-Git: git://git.debian.org/git/pkg-xorg/lib/mesa Vcs-Browser: http://git.debian.org/?p=pkg-xorg/lib/mesa.git Homepage: http://mesa3d.sourceforge.net/ diff --git a/debian/patches/egl-platform-mir.patch b/debian/patches/egl-platform-mir.patch index f6ec7b6..f56c7fc 100644 --- a/debian/patches/egl-platform-mir.patch +++ b/debian/patches/egl-platform-mir.patch @@ -6,7 +6,7 @@ ;; - + mir) -+ PKG_CHECK_MODULES([MIR], [mirclient]) ++ PKG_CHECK_MODULES([MIR], [mir-client-platform-mesa-dev]) + ;; *) AC_MSG_ERROR([EGL platform '$plat' does not exist]) @@ -78,6 +78,30 @@ #ifdef HAVE_ANDROID_PLATFORM case _EGL_PLATFORM_ANDROID: if (disp->Options.TestOnly) +@@ -699,6 +705,13 @@ dri2_terminate(_EGLDriver *drv, _EGLDisp + } + break; + #endif ++#ifdef HAVE_MIR_PLATFORM ++ case _EGL_PLATFORM_MIR: ++ if (dri2_dpy->own_device) { ++ gbm_device_destroy(&dri2_dpy->gbm_dri->base.base); ++ } ++ break; ++#endif + #ifdef HAVE_WAYLAND_PLATFORM + case _EGL_PLATFORM_WAYLAND: + wl_drm_destroy(dri2_dpy->wl_drm); +@@ -715,7 +728,8 @@ dri2_terminate(_EGLDriver *drv, _EGLDisp + * the ones from the gbm device. As such the gbm itself is responsible + * for the cleanup. + */ +- if (disp->Platform != _EGL_PLATFORM_DRM) { ++ if (disp->Platform != _EGL_PLATFORM_DRM && ++ disp->Platform != _EGL_PLATFORM_MIR) { + for (i = 0; dri2_dpy->driver_configs[i]; i++) + free((__DRIconfig *) dri2_dpy->driver_configs[i]); + free(dri2_dpy->driver_configs); --- a/src/egl/drivers/dri2/egl_dri2.h +++ b/src/egl/drivers/dri2/egl_dri2.h @@ -64,6 +64,11 @@ @@ -148,7 +172,7 @@ #endif /* EGL_DRI2_INCLUDED */ --- /dev/null +++ b/src/egl/drivers/dri2/platform_mir.c -@@ -0,0 +1,613 @@ +@@ -0,0 +1,619 @@ +/* + * Copyright © 2012 Canonical, Inc + * @@ -174,6 +198,7 @@ + * + * Authors: + * Christopher James Halse Rogers <christopher.halse.rog...@canonical.com> ++ * Alexandros Frantzis <alexandros.frant...@canonical.com> + */ + +#include <mir_toolkit/mesa/native_display.h> @@ -567,10 +592,15 @@ + (*dri2_dpy->core->destroyDrawable)(dri2_surf->dri_drawable); + + for (i = 0; i < __DRI_BUFFER_COUNT; ++i) { -+ if (dri2_surf->dri_buffers[i] && !((i == __DRI_BUFFER_FRONT_LEFT) || -+ (i == __DRI_BUFFER_BACK_LEFT))) { -+ dri2_dpy->dri2->releaseBuffer(dri2_dpy->dri_screen, -+ dri2_surf->dri_buffers[i]); ++ if (dri2_surf->dri_buffers[i]) { ++ if ((i == __DRI_BUFFER_FRONT_LEFT) || ++ (i == __DRI_BUFFER_BACK_LEFT)) { ++ free(dri2_surf->dri_buffers[i]); ++ } ++ else { ++ dri2_dpy->dri2->releaseBuffer(dri2_dpy->dri_screen, ++ dri2_surf->dri_buffers[i]); ++ } + } + } + -- To UNSUBSCRIBE, email to debian-x-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/e1ylcqm-0001ew...@moszumanska.debian.org