gtk+3.0.git
8 years agowayland: avoid 0 width/height anchor rectangle
Olivier Fourdan [Thu, 12 Jan 2017 17:08:32 +0000 (18:08 +0100)]
wayland: avoid 0 width/height anchor rectangle

Passing a rectangle with zero width or height to xdg_shell-v6
set_anchor_rect() will cause a protocol error and terminate the client,
as with gedit when pressing the Win key.

Reason for this is because the rectangle used to set the anchor comes
from gtk_text_layout_get_iter_location() which uses the pango layout
width/height, which can be empty if there is not character at the given
location.

Make sure we don't use 0 as width or height as an anchor rectangle to
avoid the protocol error, and compensate the logical position of the
given rectangle if the size is changed, so that the actual position
remains as expected by the client.

https://bugzilla.gnome.org/show_bug.cgi?id=777176

8 years agogrid: Fix plural error in docs' @Short_description
Daniel Boles [Sun, 15 Jan 2017 20:39:43 +0000 (20:39 +0000)]
grid: Fix plural error in docs' @Short_description

8 years agocssimage: Fallback images have no aspect ratio
Benjamin Otte [Fri, 13 Jan 2017 00:43:07 +0000 (01:43 +0100)]
cssimage: Fallback images have no aspect ratio

The aspect ratio for fallback image was incorrectly set to 1.

Reftest is included.

8 years agocssimage: Scale images to contain, not cover
Benjamin Otte [Fri, 13 Jan 2017 02:28:34 +0000 (03:28 +0100)]
cssimage: Scale images to contain, not cover

Images with just an aspect ratio, but without a size, should be scaled
to be fully visible in the given area.
But we scaled them to completely cover the given area, which made them
partially invisible.

Reftest included.

8 years agoDeprecate gdk_window_process[_all]_updates
Matthias Clasen [Wed, 11 Jan 2017 01:24:23 +0000 (20:24 -0500)]
Deprecate gdk_window_process[_all]_updates

These functions should not be used anymore now that we have a
frame clock, and are gone in GTK+ 4

8 years agogdk/wayland: Handle non-existant gsettings keys
Rui Matos [Mon, 9 Jan 2017 16:47:54 +0000 (17:47 +0100)]
gdk/wayland: Handle non-existant gsettings keys

Since we're a library, crashing on gsettings keys, whose presence is out
of our control, isn't appropriate.

https://bugzilla.gnome.org/show_bug.cgi?id=775846

8 years agogdk/wayland: Add support for the gtk-enable-primary-paste gsetting
Rui Matos [Thu, 8 Dec 2016 17:18:53 +0000 (18:18 +0100)]
gdk/wayland: Add support for the gtk-enable-primary-paste gsetting

The gsetting was recently added so that we can have this configurable
on the wayland backend too.

https://bugzilla.gnome.org/show_bug.cgi?id=775846

8 years agoGDK W32: Use keyboard hook to detect AeroSnap combinations better
Руслан Ижбулатов [Sat, 24 Dec 2016 21:01:23 +0000 (21:01 +0000)]
GDK W32: Use keyboard hook to detect AeroSnap combinations better

Windows WM handles AeroSnap for normal windows on keydown. We did this
on keyup only because we do not get a keydown message, even if Windows WM
does nothing with a combination. However, in some specific cases it DOES
do something - and we have no way to detect that. Specifically, winkey+downarrow
causes maximized window to be restored by WM, and GDK fails to detect that. Then
GDK gets a keyup message, figures that winkey+downarrow was pressed and released,
and handles the combination - by minimizing the window.

To overcome this, install a low-level keyboard hook (high-level ones have
the same problem as normal message loop - they don't get messages when
Windows WM handles combinations) and use it to detect interesting key combinations
before Windows WM has a chance to block them from being processed.

Once an interesting combination is detected, post a message to the window, which
will be handled in due order.

It should be noted that this code handles key repetitions in a very crude manner.

The downside is that AeroSnap will not work if hook installation function call fails.
Also, this is a global hook, and if the hook procedure does something wrong, bad things
can happen.

https://bugzilla.gnome.org/show_bug.cgi?id=776031

8 years agoGDK W32: Handle CapsLock as part of the key shift level
Руслан Ижбулатов [Wed, 4 Jan 2017 04:31:53 +0000 (04:31 +0000)]
GDK W32: Handle CapsLock as part of the key shift level

Instead of using some kind of flawed logic about modifying a keypress result
when CapsLock is toggled, just add a CapsLock shift level (and all derived
shift levels, i.e. Shift+CapsLock and CapsLock+AltGr and Shift+CapsLock+AltGr)
and query Windows keyboard layout API about the result of keypresses involving
CapsLock.

Keysym table is going to be (roughly) twice as large now, but CapsLock'ed
keypresses will give correct results for some keyboard layouts (such as
Czech keyboard layout, which without this change produces lowercase letters
for CapsLock->[0,2,3,4...] instead of uppercase ones).

Keymap update time also increases accordingly.

https://bugzilla.gnome.org/show_bug.cgi?id=165385

8 years agorevealer: Fix a typo in a function doc
Daniel Boles [Mon, 9 Jan 2017 22:34:30 +0000 (22:34 +0000)]
revealer: Fix a typo in a function doc

Also, "ie" wasn't very clear, but fixing that to "i.e." would cause
truncation of the summary when processed by bindings using doxygen. So,
I replaced it with "in other words", which is no _less_ clear, at least.

8 years agowayland: Disable EGL swap interval
Carlos Garnacho [Thu, 22 Dec 2016 18:22:07 +0000 (19:22 +0100)]
wayland: Disable EGL swap interval

We have a frame clock that ensures rendering is done as per the
output vsync. There is no need to have Mesa do the same for us.

This, most notably, ensures Mesa doesn't schedule frame callbacks
that will be left unattended if the compositor stops throttling
frames for its surface, this is eg. the case if the toplevel is
moved to another workspace.

Also, given a SwapInterval!=0 will always bring these unexpected
side effects, check that it's possible to disable it, and spew
a debug message if that isn't the case.

https://bugzilla.gnome.org/show_bug.cgi?id=769835

8 years agogtkdnd: Remove unnecessary call
Carlos Garnacho [Thu, 24 Nov 2016 15:24:04 +0000 (16:24 +0100)]
gtkdnd: Remove unnecessary call

drag-data-delete is emitted based on the interchange of the
DELETE atom, which may well be set or bypassed locally by
the app. As such emitting it here is not right, the other
paths handling the DELETE atom interchange are still valid
and there.

https://bugzilla.gnome.org/show_bug.cgi?id=774726

8 years agowayland: Add fake mimetype for local DnD cases
Carlos Garnacho [Wed, 26 Oct 2016 19:31:58 +0000 (21:31 +0200)]
wayland: Add fake mimetype for local DnD cases

If there are no targets, DnD is probably intended to be local,
add a mimetype for matching then. The wayland protocol requires
at least one wl_data_offer.target call with the mimetype selected
for transfer.

8 years agoGDK W32: Special handling for VK_PAUSE
Руслан Ижбулатов [Wed, 27 Jul 2016 18:05:10 +0000 (18:05 +0000)]
GDK W32: Special handling for VK_PAUSE

Similar to VK_DIVIDE, this key can't be mapped to a scancode by
MapVirtualKeyEx(). Googling suggests that this is a known bug.

https://bugzilla.gnome.org/show_bug.cgi?id=769214

8 years agoGDK W32: Change WM_SYSMENU style switch logic
Руслан Ижбулатов [Sun, 25 Dec 2016 17:48:20 +0000 (17:48 +0000)]
GDK W32: Change WM_SYSMENU style switch logic

Instead of checking for window state and giving it extra styles that
fit, just give it all styles that it is missing. It turned out that
otherwise it is impossible to, for example, restore a maximized window
via sysmenu. Also, be more flexible towards GDK/WM window state mismatches
and consider the window minimized/maximized if *either* GDK or WM thinks so.

https://bugzilla.gnome.org/show_bug.cgi?id=776485

8 years agoGDK W32: Remove unneeded assertion
Руслан Ижбулатов [Mon, 9 Jan 2017 09:53:46 +0000 (09:53 +0000)]
GDK W32: Remove unneeded assertion

Just set check_for_dpi_awareness = TRUE and eventually it will be handled
correctly, even if setDpiAwareFunc() returns E_ACCESSDENIED or shcore functions
are NULL.

https://bugzilla.gnome.org/show_bug.cgi?id=777031

8 years agoMake GTK_DEBUG=interactive work better
Matthias Clasen [Wed, 4 Jan 2017 19:42:33 +0000 (14:42 -0500)]
Make GTK_DEBUG=interactive work better

We currently have various ways to initialize GTK+, and not
all of them were supporting this way of bringing up the
inspector. Fix this.

https://bugzilla.gnome.org/show_bug.cgi?id=776807

8 years agoUpdated Lithuanian translation
Aurimas Černius [Sat, 7 Jan 2017 12:53:31 +0000 (14:53 +0200)]
Updated Lithuanian translation

8 years agogtk-demo: Make icon counter work from ui file
Benjamin Otte [Sat, 7 Jan 2017 01:05:26 +0000 (02:05 +0100)]
gtk-demo: Make icon counter work from ui file

Gets rid of update always being 1 frame late.

8 years agogtk-demo: Add GtkFishbowl
Benjamin Otte [Sat, 7 Jan 2017 00:59:23 +0000 (01:59 +0100)]
gtk-demo: Add GtkFishbowl

Avoids usage of GtkFixed where child properties eat up all the CPU time.
And that's kinda not what I want to benchmark.

8 years agogtk-demo: Allow locking of icon count in fishbowl demo
Benjamin Otte [Sun, 20 Nov 2016 04:29:03 +0000 (05:29 +0100)]
gtk-demo: Allow locking of icon count in fishbowl demo

I'm not sure I'm proud of the hack to get the changing icon into the UI
file without having to write code. But it works.

8 years agowayland: Handle subsurface as popup parent
Jonas Ådahl [Thu, 5 Jan 2017 08:01:49 +0000 (16:01 +0800)]
wayland: Handle subsurface as popup parent

When a subsurface is used as a parent of a popup, GDK needs to traverse
up to the transient-for as the next parent, to properly find the parent
used by the popup positioner. This is because the parent of a popup
must always either be an xdg_popup or an xdg_surface, but traversing
the "parent" (in GDK terms) upwards from a subsurface will end up on
the fake root window before we hit the actual parent (in Wayland terms).

https://bugzilla.gnome.org/show_bug.cgi?id=776225

8 years agoRevert "Make it possible to set style classes for label links"
Matthias Clasen [Fri, 6 Jan 2017 00:40:23 +0000 (19:40 -0500)]
Revert "Make it possible to set style classes for label links"

This reverts commit 9a2527b36122321c5aeaed8526747d54d0f4c0c8.

This needs more work to have a chance of working properly.

8 years agoRevert "Use CSS for styling links in labels"
Matthias Clasen [Fri, 6 Jan 2017 00:40:12 +0000 (19:40 -0500)]
Revert "Use CSS for styling links in labels"

This reverts commit 34264667ed844dd9212e987852e06d2bbba54e66.

8 years agoUse CSS for styling links in labels
Matthias Clasen [Thu, 5 Jan 2017 23:10:52 +0000 (18:10 -0500)]
Use CSS for styling links in labels

This was implemented only halfway, and was hardcoding the
underline. We don't need to do that anymore.

8 years agoBump version to 3.22.7
Matthias Clasen [Thu, 5 Jan 2017 22:33:51 +0000 (17:33 -0500)]
Bump version to 3.22.7

8 years agoMake it possible to set style classes for label links
Matthias Clasen [Thu, 5 Jan 2017 21:36:14 +0000 (16:36 -0500)]
Make it possible to set style classes for label links

This makes it possible to style links in labels differently
in certain situations.

8 years ago3.22.6
Matthias Clasen [Wed, 4 Jan 2017 20:12:06 +0000 (15:12 -0500)]
3.22.6

8 years agoUpdate expected output for a11y tests
Matthias Clasen [Wed, 4 Jan 2017 20:30:17 +0000 (15:30 -0500)]
Update expected output for a11y tests

This is a followup to the GtkAboutDialog template change.

8 years agodemos/icon-browser: increase default window size
Daniel Boles [Thu, 29 Dec 2016 00:43:18 +0000 (00:43 +0000)]
demos/icon-browser: increase default window size

...to get more than 1 row of icons to browse!

https://bugzilla.gnome.org/show_bug.cgi?id=776560

I've bumped the size a bit further, to 1024x768

8 years agodocs: improve the documentation of GtkEntry:attributes
Sébastien Wilmet [Fri, 25 Nov 2016 19:08:00 +0000 (20:08 +0100)]
docs: improve the documentation of GtkEntry:attributes

See the implementation of gtk_entry_create_layout():
pango_attr_list_splice() is used to add the PangoAttrList of the preedit
string. And that is done *after* applying the PangoAttrList of the
"attributes" property.

https://bugzilla.gnome.org/show_bug.cgi?id=776868

8 years agoscrolledwindow: Fix func summary being cut off in bindings using doxygen
Daniel Boles [Sat, 31 Dec 2016 13:27:15 +0000 (13:27 +0000)]
scrolledwindow: Fix func summary being cut off in bindings using doxygen

...which treats the first '.' in doc comments as the end of the summary.
So, e.g., in gtkmm, get_kinetic_scrolling() is currently summarised as
"Changes the behaviour of @scrolled_window wrt." Not very informative!

No need for a period there & anyway, the phrase "wrt to" is superfluous,
and we have space to actually say "with regard to", so just do that now.

8 years agoGtkAboutDialog: Fix formatting of example email address in html
Chris Mayo [Tue, 27 Dec 2016 16:14:09 +0000 (16:14 +0000)]
GtkAboutDialog: Fix formatting of example email address in html

Signed-off-by: Chris Mayo <aklhfex@gmail.com>
https://bugzilla.gnome.org/show_bug.cgi?id=776524

8 years agoabout dialog: Simplify the template a bit
Matthias Clasen [Fri, 30 Dec 2016 15:20:16 +0000 (10:20 -0500)]
about dialog: Simplify the template a bit

Remove some unnecessary complications, like an extraneous
box, and some child property settings that are not needed.

8 years agoUpdate Russian translation
Stas Solovey [Thu, 29 Dec 2016 16:23:12 +0000 (16:23 +0000)]
Update Russian translation

8 years agoAvoid a possible crash in ::activate-url handlers
Matthias Clasen [Thu, 29 Dec 2016 16:07:05 +0000 (11:07 -0500)]
Avoid a possible crash in ::activate-url handlers

If the signal handler ends up changing the label text,
the link is no longer around to update the css node.
Check for this possibility to avoid a crash here.

8 years agoGDK W32: Handle maximizing correctly for small primary monitors
Руслан Ижбулатов [Sun, 11 Dec 2016 16:26:34 +0000 (16:26 +0000)]
GDK W32: Handle maximizing correctly for small primary monitors

When primary monitor is smaller than the actual monitor on which the
window is being maximized, the WM will do widnow size adjustments
that will completely screw the window size if we try to make it
smaller than 100% fullscreen (to account for taskbar size, for example).

Fix this by overriding maximized window size during WM_WINDOWPOSCHANGING.

https://bugzilla.gnome.org/show_bug.cgi?id=775808

9 years agoUpdate German translation
Christian Kirbach [Tue, 20 Dec 2016 19:11:29 +0000 (19:11 +0000)]
Update German translation

9 years agoflowbox: Don't emit child-activated while dragging the pointer
Debarshi Ray [Tue, 20 Dec 2016 11:55:41 +0000 (12:55 +0100)]
flowbox: Don't emit child-activated while dragging the pointer

https://bugzilla.gnome.org/show_bug.cgi?id=776306

9 years agoflowbox: Export gtk_flow_box_get_child_at_pos as public API
Debarshi Ray [Fri, 16 Dec 2016 23:30:39 +0000 (00:30 +0100)]
flowbox: Export gtk_flow_box_get_child_at_pos as public API

Bump the gtk+ version so that others can depend on this new API.

https://bugzilla.gnome.org/show_bug.cgi?id=776187

9 years agoGtkApplication: Lack of optional components shouldn't warn
Philip Chimento [Thu, 15 Dec 2016 22:09:49 +0000 (14:09 -0800)]
GtkApplication: Lack of optional components shouldn't warn

When running uninstalled tests with GtkApplication on an autobuilder with
a fake session bus, warnings will cause the tests to abort. The GNOME
session manager, the Xfce session manager, and the Inhibit portal are all
not needed for normal operation of GTK, so we should not log warnings if
they are not found.

As well as not being present on a fake session bus, it's also not
expected that they'll be present on all platforms.

https://bugzilla.gnome.org/show_bug.cgi?id=774784

9 years agoflowbox: Don't emit selected-children-changed during destruction
Debarshi Ray [Mon, 12 Dec 2016 20:12:51 +0000 (21:12 +0100)]
flowbox: Don't emit selected-children-changed during destruction

https://bugzilla.gnome.org/show_bug.cgi?id=776012

9 years agolistbox: Don't emit selected-rows-changed, etc. during destruction
Debarshi Ray [Sun, 18 Dec 2016 08:43:38 +0000 (09:43 +0100)]
listbox: Don't emit selected-rows-changed, etc. during destruction

https://bugzilla.gnome.org/show_bug.cgi?id=776012

9 years agoflowbox: Rename gtk_flow_box_find_child_at_pos for consistency
Debarshi Ray [Fri, 16 Dec 2016 22:40:21 +0000 (23:40 +0100)]
flowbox: Rename gtk_flow_box_find_child_at_pos for consistency

... with gtk_list_box_get_row_at_y. It would be nice to avoid the
'find' versus 'get' discrepancy since we are planning to expose it as
public API.

https://bugzilla.gnome.org/show_bug.cgi?id=776187

9 years agoMention that gdk_window_create_similar_image_surface inherits the scale
Debarshi Ray [Thu, 15 Dec 2016 12:17:57 +0000 (13:17 +0100)]
Mention that gdk_window_create_similar_image_surface inherits the scale

https://bugzilla.gnome.org/show_bug.cgi?id=776132

9 years agowayland: apply empty input shape on parent commit
Olivier Fourdan [Wed, 16 Nov 2016 14:05:43 +0000 (15:05 +0100)]
wayland: apply empty input shape on parent commit

For subsurfaces, the new state which includes the input shape is not
applied by the compositor if the subsurface is in effective synchronous
mode.

So we need to apply the input shape once parent surface is in effective
desynchronized mode, which is when it's committed, otherwise the input
shape may never be applied if the widget is not using being_paint() /
end_paint() to draw on its subsurface, like clutter does.

We do that only for empty input shape as those won't need update when
the subsurface is resized, for all other non-empty input shape, the
client still has to use begin_paint()/end_paint() for the input shape to
be applied.

https://bugzilla.gnome.org/show_bug.cgi?id=774534

9 years agodemo: Fix the GLES fragment shader for GLArea
Emmanuele Bassi [Wed, 14 Dec 2016 18:36:18 +0000 (18:36 +0000)]
demo: Fix the GLES fragment shader for GLArea

We have a couple of syntax errors, like 'f' modifier for floating point
values.

9 years agogl: Check for GL_EXT_framebuffer_blit before using glBlitFramebuffer
Emmanuele Bassi [Wed, 14 Dec 2016 18:30:16 +0000 (18:30 +0000)]
gl: Check for GL_EXT_framebuffer_blit before using glBlitFramebuffer

We check when we realize the GdkGLContext, but we never use the check
before using the API, and it breaks on drivers that do not implement the
extension, or on drivers that only support OpenGL ES 2.0.

9 years agocss: An opaque background does not allow omitting push_group
Benjamin Otte [Tue, 13 Dec 2016 22:00:26 +0000 (23:00 +0100)]
css: An opaque background does not allow omitting push_group

When the background-clip of the background is smaller than the
background-clip of blended images, not pushing a group is wrong.

Test testing exactly that included.

9 years ago3.22.5
Matthias Clasen [Fri, 9 Dec 2016 16:11:41 +0000 (11:11 -0500)]
3.22.5

9 years agocss nodes tests: Update expected output for progressbar
Matthias Clasen [Fri, 9 Dec 2016 16:53:42 +0000 (11:53 -0500)]
css nodes tests: Update expected output for progressbar

This changed since we add some more style classes now.

9 years agoUpdate Italian translation
Gianvito Cavasoli [Fri, 9 Dec 2016 10:34:45 +0000 (10:34 +0000)]
Update Italian translation

9 years agowayland: destroy subsurfaces along with parents
Olivier Fourdan [Wed, 23 Nov 2016 13:45:16 +0000 (14:45 +0100)]
wayland: destroy subsurfaces along with parents

Wayland subsurfaces can have other native window parents, but those need
to be destroyed along with the rest of the window hierarchy otherwise
an assert() is reached.

https://bugzilla.gnome.org/show_bug.cgi?id=774915

9 years agoHC: progressbar style fix
Lapo Calamandrei [Wed, 23 Nov 2016 16:25:18 +0000 (17:25 +0100)]
HC: progressbar style fix

Reset styling on the progress node when trough node has the `empty'
styleclass.

See https://bugzilla.gnome.org/show_bug.cgi?id=774695

9 years agoAdwaita: progressbar style fix
Lapo Calamandrei [Wed, 23 Nov 2016 15:00:57 +0000 (16:00 +0100)]
Adwaita: progressbar style fix

Reset styling on the progress node when trough node has the `empty'
styleclass.

See https://bugzilla.gnome.org/show_bug.cgi?id=774695

9 years agoGtkProgressBar: trivial conditional optimisation
Daniel Boles [Sat, 3 Dec 2016 02:35:27 +0000 (02:35 +0000)]
GtkProgressBar: trivial conditional optimisation

I'd hope the compiler would realise this for us, but let's be explicit.

9 years agoprogressbar: add empty and full classes on trough based on fill-level
Simon Steinbeiss [Fri, 18 Nov 2016 22:43:09 +0000 (23:43 +0100)]
progressbar: add empty and full classes on trough based on fill-level

Pointed out in https://bugzilla.gnome.org/show_bug.cgi?id=774695

9 years agoflowbox: Fix get_child_at_index crash with an invalid index
Debarshi Ray [Fri, 2 Dec 2016 15:38:05 +0000 (16:38 +0100)]
flowbox: Fix get_child_at_index crash with an invalid index

https://bugzilla.gnome.org/show_bug.cgi?id=775525

9 years agoAdwaita: render updated assets.
Lapo Calamandrei [Wed, 5 Oct 2016 11:47:52 +0000 (13:47 +0200)]
Adwaita: render updated assets.

9 years agoAdwaita: update assets svg
Lapo Calamandrei [Wed, 5 Oct 2016 09:35:47 +0000 (11:35 +0200)]
Adwaita: update assets svg

correct colors for pointy sliders assets.

9 years agoComboBox: Do not select item before menu realised
Daniel Boles [Thu, 1 Dec 2016 12:38:43 +0000 (12:38 +0000)]
ComboBox: Do not select item before menu realised

For a menu mode CB with wrap_width == 0 and an active item, that item is
selected in gtk_combo_box_menu_popup. Selection causes the MenuShell to
activate and hence take a grab. This was done before the menu was popped
up. A patch distributed in Debian sid - after being proposed on our BZ -
revealed that on the 1st popup of any such ComboBox, within grab_add,
the MenuShell's toplevel's GdkWindow is NULL. This causes a Gdk-CRITICAL
assertion fail on the 1st time opening any such CB, on Debian and if
that patch were merged to GTK+. By selecting after popup, we ensure the
MenuShell is realised before its grab_add and so avoid the critical.

https://bugzilla.gnome.org/show_bug.cgi?id=771242

9 years agogtkcombobox: pass trigger event when popping up menu
William Hua [Wed, 28 Sep 2016 22:33:24 +0000 (18:33 -0400)]
gtkcombobox: pass trigger event when popping up menu

https://bugzilla.gnome.org/show_bug.cgi?id=771242

9 years agoComboBox: Fix whitespace
Daniel Boles [Thu, 1 Dec 2016 12:36:30 +0000 (12:36 +0000)]
ComboBox: Fix whitespace

 * Replace tabs for indentation with spaces
 * Remove whitespace at ends of lines

9 years agowayland: Don't warn if we loose the compositor connection
Matthias Clasen [Wed, 30 Nov 2016 18:43:54 +0000 (13:43 -0500)]
wayland: Don't warn if we loose the compositor connection

And instead, exit cleanly. This avoids filling the logs with
these warnings from every single application that has a
connection to the compositor.

9 years agox11: Don't warn if the display is closed
Matthias Clasen [Wed, 30 Nov 2016 18:43:17 +0000 (13:43 -0500)]
x11: Don't warn if the display is closed

This causes a storm of warnings from all applications in the logs
whenever the display goes away, and is not useful.

9 years agowayland: Check for subsurface looking up the toplevel
Olivier Fourdan [Tue, 29 Nov 2016 13:21:57 +0000 (14:21 +0100)]
wayland: Check for subsurface looking up the toplevel

gdk_window_get_toplevel() walks up the windows tree looking for the
corresponding toplevel window, but needs to account for subsurfaces as
well on Wayland.

https://bugzilla.gnome.org/show_bug.cgi?id=775319

9 years agogtk-demo: Add a demo for tabs
Matthias Clasen [Tue, 29 Nov 2016 21:39:21 +0000 (16:39 -0500)]
gtk-demo: Add a demo for tabs

One of the least-appreciated features in pango.
It deserves a demo.

9 years agoDon't leak a pixbuf reference in dnd
Matthias Clasen [Tue, 29 Nov 2016 19:42:35 +0000 (14:42 -0500)]
Don't leak a pixbuf reference in dnd

https://bugzilla.gnome.org/show_bug.cgi?id=775316

9 years agoFix reference handling in GtkScaleButton
Matthias Clasen [Mon, 28 Nov 2016 20:00:10 +0000 (15:00 -0500)]
Fix reference handling in GtkScaleButton

We were leaking the adjustment, since we confuse ourselves
with a property whose initial value comes out of a template.
Stop doing that.

https://bugzilla.gnome.org/show_bug.cgi?id=775212

9 years agoReduce a warning to a message
Matthias Clasen [Mon, 17 Oct 2016 19:26:29 +0000 (15:26 -0400)]
Reduce a warning to a message

The warning interferes with having a testcase to check this behavior,
so reduce this to a message.

9 years agowin32 event: check for NULL display or dev mgr
Andrew Chadwick [Fri, 18 Nov 2016 15:12:57 +0000 (15:12 +0000)]
win32 event: check for NULL display or dev mgr

The recent Wintab testing revealed an interesting edge case: we cannot
for certain say that windowing system messages will not be received
while the default display and its device manager are still being set up.
We've ruled out the Wintab case now, but cannot rule out some future bit
of runtime DLL code doing stuff at this critical time.

This commit detects and avoids a potential null pointer dereference in
the message handling code while detecting grabs. Grabs don't really
exist yet, if the default display and/or its device manager are not yet
globally known.

https://bugzilla.gnome.org/show_bug.cgi?id=774379

9 years agoUpdate Swedish translation
Anders Jonsson [Mon, 28 Nov 2016 14:05:07 +0000 (14:05 +0000)]
Update Swedish translation

9 years agodocs: fix a parameter name of GtkEntry::populate-popup
Sébastien Wilmet [Sat, 26 Nov 2016 11:23:14 +0000 (12:23 +0100)]
docs: fix a parameter name of GtkEntry::populate-popup

Trivial commit.

The documentation block refers to @widget, not @popup. @widget is a
better name since the type is GtkWidget.

9 years agodocs: fix docs of functions to convert layout_index <-> text_index
Sébastien Wilmet [Fri, 25 Nov 2016 20:32:09 +0000 (21:32 +0100)]
docs: fix docs of functions to convert layout_index <-> text_index

Trivial commit.

The documentation was swapped. The documentation for the parameters and
the return values is good.

9 years agoAdwaita: make rubberband selection work again for libgd apps
Cosimo Cecchi [Fri, 25 Nov 2016 17:53:21 +0000 (18:53 +0100)]
Adwaita: make rubberband selection work again for libgd apps

libgd views still use the old style class.

9 years agoMake gtk-encode-symbolic-svg work for icons with dotted names
Matthias Clasen [Fri, 25 Nov 2016 13:55:33 +0000 (08:55 -0500)]
Make gtk-encode-symbolic-svg work for icons with dotted names

We were producing org.symbolic.png from org.gnome.Recipes-symbolic.svg,
which is not useful. Look for the last dot in the original name, to
produce the expected org.gnome.Recipes-symbolic.symbolic.png instead.

9 years agowayland: Place subsurfaces relative to their parent
Olivier Fourdan [Wed, 23 Nov 2016 13:55:40 +0000 (14:55 +0100)]
wayland: Place subsurfaces relative to their parent

Now that subsurfaces can be created as child of another GdkWindow (and
not just the root window), they must be placed according to the location
of their parent, i.e. the abs_x/abs_y must be updated and taken into
account when placing and moving subsurfaces under Wayland.

https://bugzilla.gnome.org/show_bug.cgi?id=774917

9 years agoinspector: Respect text-scaling-factor value initially
Matthias Clasen [Thu, 24 Nov 2016 00:16:16 +0000 (19:16 -0500)]
inspector: Respect text-scaling-factor value initially

This was pointed out in
https://bugzilla.gnome.org/show_bug.cgi?id=774893

9 years agoGtkLabelAccessible: Initialize link before setting parent
Florian Müllner [Wed, 23 Nov 2016 15:34:15 +0000 (16:34 +0100)]
GtkLabelAccessible: Initialize link before setting parent

Since at-spi-atk commit 96621a5e95 fixed PropertyChange notifications
for AccessibleParent, setting the parent will result in a call to
ref_state_set() which assumes that the object is fully initialized.

https://bugzilla.gnome.org/show_bug.cgi?id=774939

9 years agoinspector: ensure controller is a GtkGesture
Christian Hergert [Sun, 20 Nov 2016 23:40:10 +0000 (15:40 -0800)]
inspector: ensure controller is a GtkGesture

While GtkEventController implementations today are all GtkGesture, it is
possible to create a GtkEventController manually. This is an extrac check
to ensure we only add gestures to the list.

https://bugzilla.gnome.org/show_bug.cgi?id=774760

9 years agoUpdate Russian translation
Stas Solovey [Wed, 23 Nov 2016 20:42:59 +0000 (20:42 +0000)]
Update Russian translation

9 years agomenu: Don't leak check menu items
Matthias Clasen [Wed, 23 Nov 2016 19:50:16 +0000 (14:50 -0500)]
menu: Don't leak check menu items

Pointed out in
https://bugzilla.gnome.org/show_bug.cgi?id=774686

9 years agonotebook: Don't leak arrow gadgets
Matthias Clasen [Wed, 23 Nov 2016 19:44:37 +0000 (14:44 -0500)]
notebook: Don't leak arrow gadgets

This was pointed out in
https://bugzilla.gnome.org/show_bug.cgi?id=774743

9 years agotext handle: Don't leak adjustments
Matthias Clasen [Wed, 23 Nov 2016 18:55:28 +0000 (13:55 -0500)]
text handle: Don't leak adjustments

This can happen if the weak pointer is triggered before the
adjustments are unset. Pointed out in

https://bugzilla.gnome.org/show_bug.cgi?id=774790

9 years agoUpdate Hungarian translation
Balázs Meskó [Tue, 22 Nov 2016 13:41:01 +0000 (13:41 +0000)]
Update Hungarian translation

9 years agowintab: init only after the display is assigned
Andrew Chadwick [Sun, 20 Nov 2016 01:57:07 +0000 (01:57 +0000)]
wintab: init only after the display is assigned

Only attempt to initialize Wintab after the display manager announces
that the first default display has been set. Fixes a segfault during
initialization of specific tablet drivers' wintab32.dlls. Add assertions
and verbose comments explaining this nonsense because this stuff is a
pain to have to keep fixing.

https://bugzilla.gnome.org/show_bug.cgi?id=774379

9 years agowintab tilt: Check return location for validity
Andrew Chadwick [Tue, 22 Nov 2016 10:28:40 +0000 (10:28 +0000)]
wintab tilt: Check return location for validity

https://bugzilla.gnome.org/show_bug.cgi?id=774265

9 years agowin32: Fix tilt from Wintab devices
Andrew Chadwick [Sat, 19 Nov 2016 18:34:29 +0000 (18:34 +0000)]
win32: Fix tilt from Wintab devices

Move the orientation sanity-checks into the packet decode func.
Rationale: the packet handling func may otherwise read beyond the end of
device->last_axis_data.

Also expand them to cope with my test Huion's weird reporting.

Also correct the azimuth angle to align with GDK's presentation.

Most importantly, fix annoying comment typo.

https://bugzilla.gnome.org/show_bug.cgi?id=774265

9 years agowintab: fix skipping of odd-numbered devices
Andrew Chadwick [Sat, 19 Nov 2016 03:26:29 +0000 (03:26 +0000)]
wintab: fix skipping of odd-numbered devices

Fix a regression introduced in 4ce6d1060104e7072eec347370999bfd3fe69dc0
which causes devices with an odd-numbered zero-based index in the list
to be passed over incorrectly. This might present as yet another "device
does not send pressure" bug for ~50% of devices out there.

This commit also closes off another potential segfault for wintab_devices
lists which have an odd length.

https://bugzilla.gnome.org/show_bug.cgi?id=774699

9 years agoFix off by one in check for GtkRoundedBox containing a rectangle
Gustavo Noronha Silva [Thu, 17 Nov 2016 17:15:50 +0000 (15:15 -0200)]
Fix off by one in check for GtkRoundedBox containing a rectangle

When checking if a rectangle is contained by the rounded box, the code
will refuse a rectangle which is the exact size as the one backing the
rounded box, since it checks for greater or equal width and height.
Check for greater only instead.

https://bugzilla.gnome.org/show_bug.cgi?id=774114

9 years agoDocument gtk_menu_place_on_monitor
Matthias Clasen [Sat, 19 Nov 2016 18:51:50 +0000 (13:51 -0500)]
Document gtk_menu_place_on_monitor

9 years agoAdd a since tag
Matthias Clasen [Sat, 19 Nov 2016 18:29:17 +0000 (13:29 -0500)]
Add a since tag

9 years agodocs: Add gtk_menu_place_on_monitor
Matthias Clasen [Sat, 19 Nov 2016 17:51:17 +0000 (12:51 -0500)]
docs: Add gtk_menu_place_on_monitor

9 years agoUpdate Kazakh translation
Baurzhan Muftakhidinov [Sat, 19 Nov 2016 12:15:59 +0000 (12:15 +0000)]
Update Kazakh translation

9 years ago3.22.4
Matthias Clasen [Fri, 18 Nov 2016 18:55:21 +0000 (13:55 -0500)]
3.22.4

9 years agofilechooserwidget: Forward file filter to entry
Timm Bäder [Tue, 15 Nov 2016 09:51:41 +0000 (10:51 +0100)]
filechooserwidget: Forward file filter to entry

And in the entry, apply the currently used filter as a second step to
the completion items.

https://bugzilla.gnome.org/show_bug.cgi?id=773007

9 years agogdkwindow: Allow native subsurface for all parents
Olivier Fourdan [Tue, 15 Nov 2016 13:49:03 +0000 (14:49 +0100)]
gdkwindow: Allow native subsurface for all parents

Under Wayland, a subsurface can have another surface as parent, but
gdk would not allow native windows if the parent is not the root window.

Allow native subsurface for all parent under Wayland, not just for the
root window.

https://bugzilla.gnome.org/show_bug.cgi?id=774475

9 years agowayland: Keep last scale factor on surfaces after it left all outputs
Carlos Garnacho [Tue, 15 Nov 2016 14:07:39 +0000 (15:07 +0100)]
wayland: Keep last scale factor on surfaces after it left all outputs

This can be triggered on workspace switches, and on hidpi results in
the scale factor being reset to 1 while the window is not in the
current workspace.

https://bugzilla.gnome.org/show_bug.cgi?id=774476

9 years agoUpdated Serbian translation
Мирослав Николић [Fri, 18 Nov 2016 08:15:04 +0000 (09:15 +0100)]
Updated Serbian translation

9 years agoplaceview: Don't leak the file enumerator
Matthias Clasen [Thu, 17 Nov 2016 18:50:25 +0000 (13:50 -0500)]
placeview: Don't leak the file enumerator

Pointed out in https://bugzilla.gnome.org/show_bug.cgi?id=774634