Commit Graph

21147 Commits

Author SHA1 Message Date
Michael Natterer
5f48cfe491 Bug 667691 - implement gdk_window_restack() for Quartz
Apply patch from Paul Davis which implements this missing function.
2012-01-26 10:15:27 +01:00
LRN
fc3cff11b5 win32: Draw arrows as polygons, not as rows of pixels
https://bugzilla.gnome.org/show_bug.cgi?id=665955
2012-01-25 16:51:28 +01:00
Dieter Verfaillie
fb87d9c901 win32: fix gdk_win32_window_raise
When calling gtk_window_present(), gdk_win32_window_raise did not
actually raise the window anymore. Replacing BringWindowToTop() with
SetForegroundWindow() fixes this.

During testing, we also discovered that sometimes SetForeGroundWindow()
will (correctly) refuse to raise the window and fail(for example: sometimes
when dragging a different application at the time of a gtk_window_present()
call). To prevent a GdkWarning from being produced, usage of the API_CALL
macro has been removed for this case.

Additional goodies of SetForeGroundWindow:
- it brings the window to the front when the process owning the
  window to raise is the foreground process (for example when
  gtk_window_present is called from a GtkStatusIcon's activate
  signal handler)
- it limits itself to flashing the task bar button associated
  with the window if the process owning the window to raise
  is *not* the foreground process (for example when gtk_window_present
  is called from a g_timeout_add callback function)

https://bugzilla.gnome.org/show_bug.cgi?id=665760
2012-01-25 12:47:04 +01:00
Javier Jardón
a3cbaa5956 Post release version bump 2012-01-24 20:29:12 +00:00
Javier Jardón
131f24a4f5 docs: Fix libgail-utils doc generation 2012-01-24 20:25:57 +00:00
Javier Jardón
745a9fc6fe Update NEWS 2012-01-24 19:23:25 +00:00
Benjamin Otte
b96f423343 modules: Fix memleak
Modules would leak if they were specified twice in the same command,
so ie this would leak:
  GTK_MODULES=gail,gail
2012-01-24 17:46:22 +01:00
Benjamin Otte
ab6007f052 modules: break when finding the right module
This way, we don't use the wrong module. In particular we don't screw up
refcounts that lead to crashes later on.
2012-01-24 17:46:14 +01:00
Stefan Sauer
308d195014 scale: Fix marks for inverted scales
This is a backport of the fix from gtk-3.
2012-01-20 21:57:21 +01:00
Stefan Sauer
9adc078e25 scale: remove the match argument from find_next_pos()
Using the 'pos' argument is enough.
2012-01-20 21:57:21 +01:00
Matthias Clasen
165d2c0ca2 Implement the editing-canceled property in GtkCellEditableEventBox
https://bugzilla.gnome.org/show_bug.cgi?id=639455
(cherry picked from commit 8f6a8441a2)
2012-01-20 11:47:50 +01:00
Michael Natterer
0488c28488 quartz: add virtual modifiers already in GDK, just as X11 does it
Key event states  will now always contain GDK_META_MASK in addition
to GDK_MOD2_MASK.
2012-01-19 16:17:13 +01:00
Benjamin Berg
85099bf6a6 Strip "Custom." prefix when getting default options from cups. 2012-01-17 20:34:42 +01:00
Carlos Garcia Campos
5123cfe5e6 printing: gtk_print_settings_load_key_file() ignores group_name 2012-01-11 15:46:15 +01:00
Stefan Sauer
03fae9086f scale: backport orientation fix for vertical scales 2012-01-09 18:39:13 +01:00
Stefan Sauer
92412d23b7 gtkscale: fix bogus compare func
The GtkScaleMark values are gdouble, a simple a-b compare func would fail for
values with the same integer value. This breaks the sorting and causes random
marker label placement.
2012-01-09 18:16:53 +01:00
Ryan Lortie
986072b361 introspection: Fix srcdir != builddir builds
https://bugzilla.gnome.org/show_bug.cgi?id=667458
2012-01-09 17:08:12 +01:00
Benjamin Berg
1e731a3400 Improve PICKONE_* handling in GtkPrinterOptionWidget (bug #543520)
This patch modifies GtkPrinterOptionWidget to support loading them
again. It also allows the user to enter values from the dropdown list
to select the item.
2012-01-06 00:18:38 +01:00
Benjamin Berg
8170436e61 Set cups Custom print options correctly (bug #543520, patch by Marek Kašík)
This patch fixes the cups print backend to pass Custom options with
the "Custom." prefix to cups if neccessary.
2012-01-06 00:18:37 +01:00
Matthias Clasen
fcd01e9718 Use the right icon-name for missing images
Patch by Erik van Pienbroek, bug 629878.
2012-01-05 14:30:48 -05:00
Matthias Clasen
2a9bf2619a Fix problems with DND on some X servers
When the X server does not support the shape extension (as some
vnc implementations seem to), our DND code was always seeing
an empty input shape, so drops always missed their target.

http://bugzilla.gnome.org/show_bug.cgi?id=620240
2012-01-03 11:03:45 -05:00
Javier Jardón
8f3f5fab27 migrating-GtkComboBox.sgml: Do not use deprecated API in the examples 2012-01-02 02:49:20 +01:00
Alexander Larsson
e9b0f9e81a [win32] Fix win32 theme crash on offscreen windows
We add _gdk_offscreen_window_get_real_drawable to get the real
pixmap impl for offscreen windows, then we use this
in gdkgc-win32.c:get_impl_drawable() for offscreen windows
This fixes a crash when rendering win32 theme parts on
offscreen windows (bug #623563)
2011-12-16 09:11:59 +01:00
Alexander Larsson
f8170ee873 Move GdkOffscreenWindow basic type info to gdkinternals.h
This is needed to handle runtime checks for GdkOffscreenWindows
outside of gdkoffscreenwindow.c
2011-12-16 09:11:58 +01:00
Federico Mena Quintero
400e53c568 bgo#662814 - Don't print a g_warning() when GtkRecentManager can't find a file
Also, *do* add the file to the recently-used list, even if the file does not
exist yet.  This is used from the Save dialog, so even shitty apps which don't
add the file to GtkRecentManager, will get the file added from the Save dialog.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-12-13 11:07:42 -06:00
Matthias Clasen
4eae58ab43 Revert be1eea612c
Calling gdk_keymap_add_virtual_modifiers causes _all_ virtual
modifiers to be added, which causes problem when they are co-located
on the same real modifier (as Super and Hyper often are). Effectively,
this made it impossible to enter key combinations involving Super,
since they all turn into Super+Hyper.
2011-12-08 12:46:55 -05:00
Matthias Clasen
7c9f317b64 Test some virtual modifiers
This adds some accelerators involving Super and Hyper to testmerge.
This helps in testing our accel matching for those.
2011-12-08 08:04:34 -05:00
Dieter Verfaillie
81955757bc win32: don't rely on GTK_IS_H* or GTK_IS_V_* macros
But use the orientable interface instead. This has already proven
usefull for GtkVolumeButton widgets (see previous commit) so apply
the same logic all over the place.
2011-12-07 20:01:18 +01:00
Dieter Verfaillie
60d471b2d0 win32: Fix vertical GtkVolumeButton widget rendering.
The trough was being rendered horizontal for vertical
GtkVolumeButton widgets. Not relying on GTK_IS_VSCALE
but using the orientable interface instead fixes this.
2011-12-07 20:01:12 +01:00
Dieter Verfaillie
af309a50af win32: correct the notebook tab gap_side vs tab_pos comment 2011-12-07 20:01:06 +01:00
Dieter Verfaillie
7cfefd6e98 win32: fix expander rendering for horizontal GtkToolItemGroups
Expanders are usually drawn as little triangles and unfortunately
do not support rotated drawing modes. So a hack is applied (see
gtk_tool_item_group_header_expose_event_cb for details) when
drawing a GtkToolItemGroup's header for horizontal GtkToolShells,
forcing the triangle to point in the right direction. Except we
don't draw expanders as triangles on Windows. Usually, expanders
are represented as "+" and "-". It sucks for "+" to become "-" and
the inverse when we don't want to, so reverse the hack here.
2011-12-07 20:01:00 +01:00
Dieter Verfaillie
d9906a9ac4 win32: clean up detail checks
By borrowing the DETAIL macro from clearlooks' clearlooks_style.c
2011-12-07 20:00:55 +01:00
Dieter Verfaillie
980133d732 win32: set msw-button child-displacement-x & y to 0 when XP theme is active
Active buttons have not had their contents (icon & label)
displaced ever since uxtheming became available in Windows XP.

We still care about this displacement for classic themes
though (even on Vista/7 where classic themes are used to
implement High Contrast support).
2011-12-07 20:00:41 +01:00
Dieter Verfaillie
3df3cafdbb win32: Make all GDK_WINDOW_TEMP always on top
This makes menus, popups and tooltips show above the windows
task bar.

Backported from commit 62b505174f
on master branch.
2011-12-07 20:00:35 +01:00
Dieter Verfaillie
f7354da574 win32: remove unused (and commented out) combo_box_draw_arrow 2011-12-07 20:00:26 +01:00
Alexander Larsson
ba8c4bb049 win32: Fix 16bit pixmaps
This reverts to the old dibsection creation code for 16bit depth.
This makes the non-cairo stuff work, we then access the bits as
a cairo image surface, which isn't 100% right, but might be good
enough.

Fixes bug 665013
2011-12-06 11:29:00 +01:00
Matthias Clasen
4fc684943b Fix gtk-demo drawingarea example
Patch by Martin Schlemmer, bug 665011.
2011-11-30 12:09:21 -05:00
Florian Müllner
26b749440b build: Add gmodule-2.0 dependency for gtk-query-immodules-2.0 2011-11-28 15:11:06 -05:00
John Ralls
7c77f9a69a [Bug 664238] GTK apps crash when dragging something
Corrects a bad condition in a test in fadc82ad.
2011-11-20 10:28:15 -08:00
Michael Natterer
2e06f63743 Bug 663856 - Make option-foo accelerators use the right symbol
If the keyboard group shifting modifier is *also* a normal
accelerator modifier, we need to special case it when calling
gdk_keymap_translate_keyboard_state(), so we get the right
key symbol for accelerators (for example we want Option-O,
not Option-Ø displayed in menu items). This patch should only
affect quartz where the Alt key both shifts the group and can
be used as accel modifier, and not X11 or Win32 where AltGr
is not used for accelerators.

- fix quartz' gdk_keymap_translate_keyboard_state() to return
  the right consumed_modifiers
- add _gtk_translate_keyboard_accel_state() which does the
  special casing
- use it everywhere instead of gdk_keymap_translate_keyboard_state()
2011-11-18 12:25:03 +01:00
Michael Natterer
4c35d987df notebook: don't leak the action widgets
The notebook owns them, so it must destroy them in destroy().
2011-11-17 00:53:29 +01:00
Cosimo Cecchi
5c3bb1839c Revert "iconview: layout items immediately when setting a GtkTreeModel"
It makes GtkIconView segfault on GTK 2.24.

gtk_icon_view_expose() calls gtk_icon_view_layout() first thing if
there's a layout queued anyway, so we wouldn't end up in the same
situation causing the crash the original patch is supposed to fix.

This reverts commit 5a03f4a6a5.

https://bugzilla.gnome.org/show_bug.cgi?id=663138
2011-11-16 17:39:18 -05:00
Michael Natterer
0729cdc9a1 quartz: fix a race condition when waking up the CGRunLoop
Wake up the run loop unconditionally (don't check if it is waiting) because
it might go into waiting state right after we checked for it. Fixes GIMP
startup (which has a lot of GIOChannel I/O but zero NSEvents) from several
minutes to a few seconds.
2011-11-11 23:54:23 +01:00
Alexander Larsson
7546eeaa62 Post release version bump 2011-11-10 19:54:38 +01:00
Alexander Larsson
758fec0a2d Update docs from release 2011-11-10 19:49:52 +01:00
Alexander Larsson
4edbdeff64 Update NEWS for release 2011-11-10 19:29:10 +01:00
Dieter Verfaillie
1b58117bbf win32: fix GDK_DEBUG="draw" crasher
When running with GDK_DUBUG="draw", gdk_win32_draw_rectangle
calls _gdk_win32_drawable_description, which calls
gdk_drawable_get_size for a GdkWindowImplWin32.

gdk_drawable_get_size then tries to call
GDK_DRAWABLE_GET_CLASS (drawable)->get_size, which points
to NULL for GdkWindowImplWin32.

Adding the missing drawable_class->get_size implementation
fixes this.
2011-11-09 14:52:04 +01:00
Dieter Verfaillie
d8c2db3335 win32: plug leak when drawing handles
The cairo context was always created but only ever used
and destroyed(!) in the second if block (!GTK_IS_PANED (widget))
so moving around the gdk_cairo_create call would have
been the obvious fix.

However, said if block is not used at all, so clean
up draw_handle instead.

https://bugzilla.gnome.org/show_bug.cgi?id=663543
2011-11-09 14:51:55 +01:00
Alexander Larsson
2ae574ab6d win32: Let cairo create DIBs for GdkPixmap
The win32 code for GdkPixmap dib creation workes as such, but
when creating a cairo surface for it with cairo_win32_surface_create
from the HDC it fails for any bitmap format than RGB24, due to
assumptions in cairo.

In order to create a cairo surface for e.g. A1 formats we need
to let cairo create the surface via cairo_win32_surface_create_with_dib.
Additionally, we must then make sure to use this surface in
gdk_drawable_ref_cairo_surface, and to not create a new HDC for
it but reuse the cairo one (as only one HDC can write to a bitmap).

Even with this fixed there are some issues with current cairo, as
cairo A1 format isn't quite the same as win32 monochrome bitmaps.
Fixes for cairo will be submitted.
2011-11-09 13:33:19 +01:00
Alexander Larsson
36f2f822f2 win32: Make sure to set is_foreign for foreign pixmaps 2011-11-09 13:33:19 +01:00