Commit Graph

35932 Commits

Author SHA1 Message Date
Carlos Garnacho
f4a38d30a3 x11: Unset GdkX11DeviceXI2 scroll valuators on device change
Scroll valuators were being just appended again and again, leading
to 1) a growing memory issue anytime a device changed 2) the first
scroll valuators to stay permanent on the application lifetime, as
the first stored valuators would always match.

https://bugzilla.gnome.org/show_bug.cgi?id=705203
2013-11-25 17:57:26 +01:00
Carlos Garnacho
d240df6f57 x11: keep track of the screen pixel size by calculating the bounding box of monitors
This is so we always have the latest information given by XRandR (or other), and not
rely on Core protocol information that might not have been updated yet.

This is specially visible when a monitor is connected (less frequent) or disconnected
(much more frequent), callbacks on GdkScreen::monitors-changed that call
gdk_screen_get_width/height() could get the screen size previous to the monitor
rearrangement.

So in order to fix this, keep track of the latest monitors information, and calculate
the bounding box in order to know the screen size.

https://bugzilla.gnome.org/show_bug.cgi?id=715029
2013-11-25 17:40:24 +01:00
Benjamin Otte
0cbcade19a stack: Fix crash on g_object_get("visible-child")
priv->visible_child is not a GtkWidget but a custom struct holding the
widget. So use the getter instead.
2013-11-25 03:56:57 +01:00
Carlos Garnacho
674ac5b1a5 combobox: Set GDK_SCROLL_MASK on the eventbox in appears-as-list mode
This is so the scroll wheel works in both modes, and there's no behavioral
change depending on a style property.

https://bugzilla.gnome.org/show_bug.cgi?id=702663
2013-11-20 13:22:34 +01:00
Daniel Mustieles
ff73a9e1c1 Updated Spanish translation 2013-11-20 13:11:22 +01:00
Carlos Garnacho
3a36c93840 gdk: Ignore crossings generated by passive grabs when resetting scroll axes
Passive grabs may take pointer focus out of the application, even though
the pointer didn't leave the window, but those events still trigger resetting
of the scroll axes. This is most visible with compiz, and possibly other
reparenting WMs, where passive grabs happen on the WM-managed window that
is a parent of the application toplevel.

As it is not possible to have scrolling happening on the timespan a passive
grab takes action, it is entirely safe for GTK+ to assume none happened if
it gets a crossing event of that nature.

https://bugzilla.gnome.org/show_bug.cgi?id=699574#c33
2013-11-19 00:15:05 +01:00
Carlos Garnacho
70ae9f273e gdk: be more selective resetting scroll events
It's been reported in several applications that scrolling feels jerky
since commit cc7b3985b3.

Investigation reported that the combination of passive 4-7 button grabs
on the toplevel and the presence of native subwindows might trigger
too often crossing events from the child window to the toplevel and
back as scroll "buttons" trigger the passive grab. Those crossing events
would reset the scroll valuators rendering scrolling from jerky on
touchpads (where there's intermediate smooth events between the emulated
button ones) to ineffective on regular mouse wheels (where the crossing
event would reset the valuators right before the single smooth scroll
event we get is delivered)

So, only reset scroll valuators when the pointer enters the toplevel
(we only care about this when the pointer is on the window after it's
been possibly scrolling somewhere else), and it doesn't come from an
inferior.

The situations where this happened varied though, the native subwindow
could be one created explicitly by the application, or created indirectly
through gdk_window_ensure_native(). The latter was mainly the case for
evolution (through gtk_selection_set_owner()) and any GtkScrolledWindow
under the oxygen-gtk3 theme (through gdk_window_set_composited())

https://bugzilla.gnome.org/show_bug.cgi?id=699574
2013-11-19 00:14:52 +01:00
Piotr Drąg
14a9c6682b Updated Polish translation 2013-11-16 18:46:19 +01:00
Rafael Ferreira
a6a31acb4f Updated Brazilian Portuguese translation 2013-11-16 01:10:07 -02:00
Matthias Clasen
a180040ad9 GtkAboutDialog: Fix a corner case of link highlighting
GtkAboutDialog highlights emails written as <...> and
urls written as http://... . gnome-terminal manages to
put <http://...> into its license text, which sadly
confuses the parser into running evolution on http://...

Fix things up far enough that <http://...> is now
recognized as url, and only the part inside the <> is
underlined (for email addresses, we include the <> in
the underline).
2013-11-15 14:54:39 -05:00
Matthias Clasen
80f03f8833 Bump version 2013-11-15 11:55:40 -05:00
Matthias Clasen
77b1b6c4ea 3.10.4 3.10.4 2013-11-15 07:53:03 -05:00
Matthias Clasen
9bb7a8e7e0 Win32: Set the shows-desktop platform setting
Win32 shows icons on the desktop, so set shows-desktop
to TRUE here.
2013-11-15 07:53:03 -05:00
Matthias Clasen
19e3ebf232 Quartz: Set the shows-desktop platform setting
OS X shows icons on the desktop, so set this setting
to TRUE here.
2013-11-15 07:53:03 -05:00
Matthias Clasen
b02bfb4848 GtkSettings: make show-desktop default to FALSE
This broke tests.
2013-11-15 07:53:03 -05:00
Cosimo Cecchi
5a100f77b6 GtkPlacesSidebar: don't unref an object we don't own
gtk_settings_get_default() doesn't return a reference, so don't unref it
during dispose.
2013-11-14 22:48:54 -05:00
Ryan Lortie
024058ec18 GtkPlacesSidebar: use shell-shows-desktop setting
Use the just-added shell-shows-desktop GtkSetting to determine if we
should also show the "Desktop" folder in the places sidebar.

https://bugzilla.gnome.org/show_bug.cgi?id=712302
2013-11-14 15:06:32 -05:00
Ryan Lortie
6616677bd2 Add a GtkSetting for 'shell-shows-desktop'
Add a GtkSetting for whether the desktop shell is showing the desktop
folder icons.

This is on by default because most desktop shells do show the icons on
the desktop.  We already have a patch in gnome-settings-daemon to bind
this to the org.gnome.desktop.background show-desktop-icons GSettings
key which is off by default on GNOME.

https://bugzilla.gnome.org/show_bug.cgi?id=712302
2013-11-14 15:06:31 -05:00
Piotr Drąg
c2be19189d Updated Polish translation 2013-11-14 19:21:02 +01:00
Bastien Nocera
7c2bc0fef8 GtkPlacesSidebar: Show unmounted bookmarks
The GtkFileInfo is only used if there's no bookmark name,
or to get the icon for the remote share or local folder.

https://bugzilla.gnome.org/show_bug.cgi?id=711548
2013-11-14 00:13:51 -05:00
Matthias Clasen
2bd87a733b Silence a compiler warning 2013-11-14 00:13:51 -05:00
Matthias Clasen
80ed6b84d6 GtkFileChooser: propagate local-only to sidebar
This fixes a regression from the sidebar merge.
2013-11-14 00:13:51 -05:00
Matthias Clasen
aac0aeac68 Filter out duplicate application shortcuts
The file chooser used to do this, the places sidebar
still needs to learn it.

https://bugzilla.gnome.org/show_bug.cgi?id=711636
2013-11-14 00:13:51 -05:00
Matthias Clasen
f81c6aaef2 GtkPlacesSidebar: Add local-only
This is necessary to implement the filechooser property
of the same name.

https://bugzilla.gnome.org/show_bug.cgi?id=711574
2013-11-14 00:13:44 -05:00
Matthias Clasen
cf418dd5df Update coding style
gtkplacessidebar.c was looking foreign.

Conflicts:
	gtk/gtkplacessidebar.c
2013-11-13 23:39:08 -05:00
Matthias Clasen
c5b6a2e0b6 Properly set drop targets
Pointed out in by Nelson Benitez in bug 707679.
2013-11-13 23:36:27 -05:00
Sebastien Bacher
357357f8a1 Clean incorrect "_" use in the french translation
https://bugzilla.gnome.org/show_bug.cgi?id=712213
2013-11-13 16:33:29 +01:00
Matthias Clasen
2118643429 GtkApplicationWindow: avoid mis-allocation
In the fallback case, we were adding the border width of the
window twice, causing the content to be mis-positioned and
cut off in some cases.

https://bugzilla.gnome.org/show_bug.cgi?id=710909
2013-11-12 21:03:43 -05:00
Lars Uebernickel
9e58d31423 GtkMenuTracker: set action namespace correctly
gtk_menu_tracker_add_items() fetched the action-namespace from the menu
item, but didn't pass it into gtk_menu_tracker_section_new() when its
internal namespace was still NULL.

https://bugzilla.gnome.org/show_bug.cgi?id=712164
2013-11-12 15:43:09 -05:00
Matthias Clasen
27318ef89e treeview: fix dragging of columns in mutter
Don't recurse the mainloop in _gtk_tree_view_column_start_drag().
It doesn't serve any discernible purpose, and recursing the
mainloop from the flush-events phas of the frame clock breaks
frame synchronization with mutter.

https://bugzilla.gnome.org/show_bug.cgi?id=705176
2013-11-11 23:18:59 -05:00
Olivier Brunel
04d896296d gtkpixelcache: Fix possibly ignoring queued redraw
If a queue_redraw() (invalidating a region, or the whole widget) was
called from the draw() call, it could get ignored if surface_dirty
existed, as it would then be updated, but destroyed right at the end of
the _gtk_pixel_cache_repaint(), leading the next call to
_gtk_pixel_cache_draw() have its call to repaint() be a no-op
(since there's no surface_dirty) and then simply draw from (non
updated) surface.

Signed-off-by: Olivier Brunel <jjk@jjacky.com>

https://bugzilla.gnome.org/show_bug.cgi?id=711545
2013-11-11 23:18:47 -05:00
Matthias Clasen
5451bee320 Bump version 2013-11-11 10:00:51 -05:00
Matthias Clasen
076788f440 Revert "Bump version"
This reverts commit 77d6c28521.
2013-11-11 10:00:31 -05:00
Matthias Clasen
77d6c28521 Bump version 2013-11-11 09:59:57 -05:00
Matthias Clasen
08aafd2bea 3.10.3 3.10.3 2013-11-11 09:20:50 -05:00
Jonh Wendell
713e798419 toolbar: implement minimum and natural sizes in _get_preferred family
currently it's using the same sizes for natural and minimum, but it
happens that, when it's allowed to use the arrow, the minimum size
can be smaller than natural.

https://bugzilla.gnome.org/show_bug.cgi?id=693227
2013-11-11 09:07:51 -05:00
Marc-André Lureau
550deb348a gdk/win32: remove extra allocation for \r removal
Although I can't find explicit documentation for clipboard pointer, it
seems to be possible to modify clibpoard memory without side-effects.

According to MSDN,
http://msdn.microsoft.com/en-us/library/windows/desktop/aa366596%28v=vs.85%29.aspx

"The global and local functions are supported for porting from 16-bit
code, or for maintaining source code compatibility with 16-bit
Windows. Starting with 32-bit Windows, the global and local functions
are implemented as wrapper functions that call the corresponding heap
functions using a handle to the process's default heap."

"Memory objects allocated by GlobalAlloc and LocalAlloc are in private,
committed pages with read/write access that cannot be accessed by other
processes. Memory allocated by using GlobalAlloc with GMEM_DDESHARE is
not actually shared globally as it is in 16-bit Windows. This value has
no effect and is available only for compatibility. "

https://bugzilla.gnome.org/show_bug.cgi?id=711553
2013-11-11 09:07:42 -05:00
Carlos Garcia Campos
c2295bfde1 gtkprintbackendfile: Check the GtkPrintSettings passed to file_printer_get_options is not NULL before using it
https://bugzilla.gnome.org/show_bug.cgi?id=703784
2013-11-11 09:07:34 -05:00
Timm Bäder
f23e1cdde5 GtkListBox: Expand the placeholder
https://bugzilla.gnome.org/show_bug.cgi?id=711255
2013-11-11 09:07:26 -05:00
David King
273d4b7cc2 stack: Use g_object_notify_by_pspec()
https://bugzilla.gnome.org/show_bug.cgi?id=711611
2013-11-11 09:07:16 -05:00
David King
8e7516ac85 stack: Use g_object_class_install_properties()
https://bugzilla.gnome.org/show_bug.cgi?id=711611
2013-11-11 09:07:10 -05:00
Chenthill Palanisamy
bd9ed0462c Do not reset the waiting_for_printer on status change
* gtk/gtkprintunixdialog.c (printer_status_cb): Do not reset the
waiting_for_printer on status change as the default printer might
get added later.

https://bugzilla.gnome.org/show_bug.cgi?id=577642
2013-11-11 09:06:13 -05:00
Cody Russell
1b116f66a0 Win32: Honor the geometry when GDK_HINT_MAX_SIZE is set.
The MINMAXINFO struct was being populated based upon geometry hints when
GDK_HINT_MAX_SIZE flag was enabled, then promptly having its values blown
away with default values.

https://bugzilla.gnome.org/show_bug.cgi?id=711110
2013-11-11 09:03:44 -05:00
Matthias Clasen
0f775656ad Make treeview cursor handling a bit more robust
Clearing the model in a GtkTreeSelection::changed handler was
crashing. While it is not a 100% kosher thing to do, lets be
more robust here.
2013-11-11 09:01:32 -05:00
Jasper St. Pierre
76f585e086 gdkwindow-x11: Don't set WM_TAKE_FOCUS if accept_focus is FALSE
Otherwise, we'll be in the "Globally Active" mode instead of the
"No Input" mode.

https://bugzilla.gnome.org/show_bug.cgi?id=710389
2013-11-11 08:58:38 -05:00
Jasper St. Pierre
feaae5db5e stackswitcher: Only show a button if the stack child is visible 2013-11-11 08:57:48 -05:00
Khaled Hosny
fda16462cf Fix accelerators 2013-11-05 01:00:30 +02:00
Dimitris Spingos
08357036b6 Updated Greek translation 2013-11-04 10:04:17 +02:00
Alexander Larsson
e92d13551b GtkWidget: Fix clipping to large subwindows
_gtk_widget_draw_internal() was clipping by passing the subwindow
sizes as a path to cairo_clip(). This was breaking for windows
larger than 23 bits in width/height, due to cairo using fixed point
(24.8) for the path coordinates.

We fix this by pre-clipping the subwindow region to the existing
cairo clip region in the full 32bit gdkwindow precision. This fixes
the GooCanvas Large Items test.

https://bugzilla.gnome.org/show_bug.cgi?id=710958
2013-10-28 12:02:28 +01:00
Matthias Clasen
8ee2c87acb Respect deprecated button images setting
I have been convinced that it is a bad idea to change the behaviour
at the same time as deprecating it, so go back to respecting the
Gtk/ButtonImages xsetting in buttons created with
gtk_button_new_from_stock() when it is set.

The setting as well as the function are still deprecated, and the
default value of the setting will remain FALSE.
2013-10-24 20:37:43 -04:00