Bug 76867 - crash going from fullscreen to maximized in weston-stacking
Summary: crash going from fullscreen to maximized in weston-stacking
Status: RESOLVED FIXED
Alias: None
Product: Wayland
Classification: Unclassified
Component: weston (show other bugs)
Version: unspecified
Hardware: Other All
: medium normal
Assignee: Wayland bug list
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-03-31 22:05 UTC by Ricardo Vieira
Modified: 2014-04-10 17:22 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments

Description Ricardo Vieira 2014-03-31 22:05:27 UTC
steps to reproduce:
1. open weston-stacking
2. switch to fullscreen (F key)
3. switch to maximized (M key)
4. crash

also with the terminal if you go from full screen to maximized the window decorations are not drawn
Comment 1 Kristian Høgsberg 2014-04-10 17:22:59 UTC
Fixed in:

commit 641796c31ac5bebf42a630557de734aad01445c9
Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
Date:   Thu Apr 10 16:36:57 2014 +0300

    shell: Keep shsurf->fullscreen_output set after unset_fullscreen()
    
    When a fullscreen surface gets the maximized state, the function
    reset_surface_type() is called and that causes unset_fullscreen() to be
    called. That function would set the value of shsurf->fullscreen_output
    to NULL. However, since the surface still has the fullscreen state, it
    will be configured as a fullscreen surface again, and an attempt to
    access that field would cause the compositor to crash.
    
    Fix the crash by keeping the value of fullscreen_output around after
    unset_fullscreen(). This is safe since the value is only used when a
    surface has the fullscreen state and is replaced on a new request to
    make the surface fullscreen.
    
    https://bugs.freedesktop.org/show_bug.cgi?id=76867


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.