1. 24 Mar, 2015 1 commit
    • Benjamin Otte's avatar
      cssnode: Clear widget path more aggressively · fdc620cd
      Benjamin Otte authored
      When recomputing CSS, we need a correct widget path in the fallback mode
      where we're still using widget paths.
      So we need to invalidate it everytime it actually changes, and not just
      when emitting the style-updated signal.
      
      Fixes css-match-regions reftest.
      fdc620cd
  2. 22 Mar, 2015 1 commit
  3. 18 Mar, 2015 10 commits
  4. 16 Mar, 2015 3 commits
  5. 08 Mar, 2015 1 commit
  6. 07 Mar, 2015 1 commit
  7. 05 Mar, 2015 1 commit
  8. 03 Mar, 2015 1 commit
    • Matthias Clasen's avatar
      Fix 7c4bf742 · 3569d373
      Matthias Clasen authored
      The objects-finalize test constructs gestures with NULL as
      a widget. The recent addition of weak references was not
      ready for that.
      3569d373
  9. 02 Mar, 2015 2 commits
    • Carlos Garnacho's avatar
      gtkwindow: Move window dragging to a standalone drag gesture · 13e22e20
      Carlos Garnacho authored
      The gesture is hooked to the capture phase, so it works for buttons in
      header bars and whatnot. In order to be friendly to the widget it is
      capturing events from, an ugly hack is in place to avoid capturing
      events when the target widget has a gesture that would consume motion
      events.
      13e22e20
    • Debarshi Ray's avatar
      eventcontroller, widget: Don't crash if destroyed before the other · 7c4bf742
      Debarshi Ray authored
      There are two scenarios. A widget sub-class owns a GtkEventController
      and passes itself to it, or a controller owned by something else is
      passed a widget.
      
      In the second case, if the widget is destroyed before the controller,
      we will have a crash when destructing the controller because we will
      be accessing invalid memory. Adding a weak reference on the widget
      addresses that problem.
      
      This leads to a crash in the first case. When the widget is getting
      destroyed, it will drop the reference to its own controller. The
      controller will skip touching the widget because the weak reference
      would have turned it to NULL. However, when the widget sub-class chains
      up to GtkWidget it will try to free all the controllers in its list.
      Unfortunately, all these controllers have already been destroyed. So
      we need to guard against this too.
      
      https://bugzilla.gnome.org/show_bug.cgi?id=745225
      7c4bf742
  10. 19 Feb, 2015 2 commits
  11. 05 Feb, 2015 1 commit
    • Benjamin Otte's avatar
      css: Add -gtk-dpi CSS property hack · 89f635fe
      Benjamin Otte authored
      This property is necessary to ensure widgets automatically update after
      the text scale factor is changed desktop-wide.
      
      And if I'm already doing a property like this, I can make it
      overridable. So now you can override the dpi per-widget with CSS like
      GtkSwitch {
        -gtk-dpi: 48;
      }
      if you want to debug things.
      
      Long-term, we want to get rid of this property and insist on dpi being
      96 everywhere and people can change the font size to get larger fonts.
      89f635fe
  12. 28 Jan, 2015 2 commits
  13. 27 Jan, 2015 1 commit
  14. 22 Jan, 2015 3 commits
  15. 20 Jan, 2015 1 commit
  16. 14 Jan, 2015 1 commit
    • Carlos Garnacho's avatar
      widget: Free the controller list on finalize() · b8e87d47
      Carlos Garnacho authored
      If this is done on dispose(), the widget may be destroyed (and its
      controllers list NULLified) within _gtk_widget_run_controllers(),
      causing warnings/crashes when it just tried to hop on the next
      controllers.
      
      Freeing the controllers here should be a safety net for implementations,
      so it also makes sense to do this late. The widgets that choose to
      free their controllers on dispose can still do so, and get
      _gtk_widget_remove_controller() called for these as an indirect result.
      b8e87d47
  17. 22 Dec, 2014 1 commit
  18. 20 Dec, 2014 1 commit
  19. 19 Dec, 2014 1 commit
    • Benjamin Otte's avatar
      widget: Handle setting clip differently · d23f3254
      Benjamin Otte authored
      (1) Get rid of supports_clip flag. All widgets (implicitly) support
      clip.
      
      (2) Don't reset the clip to { 0, 0, 0, 0 } before the "size-allocate"
      signal.
      
      (3) Make gtk_widget_set_allocation() set the clip (to the allocation).
      This ensures that eveyr widget has a clip set.
      Note: It overrides previous calls to gtk_widget_set_clip(), while in
      3.14 this didn't happen.
      
      (4) As the clip is set by gtk_widget_set_allocation() now, don't set
      it after the "size-allocate" signal anymore.
      
      This fixes calls to gtk_widget_queue_draw() from inside the
      size_allocate vfunc.
      d23f3254
  20. 11 Dec, 2014 1 commit
  21. 09 Dec, 2014 1 commit
    • Carlos Soriano's avatar
      gtkwindow: Use actions from focused widget to activate accel · 235837ad
      Carlos Soriano authored
      Currently we only take into account the window GActionGroup for
      activating the accels.
      
      However, the application could have some custom GActionGroup in the
      chain of focused widgets that could want to activate some action if
      some accel is activated while that widget is focused.
      
      To allow applications to set accels on widgets that use custom
      GActionGroups, simply use the muxer of the focused widget, which
      already contains the actions of the parents.
      
      https://bugzilla.gnome.org/show_bug.cgi?id=740682
      235837ad
  22. 08 Dec, 2014 1 commit
  23. 07 Dec, 2014 1 commit
  24. 02 Dec, 2014 1 commit