1. 17 Jul, 2015 2 commits
  2. 11 Jul, 2015 1 commit
  3. 02 Jul, 2015 1 commit
    • Mario Kleiner's avatar
      desktop-shell: Allow fullscreen windows to mode-switch their output. · 492c12fb
      Mario Kleiner authored
      Fix desktop-shell's activate() method to only restore the output
      mode on the single output on which a shell surface gets activated.
      
      This way toplevel fullscreen surfaces can mode-switch their output
      via method WL_SHELL_SURFACE_FULLSCREEN_METHOD_DRIVER and that
      temporary mode properly persists until the surface loses its
      fullscreen status, but effects like window switching and exposay
      still work in the expected way.
      
      v2: Split into a separate patch from original patch
          "Allow restore_output_mode() to work properly.",
          as suggested by Derek Foreman.
      Signed-off-by: default avatarMario Kleiner <mario.kleiner.de@gmail.com>
      Cc: Derek Foreman <derekf@osg.samsung.com>
      Reviewed-by: Pekka Paalanen's avatarPekka Paalanen <pekka.paalanen@collabora.co.uk>
      492c12fb
  4. 30 Jun, 2015 1 commit
    • Mario Kleiner's avatar
      desktop-shell: Allow multiple active fullscreen windows on multi-display setup. · 9f4d6554
      Mario Kleiner authored
      Desktop shell demoted all fullscreen shell surfaces on all active
      outputs of a multi-display setup whenever any shell surface was
      activated anywhere. This made it impossible to have multiple
      fullscreen windows on separate outputs active at the same
      time, as creating or activating any shell surface would disable
      fullscreen status for all existing fullscreen surfaces.
      
      Make lower_fullscreen_layer() more selective, so on request it
      only demotes fullscreen surfaces on a specified weston_output.
      
      The activate() method for a specific surface will now only request
      demotion of fullscreen surfaces on the target output of the activated
      surface, but leave fullscreen surfaces on unrelated outputs alone.
      
      Desktop wide acting functions like the window switcher or exposay
      will still demote all fullscreen surfaces on all outputs to
      implement their effect as before.
      Signed-off-by: default avatarMario Kleiner <mario.kleiner.de@gmail.com>
      Reviewed-By: default avatarDerek Foreman <derekf@osg.samsung.com>
      9f4d6554
  5. 26 Jun, 2015 1 commit
    • Pekka Paalanen's avatar
      text_backend: make destructor call explicit · aa9536a9
      Pekka Paalanen authored
      We used to rely on the order in which the
      weston_compositor::destroy_signal callbacks happened, to not access
      freed memory. Don't know when, but this broke at least with ivi-shell,
      which caused crashes in random places on compositor shutdown.
      
      Valgrind found the following:
      
       Invalid write of size 8
          at 0xC2EDC69: unbind_input_panel (input-panel-ivi.c:340)
          by 0x4E3B6BB: destroy_resource (wayland-server.c:537)
          by 0x4E3E085: for_each_helper.isra.0 (wayland-util.c:359)
          by 0x4E3E60D: wl_map_for_each (wayland-util.c:365)
          by 0x4E3BEC7: wl_client_destroy (wayland-server.c:675)
          by 0x4182F2: text_backend_notifier_destroy (text-backend.c:1047)
          by 0x4084FB: wl_signal_emit (wayland-server-core.h:264)
          by 0x4084FB: main (compositor.c:5465)
        Address 0x67ea360 is 208 bytes inside a block of size 232 free'd
          at 0x4C2A6BC: free (vg_replace_malloc.c:473)
          by 0x4084FB: wl_signal_emit (wayland-server-core.h:264)
          by 0x4084FB: main (compositor.c:5465)
      
       Invalid write of size 8
          at 0x4E3E0D7: wl_list_remove (wayland-util.c:57)
          by 0xC2EDEE9: destroy_input_panel_surface (input-panel-ivi.c:191)
          by 0x4E3B6BB: destroy_resource (wayland-server.c:537)
          by 0x4E3BC7B: wl_resource_destroy (wayland-server.c:550)
          by 0x40DB8B: wl_signal_emit (wayland-server-core.h:264)
          by 0x40DB8B: weston_surface_destroy (compositor.c:1883)
          by 0x40DB8B: weston_surface_destroy (compositor.c:1873)
          by 0x4E3B6BB: destroy_resource (wayland-server.c:537)
          by 0x4E3E085: for_each_helper.isra.0 (wayland-util.c:359)
          by 0x4E3E60D: wl_map_for_each (wayland-util.c:365)
          by 0x4E3BEC7: wl_client_destroy (wayland-server.c:675)
          by 0x4182F2: text_backend_notifier_destroy (text-backend.c:1047)
          by 0x4084FB: wl_signal_emit (wayland-server-core.h:264)
          by 0x4084FB: main (compositor.c:5465)
        Address 0x67ea370 is 224 bytes inside a block of size 232 free'd
          at 0x4C2A6BC: free (vg_replace_malloc.c:473)
          by 0x4084FB: wl_signal_emit (wayland-server-core.h:264)
          by 0x4084FB: main (compositor.c:5465)
      
       Invalid write of size 8
          at 0x4E3E0E7: wl_list_remove (wayland-util.c:58)
          by 0xC2EDEE9: destroy_input_panel_surface (input-panel-ivi.c:191)
          by 0x4E3B6BB: destroy_resource (wayland-server.c:537)
          by 0x4E3BC7B: wl_resource_destroy (wayland-server.c:550)
          by 0x40DB8B: wl_signal_emit (wayland-server-core.h:264)
          by 0x40DB8B: weston_surface_destroy (compositor.c:1883)
          by 0x40DB8B: weston_surface_destroy (compositor.c:1873)
          by 0x4E3B6BB: destroy_resource (wayland-server.c:537)
          by 0x4E3E085: for_each_helper.isra.0 (wayland-util.c:359)
          by 0x4E3E60D: wl_map_for_each (wayland-util.c:365)
          by 0x4E3BEC7: wl_client_destroy (wayland-server.c:675)
          by 0x4182F2: text_backend_notifier_destroy (text-backend.c:1047)
          by 0x4084FB: wl_signal_emit (wayland-server-core.h:264)
          by 0x4084FB: main (compositor.c:5465)
        Address 0x67ea368 is 216 bytes inside a block of size 232 free'd
          at 0x4C2A6BC: free (vg_replace_malloc.c:473)
          by 0x4084FB: wl_signal_emit (wayland-server-core.h:264)
          by 0x4084FB: main (compositor.c:5465)
      
      Looking at the first of these, unbind_input_panel() gets called when the
      text-backend destroys its helper client which has bound to input_panel
      interface. This happens after the shell's destroy_signal callback has
      been called, so the shell has already been freed.
      
      The other two errors come from
        wl_list_remove(&input_panel_surface->link);
      which has gone stale when the shell was destroyed
      (shell->input_panel.surfaces list).
      
      Rather than creating even more destroy listeners and hooking them up in
      spaghetti, modify text-backend to not hook up to the compositor destroy
      signal. Instead, make it the text_backend_init() callers' responsibility
      to also call text_backend_destroy() appropriately, before the shell goes
      away.
      
      This fixed all the above Valgrind errors, and avoid a crash with
      ivi-shell when exiting Weston.
      
      Also using desktop-shell exhibited similar Valgrind errors which are
      fixed by this patch, but those didn't happen to cause any crashes AFAIK.
      Signed-off-by: Pekka Paalanen's avatarPekka Paalanen <pekka.paalanen@collabora.co.uk>
      Reviewed-By: default avatarDerek Foreman <derekf@osg.samsung.com>
      aa9536a9
  6. 22 Jun, 2015 1 commit
    • Pekka Paalanen's avatar
      desktop-shell: remove screensaver support · b37ac400
      Pekka Paalanen authored
      This is a follow-up for the patch that removed weston-screensaver. The
      aim is to clean up shell.c a little by removing non-essential
      components. Vanilla Weston desktop is only a demo, external projects are
      encouraged to create user-friendly desktop environments.
      
      The support for launching a screensaver client and the protocol bindings
      are removed. With them, all related configuration options are removed,
      and the manuals are updated accordingly.
      
      The screensaver protocol definition is left in desktop-shell.xml for
      posterity.
      
      This does not affect Weston's or desktop-shells ability to put screens
      to sleep after inactivity. The inactivity timer continues to operate as
      before. Also screen locking is unaffected.
      Signed-off-by: Pekka Paalanen's avatarPekka Paalanen <pekka.paalanen@collabora.co.uk>
      Acked-by: default avatarGiulio Camuffo <giuliocamuffo@gmail.com>
      b37ac400
  7. 16 Jun, 2015 3 commits
  8. 15 Jun, 2015 1 commit
  9. 11 Jun, 2015 1 commit
  10. 26 May, 2015 3 commits
  11. 15 May, 2015 1 commit
    • Michael Vetter's avatar
      remove trailing whitespaces · 2a18a528
      Michael Vetter authored
      Remove trailing whitespaces because they are not needed and jumping to
      the end of al ine should do just that and not jump to the whitespace.
      2a18a528
  12. 08 May, 2015 1 commit
  13. 05 May, 2015 2 commits
  14. 01 May, 2015 1 commit
  15. 13 Apr, 2015 1 commit
  16. 30 Mar, 2015 1 commit
  17. 27 Mar, 2015 1 commit
  18. 18 Mar, 2015 1 commit
  19. 09 Mar, 2015 1 commit
  20. 02 Mar, 2015 1 commit
  21. 27 Feb, 2015 7 commits
  22. 23 Feb, 2015 2 commits
  23. 07 Feb, 2015 1 commit
  24. 03 Feb, 2015 1 commit
  25. 02 Feb, 2015 1 commit
  26. 30 Jan, 2015 1 commit
  27. 27 Jan, 2015 1 commit