Commit Graph

2519 Commits

Author SHA1 Message Date
Caolan McNamara
5964109ef3 Plug a memory leak in Xrandr code 2009-05-30 00:05:35 -04:00
Matthias Clasen
96912b564f Avoid another case of treating None as an atom 2009-05-24 00:30:58 -04:00
Matthias Clasen
375d19aa92 Avoid warnings when handling SelectionNotify
The property field in SelectionNotify events may be None instead
of an atom.
2009-05-17 20:41:49 -04:00
Matthias Clasen
141ddd99f3 Avoid unintended side-effect in gdk_window_get_events
Calling gdk_window_get_events() had the side-effect of letting
property change notification through to the application, which
was not intended. Now we keep StructureNotify and PropertyNotify
filtered out when they were before. Reported in bug 582003.
2009-05-10 02:08:41 -04:00
Matthias Clasen
4fc49fd8db Don't enforce property change events on the root window
The code in gdk_x11_window_set_events is only meant to enforce
property change events on child windows. Pointed out in bug 531490.
2009-05-10 01:54:43 -04:00
Matthias Clasen
6fc6b8b4e8 Add diagnostics for XID collisions
This should help with diagnosing crashes caused by over-eager XID
reuse in Xlib, see bug 581526.
2009-05-05 19:29:05 -04:00
Behdad Esfahbod
a398c840be Add git.mk to generate .gitignore files
Add four new doc templates that were not in repository.
2009-05-04 14:29:21 -04:00
Matthias Clasen
6aa6338578 Fix handling of GDK_NONE
Don't intern "NONE" and warn if GDK_NONE is converted to an
X atom. Problem pointed out in bug 580511.
2009-05-03 21:38:54 -04:00
Brian Cameron
33f4ead506 Minor fix for GTK+ mediaLib code.
After doing some performance analysis, it was found that the GTK+ mediaLib code
triggers unnecessary lazy loading of dependent libraries.  The current code
uses RTLD_DEFAULT, RTLD_PROBE, RTLD_NEXT, and RTLD_SELF.  However, RTLD_PROBE
is all that is necessary, and avoids triggering the lazy loading.  So this
commit fixes the code to just use RTLD_PROBE.  (Bug 580678)
2009-04-29 18:52:32 -05:00
Christian Persch
0e99a5849e Allow unsetting the icon title set with gdk_window_set_icon_name
Change gdk_window_set_icon_name to allow using NULL to unset a
previously set icon title, so that the icon title tracks the normal
title again. Bug #535557.
2009-04-20 14:53:51 +02:00
Carlos Garcia Campos
5261d14d6f Fix memory leak in gdkscreen-x11
When RandR 1.2 X driver doesn't return any usable multihead data the
monitors array is freed, without freeing the memory allocated by the array
elements before. Fixes bug #578354
2009-04-10 00:14:23 -04:00
Sven Neumann
de64faabeb Fix compilation with DirectFB 1.0
The code used a field introduced with DirectFB 1.2. Added a
compile-time version check to make it work with DirectFB 1.0.
2009-04-09 16:50:25 +02:00
Alexander Larsson
4ecd6a0f89 Merge branch 'master' of ssh://alexl@git.gnome.org/git/gtk+ 2009-04-07 19:29:19 +02:00
Alexander Larsson
87459ff86c Don't move global user time backwards
When setting the user_time on a specific app to something, make sure
we're not moving the global per-display user time backwards.
2009-04-07 15:37:40 +02:00
Tor Lillqvist
c338228a86 Bug 578094 - ProcessIdToSessionId needs to be declared as WINAPI
Patch by  Shixin Zeng.
2009-04-06 15:10:35 +03:00
John Brown
923b126f1c bgo#571374 - Add 30-bit visuals to the list of supported depths
Signed-off-by: Federico Mena Quintero <federico@novell.com>
2009-03-31 17:31:28 -06:00
Behdad Esfahbod
d21f55fe9a Bug 437533 – Implement draw_shape PangoRenderer method
2009-03-27  Behdad Esfahbod  <behdad@gnome.org>

        Bug 437533 – Implement draw_shape PangoRenderer method

        * gdk/gdkpango.c (gdk_pango_renderer_draw_shape),
        (gdk_pango_renderer_class_init): Implement draw_shape

        * demos/gtk-demo/rotated_text.c (fancy_shape_renderer),
        (create_fancy_attr_list_for_layout), (rotated_text_expose_event),
        (do_rotated_text):
        1) Port to pangocairo
        2) Also show a rotated label
        3) Install a custom shape renderer on both.  The second one goes
        through gdkpango and hence tests the patch above.  It's working.


svn path=/trunk/; revision=22592
2009-03-27 16:54:10 +00:00
Sven Neumann
7cfac711e2 compile fix for build with DIRECT_ENABLE_DEBUG.
2009-03-25  Sven Neumann  <sven@gimp.org>

	* gdk/directfb/gdkwindow-directfb.c
	(gdk_window_directfb_process_all_updates): compile fix for build
	with DIRECT_ENABLE_DEBUG.


svn path=/trunk/; revision=22583
2009-03-25 00:07:12 +00:00
Matthias Clasen
7dfb01937d Fix get_nearest_monitor
svn path=/trunk/; revision=22582
2009-03-24 05:57:53 +00:00
Tor Lillqvist
c3879d400c Bug 575700 - Crash when moving a GtkWindow
2009-03-17  Tor Lillqvist  <tml@novell.com>

	Bug 575700 - Crash when moving a GtkWindow

	* gdk/win32/gdkevents-win32.c (gdk_event_translate): Fix
	embarrassing crasher bug introduced on 2009-03-11. A variable was
	assigned a value only inside a GDK_NOTE but still used outside
	that.


svn path=/trunk/; revision=22568
2009-03-17 18:26:28 +00:00
Tor Lillqvist
e029e0014d Bug 573067 - Intra-app dnd of text behavior on Windows is wrong
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):
	The default action should be move, not copy. 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.

	* 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=/trunk/; revision=22522
2009-03-11 14:09:13 +00:00
Tor Lillqvist
e51f525a76 Use G_DEFINE_TYPE. Some debugging printout changes. Hacking on the
2009-03-11  Tor Lillqvist  <tml@iki.fi>

	* gdk/win32/gdkdnd-win32.c: Use G_DEFINE_TYPE. Some debugging
	printout changes. Hacking on the OLE2_DND code, which still
	doesn't work, though, and is not normally compiled.


svn path=/trunk/; revision=22517
2009-03-11 13:37:26 +00:00
Tor Lillqvist
93bb740db3 Bug 570896 - gdkevents-win32.c(2947) : error C4053: one void operand for
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=/trunk/; revision=22515
2009-03-11 12:50:51 +00:00
Tor Lillqvist
703a18c25f Bug 574794 - Can not resize shaped windows on Windows
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=/trunk/; revision=22511
2009-03-11 12:04:22 +00:00
Alexander Larsson
f4090b5c84 Bug 573087 – gdkwindow.c: {x,y}_offset used uninitialized
2009-03-02  Alexander Larsson  <alexl@redhat.com>

	Bug 573087 – gdkwindow.c: {x,y}_offset used uninitialized

	* gdk/gdkwindow.c (gdk_window_clear_backing_rect_redirect):
	Don't use uninitialized vars.
	Fix offsets for redirected pixmap, draw to pixmap not window.



svn path=/trunk/; revision=22441
2009-03-02 15:09:27 +00:00
Matthias Clasen
996a68c491 Fix the sorting of GDK_KP_Equal
svn path=/trunk/; revision=22436
2009-03-02 03:12:09 +00:00
Matthias Clasen
fd20c54e35 Revert an accidental commit
svn path=/trunk/; revision=22421
2009-02-28 05:28:47 +00:00
Matthias Clasen
d0e7f5889e Bug 573069 – Gdk-CRITICAL warnings with Gtk 2.14 when dragging
GtkNotebook tabs

        * gtk/gtkwidget.c (_gtk_widget_synthesize_crossing): Be a little
        more careful when navigating up the parent chain.

        * gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): Reset the
        pointer window thats stored on the screen when it is destroyed.


svn path=/trunk/; revision=22420
2009-02-28 05:24:07 +00:00
Matthias Clasen
fcdd092ae6 Another attempt at getting Xrandr screen size changes right. Actually
* gdk/x11/gdkevents-x11.c:
        * gdk/x11/gdkscreen-x11.[hc]: Another attempt at getting Xrandr
        screen size changes right. Actually handle XRRScreenChangeNotify
        events, and ignore root ConfigureNotify events if we are using
        Xrandr. Only emit size-changed signals if the screen size changed,
        and only emit monitor-changed signals if the monitors changed.


svn path=/trunk/; revision=22398
2009-02-24 05:09:13 +00:00
Ray Strode
e822462333 After using randr to get a list of monitors, sort the list such that the
2009-02-19  Ray Strode  <rstrode@redhat.com>

	* gdk/x11/gdkscreen-x11.c
	(monitor_compare_function), (init_randr13):
	After using randr to get a list of monitors,
	sort the list such that the biggest output
	of "cloned" outputs comes first in the list.
	This helps apps that don't generally handle
	overlapping outputs to work better in randr
	clone mode.

svn path=/trunk/; revision=22386
2009-02-20 04:42:33 +00:00
Sven Neumann
92c30df34d looks like being called with negative width and height should be
2009-02-19  Sven Neumann  <sven@gimp.org>

	* 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=/trunk/; revision=22384
2009-02-19 22:31:04 +00:00
Sven Neumann
69fe31489c move the call to _gdk_windowing_window_init() up a little. Fixes a crash
2009-02-19  Sven Neumann  <sven@gimp.org>

	* 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=/trunk/; revision=22382
2009-02-19 21:39:43 +00:00
Sven Neumann
03796c0a90 initialize private->impl. Thanks to Masse Nicolas for pointing this out.
2009-02-19  Sven Neumann  <sven@gimp.org>

	* 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=/trunk/; revision=22380
2009-02-19 21:30:49 +00:00
Matthias Clasen
0bd95af21a Be more robust against X breakage
svn path=/trunk/; revision=22378
2009-02-19 19:13:10 +00:00
Matthias Clasen
f517b9d5fc some xrandr fixes
svn path=/trunk/; revision=22370
2009-02-18 23:12:26 +00:00
Sven Neumann
a292a2c70f Bug 533456 – Memory leak when window is destroyed
2009-02-18  Sven Neumann  <sven@gimp.org>

	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=/trunk/; revision=22367
2009-02-18 20:43:31 +00:00
Sven Neumann
be7349f519 Bug 513422 – Unknown meaning of translatable messages
2009-02-18  Sven Neumann  <sven@gimp.org>

	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=/trunk/; revision=22365
2009-02-18 18:14:17 +00:00
Sven Neumann
926acf9173 Bug 560671 – the client_message API doesn't work in DirectFB
2009-02-18  Sven Neumann  <sven@gimp.org>

	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=/trunk/; revision=22363
2009-02-18 18:03:51 +00:00
Sven Neumann
8b1a4f86ca Bug 543710 – Dead keys do not work anymore with DirectFB
2009-02-18  Sven Neumann  <sven@gimp.org>

	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=/trunk/; revision=22361
2009-02-18 17:43:13 +00:00
Sven Neumann
c53101ad95 Bug 554407 – directfb backend does not implement GdkWindowImpl
2009-02-18  Sven Neumann  <sven@gimp.org>

	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=/trunk/; revision=22357
2009-02-18 17:17:33 +00:00
Matthias Clasen
a0f8f37c37 2.15.4
svn path=/trunk/; revision=22350
2009-02-17 22:25:41 +00:00
Sven Neumann
d35689a978 gdk/gdk.symbols implement gdk_keymap_get_caps_lock_state(). No
2009-02-16  Sven Neumann  <sven@gimp.org>

	* gdk/gdk.symbols
	* gdk/directfb/gdkkeys-directfb.c: implement
	gdk_keymap_get_caps_lock_state(). No "state-changed" signal yet.


svn path=/trunk/; revision=22341
2009-02-16 20:58:16 +00:00
Tor Lillqvist
b62e3113e6 Bug 571873 - Compile error with gdk/win32/gdkselection-win32.c
2009-02-16  Tor Lillqvist  <tml@novell.com>

	Bug 571873 - Compile error with gdk/win32/gdkselection-win32.c

	* gdk/win32/gdkselection-win32.c (gdk_selection_convert): Cast
	gpointer to char * before pointer arithmetic to avoid compilation
	error with MSVC.

	(_gdk_selection_property_delete): Remove unused variable.


svn path=/trunk/; revision=22337
2009-02-15 22:51:56 +00:00
Matthias Clasen
e86a6ddd60 Register randr events
svn path=/trunk/; revision=22328
2009-02-13 22:15:23 +00:00
Matthias Clasen
2e67143e3b Check for Xrandr 1.3
* configure.in: Check for Xrandr 1.3

        * gdk/x11/gdkdisplay-x11.[ch]: Rename have_randr12 to have_randr13
        and set if if we have randr 1.3

        * gdk/x11/gdkscreen-x11.c: Go back to using randr for monitor
        information, if we have XRRGetScreenResourcesCurrent.


svn path=/trunk/; revision=22327
2009-02-13 18:12:57 +00:00
Cody Russell
f1ed4f7347 Add potentially missing #defines for XBUTTON1, etc. Fixes the build that
2009-02-09  Cody Russell  <bratsche@gnome.org>

        * gdk/win32/gdkwin32.h:	Add potentially	missing	#defines for
        XBUTTON1, etc.  Fixes the build that was broken in r21746.


svn path=/trunk/; revision=22297
2009-02-09 13:16:14 +00:00
Tor Lillqvist
3f4c73d0d5 Bug 559408 - Transparency lost when images are copied between GTK+ and the
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=/trunk/; revision=22255
2009-01-30 01:16:47 +00:00
Claudio Saavedra
6f468ac715 Bug 569435 – make maintainer-clean removes non-generated sources
2009-01-29  Claudio Saavedra  <csaavedra@igalia.com>

	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=/trunk/; revision=22248
2009-01-29 07:35:33 +00:00
Richard Hult
14f26357e1 Bug 566628 – gdk_display_close always asserts on win32 and quartz
2009-01-26  Richard Hult  <richard@imendio.com>

	Bug 566628 – gdk_display_close always asserts on win32 and quartz

	* gdk/quartz/gdkdisplay-quartz.c
	(_gdk_windowing_set_default_display): Copy fix for bug #566628
	from the win32 backend: Allow also a NULL parameter in the
	g_assert().

svn path=/trunk/; revision=22223
2009-01-26 20:31:18 +00:00
Matthias Clasen
a576e0c9fa Don't update blank cursors
svn path=/trunk/; revision=22208
2009-01-24 21:29:36 +00:00