1. 08 Feb, 2018 1 commit
  2. 07 Feb, 2018 5 commits
  3. 06 Feb, 2018 2 commits
  4. 05 Feb, 2018 4 commits
    • Olivier Fourdan's avatar
      wayland: Do not fail on stalled .X11-unix entries · 589e9990
      Olivier Fourdan authored
      If for whatever reason, there are stalled files in /tmp/.X11-unix/ the
      bind() to the abstract socket will succeed but not the bind() to the
      to the UNIX socket.
      
      This causes gnome-shell/mutter to fail because it cannot start Xwayland
      (while it could actually, by using a different display).
      
      In case of failure to bind to the UNIX socket, try the next display
      instead of failing, to avoid stalled entries in /tmp/.X11-unix.
      
      Closes: GNOME/mutter#13
      589e9990
    • George Kiagiadakis's avatar
      cogl-texture: refuse downloading textures in cogl_texture_get_data() on GLES · d8f2f583
      George Kiagiadakis authored
      On drivers that do not support glGetTexImage2D (i.e. on GLES),
      cogl_texture_get_data() has a "feature" that allows it to download
      texture data by rendering the texture on an intermediate framebuffer
      object and then reading back the data from there. However, this
      feature requires the user to have previously set an "active"
      framebuffer object in the context, which makes this very tricky
      because it is not clear to the developer that he needs to do that
      in order for some code to work on GLES (of course it works on
      desktop GL, so nobody notices...) and additionally the code actually
      crashes if an active fbo is not set!
      
      This patch basically removes this feature in order to prevent
      the crash and is in line with how this code has evolved in cogl-2.0:
      https://git.gnome.org/browse/cogl/commit/?id=6d6a277b8e9a63a8268046e5258877ba94a1da5b
      
      https://bugzilla.gnome.org/show_bug.cgi?id=789961
      d8f2f583
    • Olivier Fourdan's avatar
      wayland: send shortcut inhibit “active” event · db866eb0
      Olivier Fourdan authored
      The shortcut inhibitor protocol states that the “active” event should be
      sent every time compositor shortcuts are inhibited on behalf of the
      surface.
      
      However, mutter would send that event only if the surface is focused,
      which might not be the case if focus is on a shell surface.
      
      Send the “active” event unconditionally to match the protocol
      definition.
      
      Closes: GNOME/mutter#10
      db866eb0
    • Jonas Ådahl's avatar
      gpu-kms: Don't add outputs without modes · d092e913
      Jonas Ådahl authored
      There seems to be a kernel race when one disconnects an external
      monitor connected to a DisplayPort via a USB-C adapter. The race
      results in a connector being reported as connected, but without any
      modes supported.
      
      This had the side effect that we tried to set a preferred mode to
      the first listed mode, but as no modes were available, we instead tried
      to dereference the first element of a NULL array, causing a
      segmentation fault.
      
      Mitigate this by skipping adding output if no supported modes are
      advertised and the output doesn't support scaling, while moving the
      fallback path for calculating a preferred output mode to after possibly
      adding the common modes, to avoid the unvolentary NULL dereference.
      
      https://bugzilla.gnome.org/show_bug.cgi?id=789501
      d092e913
  5. 04 Feb, 2018 1 commit
  6. 01 Feb, 2018 2 commits
    • Carlos Garnacho's avatar
      backends/x11: Preserve XI1 XDevice throughout ClutterInputDevice lifetime · 57f55d48
      Carlos Garnacho authored
      Opening and closing the device may result into XI2 grabs being cut short,
      resulting into pad buttons being rendered ineffective, and other possible
      misbehaviors. This is an XInput flaw that fell in the gap between XI1 and
      XI2, and has no easy fix. It pays us for mixing both versions, I guess...
      
      Work this around by keeping the XI1 XDevice attached to the
      ClutterInputDevice, this way it will live long enough that this is not
      a concern.
      
      Investigation of this bug was mostly carried by Peter Hutterer, I'm just
      the executing hand.
      
      GNOME/mutter#7
      
      Closes: #7
      57f55d48
    • Jeffrey Smith's avatar
      backends/x11: Fix time-comparison bug causing hang · 6be56de1
      Jeffrey Smith authored
      A comparison in translate_device_event() does not account for the fact
      that X's clock wraps about every 49.7 days.  When triggered, this causes
      an unresponsive GUI.
      
      Replace simple less-than comparison with XSERVER_TIME_IS_BEFORE macro,
      which accounts for the wrapping of X's clock.
      
      Closes: #12
      6be56de1
  7. 31 Jan, 2018 1 commit
  8. 30 Jan, 2018 3 commits
    • Jason Gerecke's avatar
      backends: Add support for Wacom stylus tertiary-button-action · f8f1bcfa
      Jason Gerecke authored
      The tertiary-button-action (see bug 790028) is a place for g-c-c to store
      the action which should be performed when a stylus' third button is pressed.
      Pressing this button is signaled as a BTN_STYLUS3 event from the kernel or
      X11 button 8.
      
      https://bugzilla.gnome.org/show_bug.cgi?id=790033
      f8f1bcfa
    • Jason Gerecke's avatar
      clutter/evdev: Add support for BTN_STYLUS3 · 91df801f
      Jason Gerecke authored
      BTN_STYLUS3 is defined by the Linux 4.15 kernel and is sent when the
      third button on a stylus is pressed. At the moment, only Wacom's "Pro
      Pen 3D" has three stylus buttons. Pressing this button triggers a button
      8 event to be sent under X11, so we use the same mapping here.
      
      https://bugzilla.gnome.org/show_bug.cgi?id=790033
      91df801f
    • Olivier Fourdan's avatar
      x11/window: Mark restored workspace as “set” · 97f142d1
      Olivier Fourdan authored
      When a window's workspace is not NULL, on_all_workspace should be FALSE.
      Similarly, when on_all_workspace is TRUE, the window workspace should be
      NULL.
      
      This is an assumption in multiple places in the code, including when
      setting the workspace state, the window is either added or removed from
      all workspaces only if the window's workspace is NULL.
      
      This rule is initially enforced at creation in _meta_window_shared_new()
      when a initial workspace is set. However, when the initial workspace is
      set from the session info, the initial workspace is not marked as “set”
      which leads to an assertion failure when unmanaging windows, because the
      window is not removed from all the workspaces.
      
      When applying the session info to a window, mark the workspace as “set”.
      
      GNOME/mutter#4
      
      Closes: #4
      97f142d1
  9. 26 Jan, 2018 1 commit
  10. 25 Jan, 2018 4 commits
  11. 24 Jan, 2018 8 commits
  12. 23 Jan, 2018 1 commit
  13. 22 Jan, 2018 1 commit
  14. 21 Jan, 2018 1 commit
  15. 18 Jan, 2018 5 commits