2009-03-11 Tor Lillqvist <tml@iki.fi>
Add more debugging printout for --gdk-debug=dnd.
* gdk/win32/gdkmain-win32.c
* gdk/win32/gdkprivate-win32.h: (_gdk_win32_drag_protocol_to_string)
(_gdk_win32_drag_action_to_string): New functions for use in
debugging printouts.
svn path=/branches/gtk-2-14/; revision=22520
2009-03-11 Tor Lillqvist <tml@iki.fi>
Bug 573067 - Intra-app dnd of text behavior on Windows is wrong
* gdk/win32/gdkdnd-win32.c (local_send_motion) (gdk_drag_motion):
Tweak how the GdkDragAction fields in GdkDragContexts are
changed. Seems to help the problem.
Add more debugging printout for --gdk-debug=dnd to many functions.
svn path=/branches/gtk-2-14/; revision=22516
2009-03-11 Tor Lillqvist <tml@iki.fi>
Bug 570896 - gdkevents-win32.c(2947) : error C4053: one void
operand for '?:'
* gdk/win32/gdkevents-win32.c (gdk_event_translate): Fix
compilation error with MSVC. While at it add clarifying comments
and fix a typo in the debugging output.
svn path=/branches/gtk-2-14/; revision=22514
2009-03-11 Tor Lillqvist <tml@iki.fi>
Bug 574794 - Can not resize shaped windows on Windows
* gdk/win32/gdkevents-win32.c (gdk_event_translate): On handling
WM_WINDOWPOSCHANGED, don't do anything if the position and size
hasn't changed. I am not exactly sure I understand why this helps
this particular bug.
svn path=/branches/gtk-2-14/; revision=22510
2009-02-19 Sven Neumann <sven@gimp.org>
Merged from trunk:
* gdk/directfb/gdkwindow-directfb.c
(gdk_directfb_window_move_resize): looks like being called with
negative width and height should be interpreted as a move. Fixes
scrolling and makes popups work to some extent.
(_gdk_directfb_move_resize_child): formatting.
svn path=/branches/gtk-2-14/; revision=22385
2009-02-19 Sven Neumann <sven@gimp.org>
Merged from trunk:
* gdk/directfb/gdkdisplay-directfb.c (gdk_display_open): move
the
call to _gdk_windowing_window_init() up a little. Fixes a crash
when running on pseudo-color visuals. Thanks to Masse Nicolas
for
pointing this out.
svn path=/branches/gtk-2-14/; revision=22383
2009-02-19 Sven Neumann <sven@gimp.org>
Merged from trunk:
* gdk/directfb/gdkwindow-directfb.c
(gdk_window_foreign_new_for_display, gdk_directfb_window_new):
initialize private->impl. Thanks to Masse Nicolas for pointing
this out.
svn path=/branches/gtk-2-14/; revision=22381
2009-02-18 Sven Neumann <sven@gimp.org>
Merged from trunk:
Bug 533456 – Memory leak when window is destroyed
* gdk/directfb/gdkdirectfb.h
* gdk/directfb/gdkprivate-directfb.h
* gdk/directfb/gdkcursor-directfb.c
* gdk/directfb/gdkevents-directfb.c
* gdk/directfb/gdkwindow-directfb.c: removed all #ifdef checks
for
DIRECTFB_MAJOR_VERSION >= 1. We depend on DirectFB >= 1.0.0 now.
Fixes a potential build issue that would lead to a memory leak
as
described in bug #533456.
svn path=/branches/gtk-2-14/; revision=22369
2009-02-18 Sven Neumann <sven@gimp.org>
Merged from trunk:
Bug 513422 – Unknown meaning of translatable messages
* gdk/directfb/gdkdisplay-directfb.c: removed broken and
commented
code and the translatable messages that belonged to it.
svn path=/branches/gtk-2-14/; revision=22366
2009-02-18 Sven Neumann <sven@gimp.org>
Merged from trunk:
Bug 560671 – the client_message API doesn't work in DirectFB
* gdk/directfb/gdkevents-directfb.c: applied a slightly cleaned
up
patch from Steve Lhomme that adds this functionality using
DirectFB's DFBUserEvent.
svn path=/branches/gtk-2-14/; revision=22364
2009-02-18 Sven Neumann <sven@gimp.org>
Merged from trunk:
Bug 543710 – Dead keys do not work anymore with DirectFB
* gdk/directfb/gdkkeys-directfb.c (gdk_directfb_translate_key):
applied patch from Josselin Mouette that removes special
handling
of dead keys as that is done by DirectFB for a long time
already.
svn path=/branches/gtk-2-14/; revision=22362
2009-02-18 Sven Neumann <sven@gimp.org>
Merged from trunk:
* configure.in: depend on DirectFB >= 1.0.0. There's no point in
using an earlier development version.
svn path=/branches/gtk-2-14/; revision=22360
2009-02-18 Sven Neumann <sven@gimp.org>
Merged from trunk:
Bug 554407 – directfb backend does not implement GdkWindowImpl
* gdk/directfb/gdkgeometry-directfb.c
* gdk/directfb/gdkprivate-directfb.h
* gdk/directfb/gdkwindow-directfb.c: fix the build of the
DirectFB
backend and resurrect basic functionality. Based on a patch from
the Ubuntu bug-tracker and work by Masse Nicolas.
svn path=/branches/gtk-2-14/; revision=22358
2009-02-12 Cody Russell <bratsche@gnome.org>
Bug 571576 – gdk_pixbuf_save_to_stream() broken
* gdk-pixbuf/gdk-pixbuf-io.c: Fix gdk_pixbuf_save_to_stream() so that
it does not always return FALSE (even when it succeeds), and also so
that it does not set error to NULL when something goes wrong.
svn path=/branches/gtk-2-14/; revision=22323
2009-02-04 Tor Lillqvist <tml@novell.com>
Bug 570406 - gailutil.def is in srcdir, but used from builddir
* libgail-util/Makefile.am: Use gailutil.def from srcdir. Drop
useless rules to install/uninstall import libraries, libtool knows
to install / uninstall them itself when installing / uninstalling
a .la file. Add rules to install / uninstall the def file like for
consistency, like with the other libraries in GTK+.
svn path=/branches/gtk-2-14/; revision=22279
2009-01-29 Tor Lillqvist <tml@novell.com>
Bug 559408 - Transparency lost when images are copied between GTK+
and the clipboard on Windows
The code in gdkselection-win32.c is simplified quite a lot. When
an image is stored on the clipboard from GTK+, only the "PNG" and
CF_DIB formats are advertised. PNG is our preferred format because
it can losslessly represent any image that gdk-pixbuf can handle,
even with alpha, unambiguously. CF_DIB is also advertised because
of its ubiquitous support in Windows software.
Delayed rendering is used as before, so for other data than text
nothing is actually stored on the clipboard until some app asks
for it.
It's pointless to advertise images formats like "image/png" or
"image/x-MS-bmp" that no other Windows application is going to
look for anyway. Likewise it's pointless to store text under
formats like "text/plain" or "UTF8_STRING". Just store
CF_UNICODETEXT. CF_TEXT will be available as a synthesized format
anyways.
Office 2007 offers and asks for images in PNG format using the
registered clipboard format name "PNG", so we do likewise. If the
"PNG" format is available that is preferred when copying to GTK+
from the clipboard.
Unfortunately Word 2007 still uses CF_DIB without handling
alpha. But PowerPoint 2007 uses PNG if available and handles alpha
correctly. Both Word and Powerpoint offer PNG with alpha nicely.
Firefox and IE7 offer images that contain alpha as 32-bit version
3 BI_RGB DIBs with the undocumented "extra" bytes actually being
alpha. Also, alpha is premultiplied into the RGB bytes, presumably
because that is how AlphaBlend() wants such DIBs. That is also
taken care of. At least for Firefox it easy to be sure that a
CF_DIB on the clipboard is from Firefox.
Also some general stylistic cleanup, comment improvements, and
improvements of debugging printout especially in the clipboard
handling. Those are not detailled below.
* gdk/win32/gdkprivate-win32.h
* gdk/win32/gdkglobals-win32.c
* gdk/win32/gdkgmain-win32.c: Move some globals that were used
only in gdkselection-win32.c to be local to that file.
* gdk/win32/gdkproperty-win32.c (gdk_property_change): Don't
bother checking if text to be placed on the clipboard consists of
only ASCII.
* gdk/win32/gdkselection-win32.c: Add static variables for a list
of GdkPixbuf-supported formats, well-known registered clipboard
formats for images, and for GdkAtoms for well-known image and text
formats.
(_gdk_win32_selection_init): Initialize above static variables.
(selection_property_store) (gdk_selection_property_get)
(_gdk_selection_property_delete): Don't use a FIFO of GdkSelProps
for a window after all, it breaks testtext. See bug #163844.
(gdk_selection_convert): When converting to the TARGETS format,
i.e. when the caller wants to know what clipboard formats are
available, if PNG is available we report just that and skip
CF_DIB, JPEG and GIF even if advertised.
If CF_UNICODETEXT is available, report only UTF8_STRING.
When converting to the UTF8_STRING format, i.e. when the caller
wants text from the clipboard, try just CF_UNICODETEXT. There is
no point in trying CF_TEXT as Windows will synthesize
CF_UNICODETEXT from CF_TEXT anyway, if some app has stored just
CF_TEXT.
When converting to the image/bmp format, i.e. when the caller
wants an CF_DIB image from the clipboard, we check if the DIB is a
version 3 32-bit BI_RGB one that is likely to actually contain
alpha in the "extra" bytes. Such a DIB is likely to have
premultiplied alpha even, at least in the case of Firefox 3 and
IE7. We then edit the DIB in-place into a version 5 one in
BI_BITFIELDS format and undo the alpha premultiplication.
In any case, prepend a BMP file header before letting go of the
data which will be fed to the gdk-pixbuf bmp loader by upper
levels.
(gdk_win32_selection_add_targets): If some kind of pixmap image
format is being added, actually advertise just PNG and
CF_DIB. Note that alpha won't be stored on the clipboard through
CF_DIB. This is because gdk-pixbuf's bmp loader doesn't save
alpha. Furthermore, few if any non-GTK+ Windows apps seem to
understand a version 5 DIB with proper alpha anyway.
(_gdk_win32_selection_convert_to_dib): Simplified muchly.
svn path=/branches/gtk-2-14/; revision=22254
2009-01-29 Tor Lillqvist <tml@novell.com>
Bug 145058 - Inputting "^^" requires four keystrokes on Win32,
differs from platform default behaviour
* gtk/gtkimcontextsimple.c
(check_win32_special_case_after_compact_match): New
function. Called from check_compact_table() after a table-based
match has committed a character. In case there was two identical
dead accents in the input, another copy of the spacing accent that
was already committed is committed. This fixes#145058.
(check_win32_special_cases): New function. Called first from
gtk_im_context_simple_filter_keypress(). This fixes another
problem: a dead accent followed by a space should commit the
corresponding spacing accent. The compose tables from X commit
another character in two cases and we want to override that on
Windows.
Add GTK_NOTE (MISC) debugging output to this code.
svn path=/branches/gtk-2-14/; revision=22252
2009-01-29 Claudio Saavedra <csaavedra@igalia.com>
Merged from trunk:
Bug 569435 – make maintainer-clean removes non-generated sources
* gdk/Makefile.am: Do not remove gdkprivate.h and gdkwindowimpl.h
during make maintainer-clean, as these files are not generated.
svn path=/branches/gtk-2-14/; revision=22249
2009-01-26 Claudio Saavedra <csaavedra@igalia.com>
Merged from trunk:
Bug 563576 – Dummy po files break the build
* ast.po: copy contact data from po/ast.po, patch from Adrian Bunk
svn path=/branches/gtk-2-14/; revision=22222
2009-01-26 Claudio Saavedra <csaavedra@igalia.com>
Merged from trunk:
* gtk/gtktreeview.c: Use gtk-doc syntax to refer to properties in
the docstrings.
svn path=/branches/gtk-2-14/; revision=22221
2009-01-19 Tor Lillqvist <tml@iki.fi>
Bug 568305 - gdk-pixbuf mishandles BI_BITFIELDS bmps
* io-bmp.c (OneLine32): Use unsigned variables so that we can
right-shift them without risk of sign extension. Don't "reverse"
the alpha value, actually storing 0xFF-alpha, but use it as such.
svn path=/branches/gtk-2-14/; revision=22171
2009-01-21 Cody Russell <bratsche@gnome.org>
Bug 568592 – GailTextCell no longer implements AtkAction interface
* modules/other/gail/gailtextcell.c: Fix a regression in GailTextCell
from revision 19227 where G_DEFINE_TYPE_WITH_CODE was used to replace
hard-coded type definition but accidentally removed the registration
of the AtkAction interface. Patch from Peter Johanson.
svn path=/branches/gtk-2-14/; revision=22167
2009-01-16 Cody Russell <bratsche@gnome.org>
Bug 567944 – [Win32] Sorted treeview columns can be unreadable
* modules/engines/ms-windows/msw_style.c: Draw selected treeview
cells according to treeview focus, but ignore whether it is in
a sorted column or not. Otherwise the intersection of a selected
row and a sorted column looks very strange if the treeview does
not have focus.
svn path=/branches/gtk-2-14/; revision=22127
2009-01-12 Tor Lillqvist <tml@iki.fi>
Bug 164002 - query scripts don't work uninstalled on windows
* gtk/gtkmain.c (_gtk_get_libdir): If the gtk DLL is in a ".libs"
folder, assume we are running uninstalled, and use the
configure-time GTK_LIBDIR.
svn path=/branches/gtk-2-14/; revision=22099
2009-01-12 Tor Lillqvist <tml@iki.fi>
Bug 164002 - query scripts don't work uninstalled on windows
* queryloaders.c (main): Use the configure-time PIXBUF_LIBDIR if
the exe is located in a .libs folder, i.e. run in the build
directory through a libtool wrapper script or wrapper executable,
or in the source folder itself. Otherwise continue to infer the
runtime prefix from the exe's location.
svn path=/branches/gtk-2-14/; revision=22098
2009-01-12 Tor Lillqvist <tml@novell.com>
* queryloaders.c (main): Remove the Win9x code path. It had been
left by mistake. Win9x code is gone from the rest of GTK+ since
2.12.
svn path=/branches/gtk-2-14/; revision=22097
2009-01-12 Tor Lillqvist <tml@iki.fi>
* gdk/gdk.c (gdk_arg_debug_cb) (gdk_arg_no_debug_cb): A
GOptionArgFunc should return gboolean and take also a GError
pointer parameter, so make these two functions do that. Return
FALSE (and set the GError) if the parsing of the debug string
failed completely. Note that g_parse_debug_string() doesn't really
have any way to return parsing status, and accepts partially
incorrect strings, though.
svn path=/branches/gtk-2-14/; revision=22094
2009-01-12 Claudio Saavedra <csaavedra@igalia.com>
Bug 567468 – no check for trailing != NULL in
gtk_text_layout_get_iter_at_position()
* gtk/gtktextlayout.c: (gtk_text_layout_get_iter_at_position):
Check for trailing to be non-NULL.
* gtk/gtktextview.c: (gtk_text_view_get_iter_at_position): document
that trailing may be NULL.
svn path=/branches/gtk-2-14/; revision=22091
2009-01-11 Tor Lillqvist <tml@iki.fi>
Bug 523554 - Copy from GIMP to Word broken
* gdk/win32/gdkselection-win32.c
(_gdk_win32_selection_convert_to_dib): The DIB stored in the
clipboard was for some unknown reason truncated by one byte. Don't
do that.
svn path=/branches/gtk-2-14/; revision=22085
2009-01-07 Matthias Clasen <mclasen@redhat.com>
Bug 566862 – pixbuf_new_from_file does not autodetect format
* gdk-pixbuf-io.c (_gdk_pixbuf_get_module): Go back to sniffing
without looking at the filename, to avoid breaking expected
functionality.
svn path=/branches/gtk-2-14/; revision=22074
2009-01-05 Tor Lillqvist <tml@iki.fi>
Bug 566628 - gdk_display_close always asserts on win32
* gdk/win32/gdkdisplay-win32.c
(_gdk_windowing_set_default_display): Allow also a NULL parameter
in the g_assert(). Still don't actually do anything in this
function, though.
svn path=/branches/gtk-2-14/; revision=22066
2009-01-03 Matthias Clasen <mclasen@redhat.com>
Bug 566391 – gtk_about_dialog_set_url_hook should activate
pre-existing website links
* gtk/gtkaboutdialog.c: Make setting website, website-label and
url hook work independent of their order. Reported by Steven
Sheehy.
svn path=/branches/gtk-2-14/; revision=22061
* gdk/x11/gdkscreen-x11.h:
* gdk/x11/gdkevents-x11.c (fetch_net_wm_check_window): Recheck
_NET_SUPPORTING_WM_CHECK every now and then to avoid getting
stuck on the id of a former wmcheck window that got reused by
another client (see RH bug 471927)
svn path=/branches/gtk-2-14/; revision=22057