<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/gtk+.git, branch print-deserialize</title>
<subtitle>gitlab.gnome.org: GNOME/gtk.git
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gtk+.git/'/>
<entry>
<title>printing: Be more careful when deserializing</title>
<updated>2018-04-20T20:58:36+00:00</updated>
<author>
<name>Matthias Clasen</name>
<email>mclasen@redhat.com</email>
</author>
<published>2018-04-20T20:56:28+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gtk+.git/commit/?id=6f4a77bb3c8a49413af01b532c07085db1960010'/>
<id>6f4a77bb3c8a49413af01b532c07085db1960010</id>
<content type='text'>
The GVariant we are getting here might not be coming
from GTK+, but rather from some other source. Best to
be forgiving and deal with missing data without crashing.

This was causing the GTK+ portal backends to crash on
print requests from Qt.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The GVariant we are getting here might not be coming
from GTK+, but rather from some other source. Best to
be forgiving and deal with missing data without crashing.

This was causing the GTK+ portal backends to crash on
print requests from Qt.
</pre>
</div>
</content>
</entry>
<entry>
<title>Scale: Document new optional classes on value node</title>
<updated>2018-04-18T21:59:19+00:00</updated>
<author>
<name>Daniel Boles</name>
<email>dboles.src@gmail.com</email>
</author>
<published>2018-04-18T21:57:02+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gtk+.git/commit/?id=06a1477f80bdb637e4c43460ccafc543cc0f304a'/>
<id>06a1477f80bdb637e4c43460ccafc543cc0f304a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Range: Make down/up keys act like down/up scrolls</title>
<updated>2018-04-18T17:36:55+00:00</updated>
<author>
<name>Daniel Boles</name>
<email>dboles@src.gnome.org</email>
</author>
<published>2018-01-01T14:31:56+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gtk+.git/commit/?id=45c8c8f93457fb7d793b3ba4182e57ede0aeabb7'/>
<id>45c8c8f93457fb7d793b3ba4182e57ede0aeabb7</id>
<content type='text'>
Before now, down/up keys on H Ranges would increase/decrease value resp,
which is unintuitive &amp; worse, contradicts what we already do for scrolls

Fix simply by moving to the new should_invert_move() as scrolls just did
– which also gets us the other benefits explained in the last 2 commits.

https://bugzilla.gnome.org/show_bug.cgi?id=407242
https://bugzilla.gnome.org/show_bug.cgi?id=791802
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Before now, down/up keys on H Ranges would increase/decrease value resp,
which is unintuitive &amp; worse, contradicts what we already do for scrolls

Fix simply by moving to the new should_invert_move() as scrolls just did
– which also gets us the other benefits explained in the last 2 commits.

https://bugzilla.gnome.org/show_bug.cgi?id=407242
https://bugzilla.gnome.org/show_bug.cgi?id=791802
</pre>
</div>
</content>
</entry>
<entry>
<title>Range: Use should_invert_move() to scroll value</title>
<updated>2018-04-18T17:36:55+00:00</updated>
<author>
<name>Daniel Boles</name>
<email>dboles@src.gnome.org</email>
</author>
<published>2018-01-01T14:28:16+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gtk+.git/commit/?id=6985dde3206fe0562ea7adbe18ae9acd77bff6a4'/>
<id>6985dde3206fe0562ea7adbe18ae9acd77bff6a4</id>
<content type='text'>
This fixes RTL and/or :inverted Ranges responding to a horizontal scroll
by moving the value/slider button in the opposite direction... See prev.

https://bugzilla.gnome.org/show_bug.cgi?id=791802
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This fixes RTL and/or :inverted Ranges responding to a horizontal scroll
by moving the value/slider button in the opposite direction... See prev.

https://bugzilla.gnome.org/show_bug.cgi?id=791802
</pre>
</div>
</content>
</entry>
<entry>
<title>Range: Add should_invert_move() for scrolls &amp; keys</title>
<updated>2018-04-18T17:36:09+00:00</updated>
<author>
<name>Daniel Boles</name>
<email>dboles@src.gnome.org</email>
</author>
<published>2018-04-17T20:44:16+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gtk+.git/commit/?id=bc2a38a59e7e504612dda668ea2d9ed16dc03c5e'/>
<id>bc2a38a59e7e504612dda668ea2d9ed16dc03c5e</id>
<content type='text'>
This will be used in subsequent commits to fix the sign by which the
value is changed in response to directional scroll or keypress events.

The idea is: you have a movement to make – in the form of a delta that
follows widget directions, i.e. −1 means left or up, +1 means right or
down – and you want to know whether that delta needs to be inverted in
order to produce the intuitively expected directional change of :value.

The existing should_invert() is not sufficient: it just determines
whether to invert visually, but we need more nuance than that for input.

To answer that – while not doubling up the work for scrolls and keys – I
add a helper should_invert_move(), which considers other relevant state:

 • A parallel movement on priv-&gt;orientation should just use the existing
   should_invert(), which already worked OK for this case (not others).

 • Movements on the other orientation now depend on priv-&gt;orientation:

    ◦ For a horizontal Range, always invert, so up (i.e. −ve in terms of
      widget coords) always means increase value &amp; vice-versa. This was
      done in get_wheel_delta(), but move it here for use with keys too.

    ◦ For a vertical Range, ignore :invert as it’s only relevant to the
      parallel orientation. Do not care about text direction here either
      as RTL locales do not invert number lines, Cartesian plots, etc.

This returns TRUE if the delta should be inverted before applying to the
value, and we can now use this function in both scroll and key handlers.

https://bugzilla.gnome.org/show_bug.cgi?id=407242
https://bugzilla.gnome.org/show_bug.cgi?id=791802
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This will be used in subsequent commits to fix the sign by which the
value is changed in response to directional scroll or keypress events.

The idea is: you have a movement to make – in the form of a delta that
follows widget directions, i.e. −1 means left or up, +1 means right or
down – and you want to know whether that delta needs to be inverted in
order to produce the intuitively expected directional change of :value.

The existing should_invert() is not sufficient: it just determines
whether to invert visually, but we need more nuance than that for input.

To answer that – while not doubling up the work for scrolls and keys – I
add a helper should_invert_move(), which considers other relevant state:

 • A parallel movement on priv-&gt;orientation should just use the existing
   should_invert(), which already worked OK for this case (not others).

 • Movements on the other orientation now depend on priv-&gt;orientation:

    ◦ For a horizontal Range, always invert, so up (i.e. −ve in terms of
      widget coords) always means increase value &amp; vice-versa. This was
      done in get_wheel_delta(), but move it here for use with keys too.

    ◦ For a vertical Range, ignore :invert as it’s only relevant to the
      parallel orientation. Do not care about text direction here either
      as RTL locales do not invert number lines, Cartesian plots, etc.

This returns TRUE if the delta should be inverted before applying to the
value, and we can now use this function in both scroll and key handlers.

https://bugzilla.gnome.org/show_bug.cgi?id=407242
https://bugzilla.gnome.org/show_bug.cgi?id=791802
</pre>
</div>
</content>
</entry>
<entry>
<title>snapshot: Don't handle clip anymore</title>
<updated>2018-04-17T21:21:37+00:00</updated>
<author>
<name>Benjamin Otte</name>
<email>otte@redhat.com</email>
</author>
<published>2018-04-15T12:07:25+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gtk+.git/commit/?id=2db43edbd6e689666727dd2a644606c7915803e2'/>
<id>2db43edbd6e689666727dd2a644606c7915803e2</id>
<content type='text'>
If widgets want to clip things, they now need to do it themselves.

By not taking care of clip, we avoid the need to track clip. And by not
tracking clip, we can avoid all unnecessary cache invalidations that we
were doing for render nodes whenever the clip changed.

And when you are scrolling, the clip changes *a lot*.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If widgets want to clip things, they now need to do it themselves.

By not taking care of clip, we avoid the need to track clip. And by not
tracking clip, we can avoid all unnecessary cache invalidations that we
were doing for render nodes whenever the clip changed.

And when you are scrolling, the clip changes *a lot*.
</pre>
</div>
</content>
</entry>
<entry>
<title>MenuShell: Avoid compiler warning re un/signed cmp</title>
<updated>2018-04-17T19:53:48+00:00</updated>
<author>
<name>Daniel Boles</name>
<email>dboles.src@gmail.com</email>
</author>
<published>2018-04-17T19:50:04+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gtk+.git/commit/?id=3b2a03367ceeb741c6b2c53e8b7ca19b0d2da0a8'/>
<id>3b2a03367ceeb741c6b2c53e8b7ca19b0d2da0a8</id>
<content type='text'>
priv-&gt;button is a guint, but we assigned it to a local gint.

gtk/gtkmenushell.c:734:37: warning: comparison between signed and
  unsigned integer expressions [-Wsign-compare]
           if (button &amp;&amp; (new_button != button) &amp;&amp; priv-&gt;parent_menu_shell)
                                     ^
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
priv-&gt;button is a guint, but we assigned it to a local gint.

gtk/gtkmenushell.c:734:37: warning: comparison between signed and
  unsigned integer expressions [-Wsign-compare]
           if (button &amp;&amp; (new_button != button) &amp;&amp; priv-&gt;parent_menu_shell)
                                     ^
</pre>
</div>
</content>
</entry>
<entry>
<title>Menu|Item: Fix FIXME re non-const interned strings</title>
<updated>2018-04-17T19:53:48+00:00</updated>
<author>
<name>Daniel Boles</name>
<email>dboles.src@gmail.com</email>
</author>
<published>2018-04-17T19:03:07+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gtk+.git/commit/?id=d13e78831b26b4962a9e86f75c2073a5b6adf356'/>
<id>d13e78831b26b4962a9e86f75c2073a5b6adf356</id>
<content type='text'>
These are members of the private struct, so it hurts no one to fix this.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
These are members of the private struct, so it hurts no one to fix this.
</pre>
</div>
</content>
</entry>
<entry>
<title>Menu: Remove redundant typecheck in private func</title>
<updated>2018-04-17T19:40:21+00:00</updated>
<author>
<name>Daniel Boles</name>
<email>dboles.src@gmail.com</email>
</author>
<published>2018-04-17T18:56:13+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gtk+.git/commit/?id=4fae962a0384213a9b88cc2afdd27adae468088d'/>
<id>4fae962a0384213a9b88cc2afdd27adae468088d</id>
<content type='text'>
Everything that calls this already ensured we are a valid GtkMenu.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Everything that calls this already ensured we are a valid GtkMenu.
</pre>
</div>
</content>
</entry>
<entry>
<title>Menu: Update @accel_path annotation/description</title>
<updated>2018-04-17T19:40:21+00:00</updated>
<author>
<name>Daniel Boles</name>
<email>dboles.src@gmail.com</email>
</author>
<published>2018-04-17T19:19:45+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gtk+.git/commit/?id=8fd0ee96a6c82873cbfbaf0a38d6e2937656f109'/>
<id>8fd0ee96a6c82873cbfbaf0a38d6e2937656f109</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
