Commit Graph

21388 Commits

Author SHA1 Message Date
Michael Natterer
1a2509a6ab quartz: move tooltips window to the topmost level
so they can appear on top of popup menus. Also, reorder the switch()
statement in window_type_hint_to_level() so it resembles the stacking
order, to avoid confision like this in the future.
2012-11-18 17:45:12 +01:00
Kristian Rietveld
e982461ad6 quartz: correct deficiencies in the gdk_draw_drawable() implementation
The call to scrollRect: must be accompanied by a call to redraw the
newly exposed area, otherwise the scrollRect: will have no effect.
Secondly, compute the newly exposed area correctly.
Thirdly, also expose the lower window border or the area moved from
the lower window border if applicable, to make sure rounded corners
are properly drawn or don't leave garbage.
2012-11-15 14:59:11 +01:00
Kristian Rietveld
4d01c56d89 quartz: add _gdk_quartz_window_set_needs_display_in_region
It's needed for the next commit, which is an actual fix.
2012-11-15 14:49:25 +01:00
Michael Natterer
43e1354b71 quartz: filter out button press events on the window frame
Don't try to handle button press events on the window frame, they
have out-of-window coordinates. Also, break grabs on such events
so popup menus go away.
Patch from Kristian Rietveld, fixes bug 684419.
2012-11-15 11:34:15 +01:00
Michael Natterer
47f0e3f1e1 quartz: move SPLASHSCREEN-hinted windows to NSStatusWindowLevel
which does not really have a different effect than the previously
used NSPopUpMenuWindowLevel, but is what all code examples I found
are using, and it does make more sense.
2012-11-13 20:01:05 +01:00
Timothy Arceri
0239ee50be Remove bookmark duplicate of shortcut
Application code can set shortcut folders that are already bookmarks.
This code causes the bookmarks to be refreshed after the shortcut is
added removing any possible bookmark duplicates

https://bugzilla.gnome.org/show_bug.cgi?id=577806
2012-11-13 12:56:28 -06:00
Michael Natterer
5934ad2e22 quartz: _gdk_quartz_gc_update_cg_context(): the minimum line width is 1.0
not G_MINFLOAT. Patch from Kristian Rietveld.
2012-11-08 15:00:38 +01:00
Michael Natterer
376fc4d712 gtk: clean up properly in GtkFileChooserEntry's dispose() to fix crashes
Don't just unref the completion_store, call discard_completion_store()
instead which also unsets it as the GtkEntryCompletion's model.  Fixes
bug 681845 and probably some others, because the situation in this bug
is completely common.
2012-11-05 20:15:17 +01:00
Michael Natterer
c5421263e4 gail: use connect_object() for connecting to GtkTextBuffer signals
because the user_data is the GtkTextView. This used to crash when the
text view got destroyed, and the buffer was used for another view.
Fixes bug #652204.
2012-11-05 03:19:50 +01:00
Cosimo Cecchi
de89546e30 Use bookmarks file from gtk-3.0 XDG config dir if present
Will read from old location if new location isn't found, and will always
write back to the original location the file was read from.

Adapted from commit ceb3fecd11 on the
master branch, based on a patch from
William Jon McCann <jmccann@redhat.com>
2012-10-29 09:52:26 -04:00
Alexander Larsson
bb867e9406 win32: Don't leak the pixmap cairo_surface
GdkPixmapWin32 allocates a cairo_surface manually for non-foreign
pixmaps, instead of letting GdkDrawableWin32 create on on-demand.
However, the pixmap created surface is a strong ref, rather than the
weak ref created by gdk_win32_ref_cairo_surface() so we can't rely
on _gdk_win32_drawable_finish to actually free it. So, we have to
manually free it when we finalize or we leak it.

https://bugzilla.gnome.org/show_bug.cgi?id=685959
2012-10-24 12:43:27 +02:00
Hendrik Knackstedt
85bb1a161c Updated German translation 2012-10-19 13:38:27 +02:00
Kristian Rietveld
0e42cf81f1 quartz: Actually use the window background PATTERN color
Before we used a window's background color, which resulted in corrupted
display in some cases, presumably because we didn't reset the active
pattern. This patch seems to eliminate the observed corruption.
2012-10-09 16:16:42 +02:00
Chun-wei Fan
b9575dddfd gtk+.props: (VS2010) Update include paths
Correct the include paths for GDK-Pixbuf, as that update was somehow
forgotten :|

Thanks to Berke Viktor for pointing this out.
2012-10-07 22:53:39 +08:00
Kristian Rietveld
92ea94af5f Fix garbage content when windows are initially mapped
The garbage would be visible if any widget enabled the toplevel
NSView's CALayer in order to do custom native rendering.
2012-09-28 10:07:59 +02:00
Matthias Clasen
9b61330380 Really move the docs to a new location
It turns out that library.gnome.org is looking for DOC_MODULE
when deciding how to name the directory. So, we have to change
that to gtk2/.
2012-09-27 20:12:21 -04:00
Chun-wei Fan
6389671336 Update Visual C++ property sheets
"Install" the gtk-demo program and data files more like the way done by the
autotools build.
2012-09-26 18:57:13 +08:00
Matthias Clasen
81bb13510b 2.24.13 2012-09-23 16:42:08 -04:00
Matthias Clasen
b8a49d1e87 Updates 2012-09-23 16:41:44 -04:00
Matthias Clasen
7336783e57 Change the location of the online docs
It is better to install these under gdk2/ and gtk2/, to make
it explicit what version they are about. Doing this will eventually
let us move the gtk3 docs to gtk/.
2012-09-23 15:04:06 -04:00
Chun-wei Fan
8f5ab02369 Visual C++ support: Add projeccts to build gailutil
This adds Visual C++ 2008/2010 projects to build the gailutil DLL, like
the 3.x releases.
2012-09-18 17:56:17 +08:00
Michael Natterer
79b3326eaa quartz: Bug 674108 - Hard crash due to wrong NSAutoreleasePool stacking
Apply patch from Kristian Rietveld which addresses two issues
in gdkeventloop-quartz.c:

This patch moves the autorelease pool drain and introduces protection against
the invalidated ufds. Basically, when we suspect ufds has been invalidated by a
recursive main loop instance, we refrain from calling the collect function.
2012-09-14 15:18:33 +02:00
Matthias Clasen
c8aa94f7a8 immulticontext: Always check if the global context id changed
This makes sure that if the gtk-im-module setting changes we update
our internal state immediately on the next event whichever it is.
In particular this fixes the case of the gtk-im-module setting
changing while the user is typing and the slave context remaining
the same, effectively ignoring the setting change.

Backport of a0f155e839.

https://bugzilla.gnome.org/show_bug.cgi?id=675365
2012-09-09 20:06:38 -04:00
Matthias Clasen
1533e67ae4 Try harder to discriminate Shift-F10 and F10
A change in xkeyboard-config 2.4.1 made it so that function keys
now have a shift level which has the same symbol, but 'eats' the
shift modifier. This would ordinarily make it impossible for us
to discriminate between these key combinations.

This commit tries harder to discriminate in 2 ways:
- XKB has a mechanism to tell us when a modifier should not be
  consumed even though it was used in determining the level.
  We now respect such 'preserved' modifiers. This does not fix
  the Shift-F10 vs F10 problem yet, since xkeyboard-config does
  not currently mark Shift as preserved for function keys.
- Don't consume modifiers that do not change the symbol. For
  the function keys, the symbol on the shift level is the same
  as the base level, so we don't consider Shift consumed.

For more background on the xkeyboard-config change, see
https://bugs.freedesktop.org/show_bug.cgi?id=45008

https://bugzilla.gnome.org/show_bug.cgi?id=661973
2012-09-09 18:49:18 -04:00
Kristian Rietveld
b4ddf24234 Implement gtk-primary-button-warps-slider GtkSetting
It replaces the recently added GtkRange:primary-button-warps-slider
style property. Implement the setting in the quartz backend,
it proxies the "click in the scroll bar to" property from the
OS X PrefPane.
2012-09-07 16:46:08 +02:00
Cosimo Cecchi
15999ec5f3 range: make condition consistent with GTK3
cc7abf6a1c introduced the
primary-button-warps-slider style property, but with a different
condition check than the GTK3 counterpart.
It turns out we really need to check for the mouse click location here,
or we'll warp the slider to pointer also in case we clicked on the
slider itself.

https://bugzilla.gnome.org/show_bug.cgi?id=683512
2012-09-06 12:03:17 -04:00
Piotr Drąg
1c401ea913 Updated Polish translation 2012-09-04 02:28:08 +02:00
Matthias Clasen
8b18b439af 2.24.12 2012-09-03 14:33:47 -04:00
Emmanuele Bassi
1070c5849e recent-manager: Coalesce multiple changes
Since the ::changed implementation of GtkRecentManager implies a
synchronous write operation, when we receive multiple requests to emit a
::changed signal we might end up blocking.

This change coalesces multiple ::changed emission requests using the
following sequence:

  • the first request will install a timeout in 250 ms, which will
    emit the ::changed signal

  • each further request while the timeout has not been emitted
    will increase a counter

      ‣ if the counter reaches 250 before the timeout has been
        emitted, then the RecentManager will remove the timeout
        source and force a signal emission and reset the counter

This sequence should guarantee that frequent ::changed emission requests
are coalesced, and also guarantee that we don't let them dangle for too
long.

https://bugzilla.gnome.org/show_bug.cgi?id=616997
2012-09-03 13:23:56 -04:00
Cosimo Cecchi
cc7abf6a1c range: add a primary-button-warps-slider style property
Setting this to TRUE (it's FALSE by default) enables the behavior we
have in GTK3 for scrollbars.

https://bugzilla.gnome.org/show_bug.cgi?id=683279
2012-09-03 11:56:58 -04:00
Piotr Drąg
88bfb0f59e Updated Polish translation 2012-08-31 20:45:02 +02:00
Cosimo Cecchi
af26ec6a73 tooltip: add tooltip-radius and tooltip-alpha style properties
This allows themes to change the tooltip opacity and radius. Based on a
downstream Fedora patch by Matthias Clasen.

https://bugzilla.gnome.org/show_bug.cgi?id=683070
2012-08-30 21:41:40 -04:00
Kristian Rietveld
3d5cd6e055 quartz: fix corruption during scrolling in some cases
A call to scrollRect must be followed by a call to set that the offset
rect needs display for the changes to "take effect". This was not
done prior to this patch which, in some cases, caused corruption during
scrolling.
2012-08-26 15:45:46 +02:00
Michael Natterer
c0c3085128 quartz: add evil casting to make sure time wraps correctly on 32bit machines
get_time_from_ns_event(): apply patch from Michael Hutchinson which
makes sure the returned guint32 wraps correctly on 32 bit machines
when the uptime exceeds 2^32 ms.
(cherry picked from commit 78506bd604)
2012-08-23 09:32:20 +02:00
John Ralls
48547aadef Bug 681784 Colorspaces used in gtk+ and cairo quartz backends do not
match

Changes inspired by parafin <help@imtrappedininternet.com>
Replace colorspace creation calls to match those used by Cairo.
2012-08-21 16:21:28 -07:00
YunQiang Su
fa98721182 fix an typo in zh_CN translation 2012-08-18 11:20:11 +08:00
Michael Natterer
ebe50bbecb gtk: ref the action around gtk_action_emit_activate()
for the same reason we already ref the action's group in the function.
2012-08-03 23:24:39 +02:00
Matthias Clasen
1d07ef714d Allow building with automake 1.12 2012-08-01 08:47:58 +02:00
Funda Wang
c2274c8912 fix bug#680901: translations of "even sheet" and "odd sheet" are wrong 2012-07-31 22:06:52 +00:00
Chun-wei Fan
3047719340 demos/gtk-demo/rotated_text.c: Remove C99ism 2012-07-26 17:15:23 +08:00
Matthias Clasen
a9fb816a3f Fix a case of 'stuck grab'
This was showing up when using a combo box in list mode. After popping
up the list, the keyboard grab appeared stuck. What was stuck here is
only the client-side grab, since we forgot to clean up our grabs
when receiving an UnmapNotify.

This bug was introduced in 3f6592f60f.

[ Alexandre Rostovtsev <tetromino@gentoo.org>: backport to 2.24 ]

https://bugzilla.gnome.org/show_bug.cgi?id=680346
2012-07-20 20:02:33 -04:00
Matthias Clasen
9a0fcd0f41 Bump version 2012-07-15 15:49:50 -04:00
Matthias Clasen
2b67dc0e8d Updates 2012-07-15 15:10:41 -04:00
Cosimo Cecchi
85f2a721cf pixbuf-engine: add a GtkRC option for widget direction
Add a GtkRC option to select for an LTR/RTL widget direction in the
pixbuf engine; this will allow the engine to apply different theming
assets according to the text direction, which is useful when theming
e.g. a spinbutton or a combobox entry.
2012-07-05 10:08:10 -04:00
Daniel Sabo
da324fa2d5 [Bug 676362] _gdk_quartz_image_copy_to_image always returns black for
the root window

Revised patch which doesn't depend upon NSRect being typdeffed from
CGRect (64-bit only).
2012-06-13 17:37:35 +01:00
Daniel Sabo
2f706868ff Bug 676362 - _gdk_quartz_image_copy_to_image always returns black...
Implement a special case for the root window, which has to be handled
differently on OS X.

Contains some bit fiddling corrections by Kristian Rietveld.
2012-06-11 21:10:19 +02:00
Kristian Rietveld
860499ce90 quartz: delay emission of EnterNotify until window position is known
Beforehand, the check whether or not emission is necessary was done
based on the "uninitialized" window position in the top left corner.
We now wait until the window size is set for the first time, to avoid
emitting EnterNotify when it is not necessary.
2012-06-11 21:10:19 +02:00
Matthias Clasen
0b59fbfb9d Allow fallback for input method modules
Accept a :-separated list of module names in GTK_IM_MODULE and
the corresponding setting, to deal a bit better with broken
situations.

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

Patch by Akira Tagoh, backported from GTK+ 3. The backport
is required because GTK+ 2 and 3 are listening to the same env
vars and settings for immodules.
2012-06-05 17:03:42 -04:00
Michael Natterer
b32a9eb691 GtkTreeView: make tree expanding/collapsing more robust
gtk_grab_remove() *after* we did the expanding/collapsing, otherwise
grab_notify() might kick in and mess with our state. Fixes bug #675835.
2012-05-31 11:02:09 +02:00
Michael Natterer
8750833e61 gtk-demo: add semikolon to make it build again 2012-05-27 23:05:30 +02:00