mirror of
https://github.com/brl/mutter.git
synced 2024-11-27 18:40:40 -05:00
d9fb11b043
Make sure to destroy the EGL surface after releasing held buffers, otherwise we'll get the following valgrind warnings: ==24016== Invalid read of size 8 ==24016== at 0x1739943F: release_buffer (platform_drm.c:73) ==24016== by 0x49AC355: meta_drm_buffer_gbm_finalize (meta-drm-buffer-gbm.c:213) ==24016== by 0x4B75B61: g_object_unref (gobject.c:3346) ==24016== by 0x49B4B41: free_current_bo (meta-renderer-native.c:991) ==24016== by 0x49B816F: meta_renderer_native_release_onscreen (meta-renderer-native.c:2971) ==24016== by 0x5209441: _cogl_onscreen_free (cogl-onscreen.c:167) ==24016== by 0x5208D81: _cogl_object_onscreen_indirect_free (cogl-onscreen.c:51) ==24016== by 0x51C8066: _cogl_object_default_unref (cogl-object.c:103) ==24016== by 0x5207989: _cogl_framebuffer_unref (cogl-framebuffer.c:1814) ==24016== by 0x51C80B1: cogl_object_unref (cogl-object.c:115) ==24016== by 0x53673C7: clutter_stage_view_dispose (clutter-stage-view.c:304) ==24016== by 0x4B75AF2: g_object_unref (gobject.c:3309) ==24016== Address 0x18e742a8 is 536 bytes inside a block of size 784 free'd ==24016== at 0x4839A0C: free (vg_replace_malloc.c:540) ==24016== by 0x17399764: dri2_drm_destroy_surface (platform_drm.c:231) ==24016== by 0x1738550A: eglDestroySurface (eglapi.c:1145) ==24016== by 0x5440286: eglDestroySurface (in /home/jonas/Dev/gnome/install/lib/libEGL.so.1.1.0) ==24016== by 0x49613A5: meta_egl_destroy_surface (meta-egl.c:432) ==24016== by 0x49B80F9: meta_renderer_native_release_onscreen (meta-renderer-native.c:2954) ==24016== by 0x5209441: _cogl_onscreen_free (cogl-onscreen.c:167) ==24016== by 0x5208D81: _cogl_object_onscreen_indirect_free (cogl-onscreen.c:51) ==24016== by 0x51C8066: _cogl_object_default_unref (cogl-object.c:103) ==24016== by 0x5207989: _cogl_framebuffer_unref (cogl-framebuffer.c:1814) ==24016== by 0x51C80B1: cogl_object_unref (cogl-object.c:115) ==24016== by 0x53673C7: clutter_stage_view_dispose (clutter-stage-view.c:304) ==24016== Block was alloc'd at ==24016== at 0x483AB1A: calloc (vg_replace_malloc.c:762) ==24016== by 0x173997AE: dri2_drm_create_window_surface (platform_drm.c:145) ==24016== by 0x17388906: _eglCreateWindowSurfaceCommon (eglapi.c:929) ==24016== by 0x5440197: eglCreateWindowSurface (in /home/jonas/Dev/gnome/install/lib/libEGL.so.1.1.0) ==24016== by 0x49612FF: meta_egl_create_window_surface (meta-egl.c:396) ==24016== by 0x49B752E: meta_renderer_native_create_surface_gbm (meta-renderer-native.c:2538) ==24016== by 0x49B7E6C: meta_onscreen_native_allocate (meta-renderer-native.c:2870) ==24016== by 0x49B8BCF: meta_renderer_native_create_view (meta-renderer-native.c:3387) ==24016== by 0x48D274B: meta_renderer_create_view (meta-renderer.c:78) ==24016== by 0x48D27DE: meta_renderer_rebuild_views (meta-renderer.c:111) ==24016== by 0x49BB4FB: meta_stage_native_rebuild_views (meta-stage-native.c:142) ==24016== by 0x49A733C: meta_backend_native_update_screen_size (meta-backend-native.c:517) https://gitlab.gnome.org/GNOME/mutter/merge_requests/622 |
||
---|---|---|
.. | ||
native | ||
x11 | ||
edid-parse.c | ||
edid.h | ||
gsm-inhibitor-flag.h | ||
meta-backend-private.h | ||
meta-backend-types.h | ||
meta-backend.c | ||
meta-barrier-private.h | ||
meta-barrier.c | ||
meta-crtc.c | ||
meta-crtc.h | ||
meta-cursor-renderer.c | ||
meta-cursor-renderer.h | ||
meta-cursor-sprite-xcursor.c | ||
meta-cursor-sprite-xcursor.h | ||
meta-cursor-tracker-private.h | ||
meta-cursor-tracker.c | ||
meta-cursor.c | ||
meta-cursor.h | ||
meta-dbus-session-watcher.c | ||
meta-dbus-session-watcher.h | ||
meta-display-config-shared.h | ||
meta-dnd-private.h | ||
meta-egl-ext.h | ||
meta-egl.c | ||
meta-egl.h | ||
meta-gles3-table.h | ||
meta-gles3.c | ||
meta-gles3.h | ||
meta-gpu.c | ||
meta-gpu.h | ||
meta-idle-monitor-dbus.c | ||
meta-idle-monitor-dbus.h | ||
meta-idle-monitor-private.h | ||
meta-idle-monitor.c | ||
meta-input-mapper-private.h | ||
meta-input-mapper.c | ||
meta-input-settings-private.h | ||
meta-input-settings.c | ||
meta-logical-monitor.c | ||
meta-logical-monitor.h | ||
meta-monitor-config-manager.c | ||
meta-monitor-config-manager.h | ||
meta-monitor-config-migration.c | ||
meta-monitor-config-migration.h | ||
meta-monitor-config-store.c | ||
meta-monitor-config-store.h | ||
meta-monitor-manager-dummy.c | ||
meta-monitor-manager-dummy.h | ||
meta-monitor-manager-private.h | ||
meta-monitor-manager.c | ||
meta-monitor-transform.c | ||
meta-monitor-transform.h | ||
meta-monitor.c | ||
meta-monitor.h | ||
meta-orientation-manager.c | ||
meta-orientation-manager.h | ||
meta-output.c | ||
meta-output.h | ||
meta-pointer-constraint.c | ||
meta-pointer-constraint.h | ||
meta-profiler.c | ||
meta-profiler.h | ||
meta-remote-access-controller-private.h | ||
meta-remote-access-controller.c | ||
meta-remote-desktop-session.c | ||
meta-remote-desktop-session.h | ||
meta-remote-desktop.c | ||
meta-remote-desktop.h | ||
meta-renderer-view.c | ||
meta-renderer-view.h | ||
meta-renderer.c | ||
meta-renderer.h | ||
meta-screen-cast-monitor-stream-src.c | ||
meta-screen-cast-monitor-stream-src.h | ||
meta-screen-cast-monitor-stream.c | ||
meta-screen-cast-monitor-stream.h | ||
meta-screen-cast-session.c | ||
meta-screen-cast-session.h | ||
meta-screen-cast-stream-src.c | ||
meta-screen-cast-stream-src.h | ||
meta-screen-cast-stream.c | ||
meta-screen-cast-stream.h | ||
meta-screen-cast-window-stream-src.c | ||
meta-screen-cast-window-stream-src.h | ||
meta-screen-cast-window-stream.c | ||
meta-screen-cast-window-stream.h | ||
meta-screen-cast-window.c | ||
meta-screen-cast-window.h | ||
meta-screen-cast.c | ||
meta-screen-cast.h | ||
meta-settings-private.h | ||
meta-settings.c | ||
meta-stage-private.h | ||
meta-stage.c |