1. 06 Feb, 2019 2 commits
  2. 05 Feb, 2019 2 commits
  3. 04 Feb, 2019 5 commits
  4. 03 Feb, 2019 1 commit
    • Josh Triplett's avatar
      Don't include potentially sensitive window titles in logs · b4ae6cdd
      Josh Triplett authored
      For various error and warning messages, mutter includes a description of
      the window, and that description includes a snippet of the title of the
      window. Those snippets find their way into system logs, which then means
      they can potentially find their way into bug reports and similar. Remove
      the window title information to eliminate this potential privacy issue.
      b4ae6cdd
  5. 01 Feb, 2019 6 commits
    • Georges Basile Stavracas Neto's avatar
      clutter/paint-nodes: Push/pop framebuffer · 317414ab
      Georges Basile Stavracas Neto authored
      Unfortunately, many parts of GNOME Shell and Mutter and Clutter
      still use the implicit Cogl1 API. As such, it as a transition
      between the old and new APIs, it is important to keep the
      implicit draw framebuffer updated.
      
      ClutterRootNode does not keep it updated though, and it might
      lead to problems when rendering offscreen textures.
      
      Fix that by pushing and popping the root node framebuffer on
      pre- and post-draw, respectively.
      
      GNOME/mutter!405
      317414ab
    • Georges Basile Stavracas Neto's avatar
      clutter/paint-nodes: Expose ClutterRootNode · b63e1045
      Georges Basile Stavracas Neto authored
      The ClutterRootNode paint node is theoretically the
      top-most node of a paint nodes tree, except that we
      are not in the point of having full rendering trees
      in Clutter (all rendering performed by paint nodes
      is still local and immediate).
      
      When controlling the rendering tree, MetaShapedTexture
      may need to paint into an offscreen framebuffer under
      some circumstations.
      
      Expose ClutterRootNode so that MetaShapedTexture can
      use it to render to offscreen framebuffers.
      
      GNOME/mutter!405
      b63e1045
    • Georges Basile Stavracas Neto's avatar
      clutter/paint-node: Expose clutter_paint_node_paint() · 02b184bf
      Georges Basile Stavracas Neto authored
      When painting to an offscreen framebuffer, MetaShapedTexture will
      need to have full control of the painting routines of paint nodes.
      As such, expose clutter_paint_node_paint() to allow forcing a
      paint nodes paint from MetaShapedTexture.
      
      GNOME/mutter!405
      02b184bf
    • Georges Basile Stavracas Neto's avatar
      clutter/paint-node: Add multitexture API · d8c75839
      Georges Basile Stavracas Neto authored
      The multitexture API is not a shortcut for multiple calls
      to the single texture API. It is meant to wrap calls to
      cogl_framebuffer_draw_multitexture_rectangle(), which
      uses the passed texture coordinates at different layers of
      the pipeline.
      
      GNOME/mutter!405
      d8c75839
    • Georges Basile Stavracas Neto's avatar
      clutter/image: Also invalidate size · 25f36b38
      Georges Basile Stavracas Neto authored
      ClutterImage is a ClutterContent implementation that
      has an internally managed CoglTexture. This texture
      is recreated when new image data is set.
      
      ClutterContent implementations may have control over
      the allocation of the widgets they're attached to,
      through CLUTTER_REQUEST_CONTENT_SIZE. On those cases,
      if the new image data differs in size from the previous
      data, it is important to notify those actors about the
      size change. However, currently ClutterImage does not
      notify them.
      
      With the introduction of clutter_content_invalidate_size(),
      it is possible to report the size changes to attached
      actors.
      
      Adapt ClutterImage to invalidate_size() when image data
      has different sizes.
      
      GNOME/mutter!405
      25f36b38
    • Georges Basile Stavracas Neto's avatar
      clutter/content: Add clutter_content_invalidate_size() · 0f0b411f
      Georges Basile Stavracas Neto authored
      ClutterContent has the ability to dictate the layout of any
      given actor, through the CLUTTER_REQUEST_CONTENT_SIZE request
      mode.
      
      However, there is no way for ClutterContent implementations
      to notify their attached actors that the content size changed.
      
      Add a new optional ClutterContent.invalidate_size() vfunc and
      clutter_content_invalidate_size().
      
      GNOME/mutter!405
      0f0b411f
  6. 31 Jan, 2019 1 commit
  7. 30 Jan, 2019 18 commits
  8. 29 Jan, 2019 3 commits
    • Carlos Garnacho's avatar
      clutter: Add ClutterKeymap getter · 923751aa
      Carlos Garnacho authored
      It is fetched from the ClutterBackend so far.
      923751aa
    • Carlos Garnacho's avatar
      evdev: Implement ClutterKeymap · 6de81b05
      Carlos Garnacho authored
      Just move the minimal bits to this ClutterKeymapEvdev object. Much
      of the functionality of a keymap is spread along ClutterSeatEvdev,
      ClutterDeviceManagerEvdev and ClutterVirtualInputDevice. Future
      refactors are due here.
      
      Also, ideally keymaps are per-seat objects (at least keyboard state
      is). We don't expose much info about seats altogether outside the
      evdev device manager implementation. We just poke the main seat at
      places, but eventually seats should be public.
      6de81b05
    • Carlos Garnacho's avatar
      clutter: Add generic ClutterKeymap object · 7ae69879
      Carlos Garnacho authored
      We thus far have similar objects/code internal to backends. Expose the
      minimum API necessary to cater for gnome-shell as a generic object.
      So far only the X11 backend has an actual GObject for it, and was made
      to be a subclass right away.
      7ae69879
  9. 28 Jan, 2019 1 commit
    • Robert Mader's avatar
      clutter-box-layout: Use floats and assert on denormal numbers · 72692b11
      Robert Mader authored
      `distribute_natural_allocation` expects an input >= 0 of type `gint`. In
      `get_preferred_size_for_opposite_orientation` it is used with an unchecked
      variable `size` of type `gfloat`, which in case it is `Infinity`, gets
      passed on in the macro `MAX (0, size)`. `Infinity` becomes `G_MININT`
      when implicitly casted to `gint` in `distribute_natural_allocation`,
      triggering the assertion `extra_space >= 0`.
      
      The resulting warning in the log is counter intuitive and not very
      helpful.
      
      Use `float` in `distribute_natural_allocation` instead of `gint` and
      assert on denormal values so we can more easily identify bugs.
      
      Additionally change some types while at it and add a even more
      expressive warning referencing the actor at one point.
      
      !375
      72692b11
  10. 26 Jan, 2019 1 commit
    • Carlos Garnacho's avatar
      wayland: Implement window activation and focus stealing prevention · 177b4df2
      Carlos Garnacho authored
      This is done through gtk-shell ATM. If a window requests focus with
      an invalid startup ID, just the demands-attention flag will be set.
      The "did user interaction happen in between" checks are left to
      meta_window_activate_full/meta_window_focus, by passing the timestamp
      of the original launch request.
      177b4df2