Commit Graph

43875 Commits

Author SHA1 Message Date
b323252c14 widget: Make sure we only run controllers on realized widgets
The default event bubbling paths are prone to just running event controllers
even after the widget was potentially unrealized/destroyed in an event
handler callback, so bail out early if that's the case.

https://bugzilla.gnome.org/show_bug.cgi?id=755352
2015-09-21 15:55:33 +02:00
defa1e9c0d gesture: strengthen against destroyed windows
Bail out when we receive an event with an already destroyed window,
we'll hopefully get reset/cancelled afterwards on grab broken events.

https://bugzilla.gnome.org/show_bug.cgi?id=755352
2015-09-21 15:53:28 +02:00
e3d21accd0 window: cancel unclaimed sequences after GtkEventController::handle_event.
To GtkGesture machinery, if an event triggers a controller/gesture signal,
and gesture reset/cancellation as a result, the event has been managed
after all.

Commit e3bd895667 effectively changed the return value of the
wrapping gtk_event_controller_handle_event() function, which broke some
paths (eg. gtk_popover_button_press() wouldn't while the GTK+ grab was
active for this reason because the button press event was consumed early
on gtk_window_check_handle_wm_event()).

That patch is not too off-track given potential child widgets' behavior,
we want nonetheless to distinguish the denied vs cancelled paths here
(because GtkWindow itself relies on the GtkGesture behavior described in
the first paragraph on the begin_move/resize paths), so just reset
gestures after the event has already gone through the GtkEventController
so the return value is unaffected.
2015-09-21 14:32:44 +02:00
6fe44d3320 Updated Kazakh translation 2015-09-21 12:09:49 +00:00
a3ba6f7475 MSVC Builds: Update Project GUIDs
This updates the Visual Studio Project GUIDs so that they don't repeat with
the GTK+-2.24.x ones, as the 3.x projects can be used with the 2.24.x in a
all-in-one solution file (such as when one wants to use a complete GTK+2
and GTK+3 stack when porting Windows applications from GTK+2 to GTK+3), and
each project in a solution file is expected to have an unique GUID.
2015-09-21 16:50:00 +08:00
5e51277c1f Updated Norwegian bokmål translation. 2015-09-20 22:19:19 +02:00
3226f846a5 Updated Danish translation 2015-09-20 18:55:04 +00:00
87e3fcd94d Updated Danish translation 2015-09-20 20:37:39 +02:00
fc6c917a8d Updated Latvian translation 2015-09-20 21:19:32 +03:00
620fec17d7 Updated Swedish translation 2015-09-20 17:32:36 +00:00
e0d72c5376 test-simplify: Explicitly use bash
The script uses bash features, after all.

https://bugzilla.gnome.org/show_bug.cgi?id=755274
2015-09-20 12:18:35 -04:00
0d54d7d419 Updated Japanese translation 2015-09-21 01:03:34 +09:00
7e05524009 Updated Danish translation 2015-09-20 14:47:36 +00:00
a39ccc0228 Updated Swedish translation 2015-09-20 10:09:25 +00:00
054b92fe15 Updated Greek translation 2015-09-20 10:09:06 +00:00
60926c5744 Updated Japanese translation 2015-09-20 17:38:08 +09:00
69e5aea58b Updated Brazilian Portuguese translation 2015-09-19 21:20:41 +00:00
7093834d42 Updated Brazilian Portuguese translation 2015-09-19 18:17:16 +00:00
7f673122d5 gtkdemo: Plug leaks in listbox demo 2015-09-19 20:04:37 +02:00
d6aafbe786 Updated Danish translation 2015-09-19 16:53:52 +00:00
601909283a Updated Brazilian Portuguese translation 2015-09-19 12:26:08 +00:00
b008afdba0 Updated Brazilian Portuguese translation 2015-09-19 10:37:26 +00:00
183e71a950 Updated Russian translation 2015-09-18 22:05:39 +00:00
980d273c05 Updated Russian translation 2015-09-18 21:12:42 +00:00
f860afc92e Revert "gtkwidget: Ensure unrealization during event dispatching cancels gestures"
This reverts commit 13873d2c50.
2015-09-18 12:59:00 +02:00
bdb854d92c Revert "widget: Fix propagation of gesture cancellation on widget unrealize/destroy"
This reverts commit 3aaf730901.
2015-09-18 12:57:26 +02:00
9577266d34 Revert "widget: Cancel also denied sequences"
This reverts commit 63e255e7b5.
2015-09-18 12:57:04 +02:00
e3bd895667 window: Reset on unhandled gestures right away
Traditionally a sequence is set to GTK_EVENT_SEQUENCE_DENIED state when
it is to be ignored, which means it is dormant, but still managed by the
gesture (accounting, "denied" sequences still make "slots" in multitouch
gesture busy, etc...).

This gesture will run for all button presses and releases in the window
though when presses happen on the "window content" region, and we can't
account for every children to be as educated as setting the proper mask
on every window, or ensuring events will be propagated as they should.

In order to cater for this, just reset the gestures, we can live without
such accounting in these specific GtkGestureSingle gestures.

https://bugzilla.gnome.org/show_bug.cgi?id=754098
2015-09-18 12:51:22 +02:00
15d043c5d2 gdk: Mark window surfaces as dirty before reading from them
We do not know what happened to this surface outside of GDK.
Especially for foreign windows, they will have been modified
by external applications.

So be on the safe side and tell Cairo to clear all its caches.

https://bugzilla.gnome.org/show_bug.cgi?id=754952
2015-09-18 02:06:01 +02:00
3ac8a120fe Updated Turkish translation 2015-09-17 18:05:49 +00:00
0573837fc8 Updated Lithuanian translation 2015-09-17 20:28:47 +03:00
0c44f5f1d6 Updated Hungarian translation 2015-09-17 14:02:09 +00:00
78d2db383d MSVC Builds: Make Re-use Comment in Autotools Module Clearer 2015-09-17 09:19:10 +08:00
e55a8b6aef pixelcache: use factor instead of margin
Instead of using a fixed size, use a factor of the surface size. This
helps in situations where animations of surrounding widgets are used
and cause a rapid rate of surface destroy/create cycles.
2015-09-16 11:24:29 -07:00
28484e3a39 Updated French translation 2015-09-16 19:55:25 +02:00
603ea3b3e7 wayland: Avoid running stale cursor animation timeouts
gdk_wayland_device_update_window_cursor() is inconsistently returning
TRUE/FALSE, despite the timeout being always replaced for new cursor
frames. This could end up in these timeouts being "leaked" and running
as long as the window has an animated cursor.

Fix this by making it really sure we return G_SOURCE_REMOVE, although
now we keep track of animation delays, so the timeout will be reused
for constant time animations.
2015-09-16 19:19:49 +02:00
63e255e7b5 widget: Cancel also denied sequences
It makes no sense to skip denied sequences here, the gestures are
still carrying out the accounting for these, which must be also put
to an end if we're possibly not receiving any further events from
this sequence.

https://bugzilla.gnome.org/show_bug.cgi?id=754098
2015-09-16 19:16:39 +02:00
3aaf730901 widget: Fix propagation of gesture cancellation on widget unrealize/destroy
At the time event_check_cancel_sequence_on_hierarchy() is called, the widget
has been already unparented. Given the widget itself is being destroyed,
cancellation on it is impending in one way or another, we still must
propagate cancellation across all parents, so retrieve it early before
possible widget destruction.

https://bugzilla.gnome.org/show_bug.cgi?id=754098
2015-09-16 19:14:10 +02:00
5b6360ebb2 scrolledwindow: Set the scrollbar as "over" immediately during slider grabs
Otherwise it's attempted through a timeout, which gets cancelled early after,
and the slider disappears after a while with no mouse activity despite the
ongoing implicit grab.

Once the grab is finished, check_update_scrollbar_proximity() will be called
again on both scrollbars, and the fade out animation will be triggered as a
result.

https://bugzilla.gnome.org/show_bug.cgi?id=754745
2015-09-16 19:14:10 +02:00
450056cdfe file chooser: Avoid a crash
When right-clicking in an empty folder, you should get a context
menu, not a crash. The code for positioning the popover was not
handling the eventuality of no row under the pointer. Just position
the popover right at the click location in this case.

https://bugzilla.gnome.org/show_bug.cgi?id=755021
2015-09-16 07:41:02 -07:00
ee8eb91523 widget path: Don't leak sibling paths 2015-09-15 19:33:49 -04:00
28c9f3d5da Plug another memory leak 2015-09-15 19:33:49 -04:00
3db98fe23c Plug a memory leak 2015-09-15 19:33:49 -04:00
e14990ba57 Update Persian translation 2015-09-15 21:15:46 +04:30
283ac9dc98 Update Persian translation 2015-09-15 21:09:21 +04:30
d8d0188e86 css shadows: Cache blured masks for the corners of outset shadows
A lot of time was spend rendering the shadows on windows with CSD, in
particular the corner pieces, since they are the largest parts. This
patch catches this particular case and caches the pre-rendered blur
masks.

This makes the shadow code go from 25% to 8% of the time when resizing
gtk3-demo.
2015-09-15 16:05:50 +02:00
f31e20247f css shadows: Break out side & corner shadows into helper functions
This changes nothing, but makes the code a bit easier to read
2015-09-15 16:05:50 +02:00
9a33e531c5 ui: Remove border from dialogs again 2015-09-15 14:07:47 +02:00
9a4990f4ca MSVC Builds: "Add" Visual Studio 2015 Projects
"Add" Visual Studio 2015 projects by what we did before: Copy the Visual
Studio 2010 project files and replace the items in there as needed, as
the formats of the 2010 and 2015 projects are largely the same.
2015-09-15 19:59:14 +08:00
d9a738dfac gtk-demo: Fix drawing of gestures demo feedback on CSD windows
It was wiping the translation initially applied to the cairo_t, so
pick that up first before applying our own matrix changes.
2015-09-15 13:23:53 +02:00