Skip to content
  • Hans de Goede's avatar
    xwayland: Fix setting of _XWAYLAND_RANDR_EMU_MONITOR_RECTS prop on new windows · 148f428d
    Hans de Goede authored
    
    
    For window-manager managed windows, xwl_realize_window is only called for
    the window-manager's decoration window and not for the actual client window
    on which we should set the _XWAYLAND_RANDR_EMU_MONITOR_RECTS prop.
    
    Usualy this is not a problem since we walk all client windows to update
    the property when the resolution is changed through a randr call.
    
    But for apps which first do the randr change and only then create their
    window this does not work, and our xwl_output_set_window_randr_emu_props
    call in xwl_realize_window is a no-op as that is only called for the wm
    decoration window and not for the actual client's window.
    
    This commit fixes this by making ensure_surface_for_window() call
    xwl_output_set_window_randr_emu_props on the first and only child of
    window-manager managed windows.
    
    Note this also removes the non-functional xwl_output_set_window_randr_emu_props
    call from xwl_realize_window, which was intended to do this, but does not
    work.
    
    This fixes apps using the ogre3d library always running at the
    monitors native resolution.
    
    Acked-by: default avatarOlivier Fourdan <ofourdan@redhat.com>
    Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
    148f428d