Commit Graph

34138 Commits

Author SHA1 Message Date
Matthias Clasen
09ed01e8a7 3.8.8 3.8.8 2013-11-26 20:47:50 -05:00
Marek Kasik
9feda1c92c printing: Fix memory leak when listing Avahi printers
Return values of g_variant_get_child_value() were not unreffed
correctly together with one value returned by g_variant_get().
Use g_variant_get_data() instead of copying each byte separately.

https://bugzilla.gnome.org/show_bug.cgi?id=712799
2013-11-26 14:23:44 +01:00
Carlos Garnacho
0f02cd2bcb 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:54:07 +01:00
Carlos Garnacho
a20e7634b6 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:44:16 +01:00
Matthias Clasen
e8b69526c2 3.8.7 3.8.7 2013-11-20 20:06:16 -05:00
Matthias Clasen
c66f194d05 Don't distribute gdbus-generated sources
These are supposed to be regenerated at build time,
to avoid dependencies on the dist-systems glib version.
2013-11-20 20:06:11 -05:00
Matthias Clasen
c55784626a 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-20 19:28:18 -05:00
Carlos Garcia Campos
29d6eec09a 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-20 19:27:48 -05:00
Chenthill Palanisamy
a2420a40da 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-20 19:27:31 -05:00
Matthias Clasen
7e0434cfcd 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-20 19:27:17 -05:00
Carlos Garnacho
d95b84c0ea 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:26:06 +01:00
Carlos Garnacho
81b7c4e40b 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:29 +01:00
Carlos Garnacho
198ad4df90 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:15:18 +01:00
Matthias Clasen
cf962321e8 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 17:06:15 -05:00
Sebastien Bacher
4b880d50f1 Clean incorrect "_" use in the french translation
https://bugzilla.gnome.org/show_bug.cgi?id=712213
2013-11-13 16:34:12 +01:00
Lars Uebernickel
37675d8227 GtkModelMenu: don't leak submenus
gtk_container_remove_child() is not enough to break the reference cycle
between the removed menu item and the submenu that is attached to it.
Use gtk_widget_destroy() instead.

https://bugzilla.gnome.org/show_bug.cgi?id=710754
2013-10-25 10:03:00 -04:00
Bastien Nocera
d4c049059f GtkScrolledWindow: Disconnect from frame clock properly
The tick callback IDs from GtkWidget aren't timeouts, so
use the correct function to disconnect from them.

Spotted by Benjamin Otte <otte@redhat.com>

https://bugzilla.gnome.org/show_bug.cgi?id=710666
2013-10-23 15:24:37 +02:00
Bastien Nocera
2ca82e6ddf GtkWidget: Avoid lingering clock frame updates
For some widgets, like GtkTreeView, which setup a clock frame
update during realize, it was possible to call
gdk_frame_clock_begin_updating() twice, but only ever disconnecting
from it once. This happens because the realized flag is set at an
unpredictable time by the GtkWidget's realize implementation.

Keep the signal handler ID from us connecting to the "update" signal
to avoid connecting to it twice.

This fixes high wake-up count from any application using GtkTreeView,
even idle ones.

https://bugzilla.gnome.org/show_bug.cgi?id=710666
2013-10-23 15:24:32 +02:00
Matthias Clasen
2898b2bbd8 Bump version 2013-10-16 21:32:05 -04:00
Matthias Clasen
a411d6b199 3.8.6 3.8.6 2013-10-16 20:34:12 -04:00
Olivier Brunel
4c691ac8f8 tooltip: Fix possible wrong placement
When showing a tooltip on the edge of a monitor, the tooltip could be wrongly
placed and be shown going from one monitor to the next.

This happened because the current_window wasn't set visible, and when it wasn't
the returned allocated size would be 1, hence wrong calculations.

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

https://bugzilla.gnome.org/show_bug.cgi?id=698730
2013-10-16 19:54:20 -04:00
Yosef Or Boczko
16be72eb13 Fix a warning
The PangoWrapMode enum has identical layout to GtkWrapMode,
but using the two interchangably causes (justified) compiler
warnings.

https://bugzilla.gnome.org/show_bug.cgi?id=709697
2013-10-16 19:54:06 -04:00
Matthias Clasen
4c796df901 Set an error when loading a GtkIconInfo fails
Failure to do so leads to assertion failures.
https://bugzilla.gnome.org/show_bug.cgi?id=710073
2013-10-16 19:53:33 -04:00
Matthias Clasen
fc4263535b Fix a crash in icon handling
The load_error was freed in two places.
Fix based on a patch in
https://bugzilla.gnome.org/show_bug.cgi?id=709967
2013-10-16 19:52:41 -04:00
Matthias Clasen
13a56fb3a2 Bump version 2013-10-10 20:16:12 -04:00
Matthias Clasen
5135522de6 3.8.5 3.8.5 2013-10-10 19:55:43 -04:00
Timothy Arceri
caadbdf630 Remove unused function
https://bugzilla.gnome.org/show_bug.cgi?id=586107
Signed-off-by: Timothy Arceri <t_arceri@yahoo.com.au>
2013-10-10 17:58:52 -04:00
Timothy Arceri
f6f23149a2 Remove a bunch of unused variables.
https://bugzilla.gnome.org/show_bug.cgi?id=586107
Signed-off-by: Timothy Arceri <t_arceri@yahoo.com.au>
2013-10-10 17:58:37 -04:00
Timothy Arceri
0bddd31389 Dont set enum to NULL fixes build issues on Solaris 10
https://bugzilla.gnome.org/show_bug.cgi?id=586107
Signed-off-by: Timothy Arceri <t_arceri@yahoo.com.au>
2013-10-10 17:58:31 -04:00
Timothy Arceri
4de2154368 Reorder message in configure.ac to display result on the same line
https://bugzilla.gnome.org/show_bug.cgi?id=341146

Signed-off-by: Timothy Arceri <t_arceri@yahoo.com.au>
2013-10-10 17:58:18 -04:00
William Jon McCann
84a651caf1 Fix typo in gtk-win32-base.css 2013-10-10 17:57:59 -04:00
Cosimo Cecchi
80aca3be77 entrycompletion: set the GtkWindow as attached to the GtkEntry
This way themes can easily select that window to apply custom styles.

https://bugzilla.gnome.org/show_bug.cgi?id=708414
2013-10-10 17:56:50 -04:00
Cosimo Cecchi
ce69a803a7 icontheme: use g_file_load_contents() for symbolic icons
When loading a symbolic icon, g_file_get_contents() is currently used
with the icon pathname, to load its SVG data. This won't work when the
icon is not a local file, for instance when a symbolic icon is loaded
from a GFileIcon with a GResource path.
Fortunately GtkIconInfo already holds a GFile, so we can just use
g_file_load_contents() to load the data instead.

https://bugzilla.gnome.org/show_bug.cgi?id=709056
2013-10-10 17:56:41 -04:00
Ryan Lortie
5e556d778a GtkTreeViewColumn: start padding at 0
If we start with a padding of -1 then it can leak out of the size
allocation request for the column when the treeview is empty.  The
GtkTreeView will then collect these -1 values and add them together,
returning -n where 'n' is the number of columns.

This is usually not a problem because treeviews tend to be used with a
scrollbar and the width of the scrollbar will be added to this number
bringing it into positive territory again.  On Ubuntu, with overlay
scrollbars, this is not the case, however.

https://bugzilla.gnome.org/show_bug.cgi?id=703062
2013-10-10 17:55:28 -04:00
Philip Chimento
5b2e44fd44 Don't activate GtkExpander if mouse dragged away
Previously, when you clicked and held the button down on a
GtkExpander's label or disclosure triangle, then moved the mouse
away and released the button, the expander would still activate.
This brings the behavior in line with the more generally expected
behavior, as exhibited by GtkButton for example.

https://bugzilla.gnome.org/show_bug.cgi?id=706345
2013-10-10 17:53:43 -04:00
Matthias Clasen
124e43d078 Clarify GtkH/VBox documentation
Make it clearer that GtkBox still has uses.

https://bugzilla.gnome.org/show_bug.cgi?id=706269
2013-10-10 17:53:28 -04:00
Murray Cumming
2f66920b54 GtkWidget: Improve drag-leave and drag-data-received docs.
* gtk/gtkwidget.c: drag-leave signal: Document that it is called before
      drag-drop.
      drag-data-received signal: Document that it is up to the application
      to know why the data was requested (e.g. drag motion or drop).
    * demos/gtk-demo/toolpalette.c: interactive_canvas_drag_drop():
      Do not transform the drop_item created in the drag-motion handler.
      Instead caused drag-data-received to be called, remembering why,
      and create a new item there.
      interactive_canvas_drag_leave(): Remove the idle-handler hack,
      now that we do not need to keep the drag-motion drop_item alive until
      the drop.

I noticed that this patch was sitting in bug #605611 from 2009
though it had been approved. I do not remember much about why I
created it.
2013-10-10 17:52:34 -04:00
Carlos Garcia Campos
41ba15bbf2 gdkdisplay-x11: Do not pass a NULL source device to _gdk_display_device_grab_update
Pass the master device instead if the last slave is NULL. This is
unlikely to happen in most of the cases, but can happen when running
unit tests where there's no pointer interaction to update the last
slave.

https://bugzilla.gnome.org/show_bug.cgi?id=696756
2013-10-10 17:52:20 -04:00
Sébastien Wilmet
1e80b89c9c Improve doc of gtk_text_buffer_paste_clipboard()
It didn't explain the behavior when there is a non-empty buffer
selection.

https://bugzilla.gnome.org/show_bug.cgi?id=339539
2013-10-10 17:51:54 -04:00
Sébastien Wilmet
28baa6de5a textbuffer: add unit tests for the clipboard
It tests gtk_text_buffer_paste_clipboard(),
gtk_text_buffer_copy_clipboard() and gtk_text_buffer_cut_clipboard() in
various situations, including when GtkTextTags are applied to the
selection.

The last test didn't pass.

https://bugzilla.gnome.org/show_bug.cgi?id=339539
2013-10-10 17:51:46 -04:00
Sébastien Wilmet
a50151e0df textbuffer: fix selection replacement when pasting
It is more logical to first delete the selection and then pasting the
text. When the selection and the text contain tags, the new behavior is
more natural.

A segfault in paste_from_buffer() is also avoided. The segfault occurs when
the text to paste is deleted because it is the selection.

https://bugzilla.gnome.org/show_bug.cgi?id=339539
2013-10-10 17:51:34 -04:00
Alejandro Piñeiro
fe45e8c048 a11y: Remove default description from GtkSwitch
https://bugzilla.gnome.org/show_bug.cgi?id=707926
2013-10-10 17:50:23 -04:00
Alejandro Piñeiro
bb1d313dfe a11y: not using default name for switch
A proper name or label is required. In the same way, if the
widget is labelled, ATs uses to expose both the label and the
name, making the final output not really user-friendly.

https://bugzilla.gnome.org/show_bug.cgi?id=707872
2013-10-10 17:50:03 -04:00
Behdad Esfahbod
f68ad7b45a [gdkcairo] Fix color premultiplication
https://bugzilla.gnome.org/show_bug.cgi?id=513812
2013-10-10 17:45:57 -04:00
Jasper St. Pierre
d16b9f99eb gdkframeclockidle: Add explicit fallthrough markers
So people reading the code don't get confused.
2013-10-10 17:44:57 -04:00
Mike Gorse
b4e4e211a6 a11y: Check whether a widget is mapped before querying its parent
Call gtk_widget_get_mapped() in a couple of places before looking at the
widget's parent, since it might be set to a widget that has been
finalized, causing an invalid read.
2013-10-10 17:44:27 -04:00
Bastien Nocera
0764f75dee icon-theme: Fix 2 memory leaks in GtkIconInfo
https://bugzilla.gnome.org/show_bug.cgi?id=709264
2013-10-02 17:18:29 +02:00
Bastien Nocera
ad29977bf7 icon-theme: Use g_clear_* helpers in finalize
https://bugzilla.gnome.org/show_bug.cgi?id=709264
2013-10-02 17:18:11 +02:00
Piotr Drąg
0f661e1458 Import po-properties/gd.po from master
You can't have po/gd.po without po-properties/gd.po, because it
breaks the build.
2013-09-23 00:38:05 +02:00
GunChleoc
9000fa1f81 Added Scottish Gaelic translation 2013-09-20 12:01:05 -06:00