Commit Graph

1383 Commits

Author SHA1 Message Date
Owen Taylor
4fbca22e4a g_set_prgname("<unknown>") if argc is 0 as well, instead of leaving it
Fri Aug  1 15:06:25 2003  Owen Taylor  <otaylor@redhat.com>

        * gdk/gdk.c (gdk_parse_args): g_set_prgname("<unknown>")
        if argc is 0 as well, instead of leaving it unset.
        (#116023, Michael Meeks)
2003-08-01 19:28:19 +00:00
Tor Lillqvist
09f777e5ea Fix for #108007, #112402, #117042: There was confusion in gdk/win32 at
2003-07-29  Tor Lillqvist  <tml@iki.fi>

	Fix for #108007, #112402, #117042: There was confusion in
	gdk/win32 at various places whether a window position refers to
	the decoration position or the client area position. Also whether
	window size includes decorations or not.

	The correct interpretation apparently is that in GDK (like in
	X11), a top-level window position means the decoration's position,
	but size means the window's inner size (client area size). In the
	Win32 API, the window size usually includes the decorations,
	though.

	* gdk/win32/gdkevents-win32.c (decode_key_lparam): Move inside
	#ifdef G_ENABLE_DEBUG.
	(handle_configure_event): New function, generates GDK_CONFIGURE
	events from WM_SIZE and WM_MOVE messages. Even if no event is
	generated because of the event mask, still set the private
	position and size fields. Calculate position and size correctly.
	(gdk_event_translate): Call handle_configure_event().

	* gdk/win32/gdkgeometry-win32.c: Cosmetics.

	* gdk/win32/gdkwindow-win32.c: Use GDI_CALL() and API_CALL()
	macros. Cosmetic debugging output changes.
	(SafeAdjustWindowRectEx): Remove. If an application wants to
	locate a window outside of the screen, it's not GDK's business to
	prevent it. And anyway, with multiple monitors, negative
	coordinates are perfectly normal.
	(gdk_window_new): Adjust the window size for decorations after
	_gdk_window_init_position() has done its job. (But the big window
	code currently is presumably broken on Win32 anyway.)
	(gdk_window_move): The position passed in is supposed to be that
	of the window border, so don't need to adjust for decorations.
	(gdk_window_resize, gdk_window_move_resize): Simplify somewhat.
2003-07-29 23:35:40 +00:00
Tor Lillqvist
165375eb5c On Win9x, the keyboard state returned by GetKeyboardState() doesn't
2003-07-27  Tor Lillqvist  <tml@iki.fi>

	* gdk/win32/gdkevents-win32.c (build_key_event_state): On Win9x,
	the keyboard state returned by GetKeyboardState() doesn't
	distinguish between the left and right Control and Alt keys. Thus
	we cannot detect AltGr (which is supposed to be left Control +
	right Alt) the same way as on NT-based systems, but have to accept
	either Control + either Alt as AltGr.
2003-07-27 21:58:44 +00:00
Tor Lillqvist
63f745738d gdk/win32/gdkprivate-win32.h New flags _gdk_input_locale_is_ime and
2003-07-25  Tor Lillqvist  <tml@iki.fi>

	* gdk/win32/gdkprivate-win32.h
	* gdk/win32/gdkglobals-win32.c: New flags _gdk_input_locale_is_ime
	and _gdk_keyboard_has_altgr.

	* gdk/win32/gdkevents-win32.c: Lots of changes. Most important
	ones detailled here.

	Code that has been ifdeffed out for a long time removed. Remove
	some really old doc comments that were left behind for some public
	functions, the official ones are in the X11 backend anyway. Change
	GDK_WINDOW_OBJECT() calls to GdkWindowObject casts. Reformat
	multi-line boolean expressions to have the operators at ends of
	lines.

	As mouse capture with SetCapture() indeed seems to work OK, no
	need to have the correspoinding macro USE_SETCAPTURE and ifdefs.

	Ifdef out the gdk-ping-msg stuff. I don't remember why it was
	needed at some time, and things seem to work fine now without
	(knock on wood).

	Ifdef out the search for some Latin locale keyboard layout being
	loaded. Not used currently, but might be needed after all, if we
	decide that we want to be able to generate ASCII control character
	events with a non-Latin keyboard.

	(assign_object): New helper function, handles the g_object_ref()
	and unref() calls when assigning GObject pointers.

	(generate_crossing_events): Also generate the GDK_NOTIFY_INTERIOR
	enter event when the pointer has moved to an ancestor window. Was
	left out by mistake.

	(gdk_window_is_ancestor): Renamed from gdk_window_is_child().

	(gdk_pointer_grab, gdk_pointer_ungrab): Implement the confine_to
	functionality, using ClipCursor().

	(find_window_for_mouse_event): Splice part of code into new
	function find_real_window_for_grabbed_mouse_event().

	(fixup_event, append_event, apply_filters): New functions, code
	refactored out from elsewhere.

	(synthesize_enter_or_leave_event, synthesize_leave_event,
	synthesize_enter_event,
	synthesize_leave_events,synthesize_enter_events): Also take a
	GdkCrossingMode parameter, in preparation to generating
	GDK_CROSSING_GRAB and GDK_CROSSING_UNGRAB events.

	(fixup_event, append_event, fill_key_event_string): New functions,
	code refactoring.

	(vk_from_char, build_keypress_event, build_keyrelease_event):
	Removed as part of dropping WM_CHAR handling.

	(build_key_event_state,gdk_event_translate): Call
	GetKeyboardState(), once, for each keyboard message, instead of
	several calls to GetKeyState() here and there.

	(gdk_event_translate): Fix bugs #104516, #104662, #115902. While
	at it, do some major refactoring, and some fixes for potential
	problems noticed while going through the code.

	Don't handle WM_CHAR at all. Only handle WM_KEYDOWN and
	WM_KEYUP. Don't need the state variables related to whether to
	wait for WM_CHAR or not, and whether the current key is
	AltGr. Remove lots of complexity. Thus don't need the
	use_ime_composition flag.

	Not handling WM_CHAR means dead key handling will have to be taken
	care of by GTK, but that seems to work fine, so no worry.

	Another side-effect is that Alt+keypad digits don't work any
	longer, but it's better to learn to use GTK's ISO14755 support is
	anyway.

	Be more careful in checking whether AltGr is involved. Only
	attempt to handle it if the keyboard actually has it. And
	explicitly check for *left* Control plus *right* Alt being
	pressed. Still, allow (left) Alt and/or (right) Control with AltGr
	chars.

	Handle keys using similar code as in the X11 backend. As we have
	built a keymap in gdkkeys-win32.c anyway, use it by calling
	gdk_keymap_translate_keyboard_state() to look up the keysym from
	the virtual key code and keyboard state. Build the key event
	string in exactly the same way as the X11 backend.

	If an IME is being used, don't generate GDK events for keys
	between receiving WM_IME_STARTCOMPOSITION and
	WM_IME_ENDCOMPOSITION, as those keys are for the IME.

	For WM_IME_COMPOSITION, handle all the Unicode chars returned from
	the IME, not just the first one.

	gdk_event_translate() is still quite complex, could split the
	message handler cases out into separate functions.

	On mouse events, when the mouse is grabbed, use
	find_real_window_for_grabbed_mouse_event() in order to be able to
	generate correct crossing events.

	No longer take a pre-allocated GdkEvent as parameter. Instead,
	allocate events as needed and append them to the queue. (This is
	different from how gdk_event_translate() in the X11 backend
	works.) This change made the code much clearer, especially in the
	cases where we have to generate several GDK events for one Windows
	message.  Return FALSE if DefWindowProc() should be called, TRUE
	if not. If DefWindowProc() should not be called, also return the
	value to be returned from the window procedure.

	(Previously, the interaction with gdk_event_translate()'s caller
	was much more complex, when we had to indicate whether the
	already-queued event should be left in the queue or removed, and
	in addition also had to indicate whether to call DefWindowProc()
	or not, and what value to return from the window procedure if
	not.)

	Don't use a separate "private" variable required to be pointing to
	the GdkWindowObject of the "window" variable at all times. Just
	use casts, even if looks a bit uglier.

	Notice destroyed windows as early as possible, and break out of
	the messsage switch.

	Use _gdk_pointer_root as current_window when the pointer is
	outside GDK's top-level windows.

	On WM_INPUTLANGCHANGE, set _gdk_input_locale_is_ime as
	appropriate, based on ImmIsIME().

	(gdk_event_translate, gdk_event_send_client_message_for_display,
	gdk_screen_broadcast_client_message): Implement client messages.
	Use a registered Windows message to pass GDK client messages. Note
	that the amount of user data is restricted to four bytes, as it is
	carried in the LPARAM. (The WPARAM is used for the message type
	"atom".)

	(real_window_procedure): Adapt for new gdk_event_translate()
	interface.

	* gdk/win32/gdkmain-win32.c (_gdk_windowing_init): Set
	_gdk_input_locale_is_ime initially.

	* gdk/win32/gdkwindow-win32.c: Use g_object_ref()/unref() instead
	of g_colormap_ref()/unref().

	(gdk_window_new): Made code a bit more like the X11 one, pretend
	to handle screens (although we just have one for now).

	* gdk/x11/gdkevents-x11.c
	(gdk_event_send_client_message_for_display,
	gdk_screen_broadcast_client_message): Document the user data
	limitation on Win32.

	* gdk/win32/gdkevents-win32.c (print_event): More complete enter
	and leave notify detail output.

	* gdk/win32/gdkkeys-win32.c (update_keymap): Make dead keys
	visible to GDK and GTK. Store the corresponding GDK_dead_* keysym
	for those, so that the GtkIMContextCimple compose tables will
	work. Deduce if the keyboard layout has the AltGr key, and set the
	above flag accordingly.
2003-07-26 01:54:59 +00:00
Hans Breuer
364272b5b9 new file to build it all ... added to EXTRA_DIST
2003-07-20  Hans Breuer  <hans@breuer.org>

	* makefile.msc : new file to build it all
	* Makefile.am : ... added to EXTRA_DIST

	* gdk/makefile.msc gtk/stock-icons/makefile.msc
	  gtk/makefile.msc.in tests/makefile.msc : updated

	* gdk/gdk.def gtk/gtk.def : export a bunch of new
	functions

	* gtk/gtkbbox.c : use g_return_val_if_fail() if
	there is a value to return

	* gtk/gtkfontsel.c gtk/gtkiconfactory.c :
	static correctness

	* gtk/gtkicontheme.c : ported to use GTimeVal instead of
	struct timeval and GTK_DATA_PREFIX instead of GTK_DATADIR

	* gtk/gtkicontheme.c : use HAVE_LC_MESSAGES

	* gtk/gtkimmulticontext.c : use gtkprivate.h

	* gtk/stock-icons/stock_color_picker_25.png
	  gtk/stock-icons/stock_jump_to_rtl_16.png
	  gtk/stock-icons/stock_jump_to_rtl_24.png
	  gtk/stock-icons/stock_redo_rtl_16.png
	  gtk/stock-icons/stock_redo_rtl_24.png
	  gtk/stock-icons/stock_undelete_rtl_16.png
	  gtk/stock-icons/stock_undelete_rtl_24.png
	  gtk/stock-icons/stock_undo_rtl_16.png :
	  gtk/stock-icons/stock_undo_rtl_24.png :
	readded as binary
2003-07-20 15:50:14 +00:00
Jody Goldberg
b42280f708 fix cut-n-paste-o
2003-07-16  Jody Goldberg <jody@gnome.org>

	* gdk/x11/gdkwindow-x11.c (gdk_window_focus) : fix cut-n-paste-o
2003-07-18 17:42:17 +00:00
Matthias Clasen
a0829aa499 API doc updates. 2003-07-14 22:13:33 +00:00
Owen Taylor
50da0ae808 gdk/x11/gdkevents-x11.c (get_real_window) gdk/x11/gdkinput-x11.c
Tue Jul  8 20:11:04 2003  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkevents-x11.c (get_real_window)
        gdk/x11/gdkinput-x11.c (_gdk_input_common_init)
        gdk/x11/gdkimage-x11.c (_gdk_windowing_image_init)
        gdk/x11/gdkprivate-x11.h (_gdk_windowing_image_init)
        Don't assume that all events start with XEventAny - Xkb events
        don't! (#105745). So, only do that for core events, and for
        non-core events, add a system for registering event types
        that start with XEventAny.

        * gdk/x11/gdkevents-x11.c (gdk_event_translate):
        Check to see if the result of gdk_window_lookup_for_display()
        is actually a window.
2003-07-11 19:57:01 +00:00
Morten Welinder
469f6e87a5 Fix memory access error. (#69436)
2003-07-11  Morten Welinder  <terra@gnome.org>

	* gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixbuf): Fix memory
	access error.  (#69436)
2003-07-11 17:32:49 +00:00
Kristian Rietveld
8aafd6bb16 Merge from stable.
Wed Jul  9 19:48:26 2003  Kristian Rietveld  <kris@gtk.org>

	Merge from stable.

	* gdk/gdkdisplay.c (gdk_display_get_window_at_pointer): don't
	directly return from ->window_at_pointer, but set win_x and win_y
	first if needed. (Fixes #110166, reported by Arno Charlet).

	* gdk/gdkwindow.c (gdk_window_get_composite_drawable): change
	function to accept GdkDrawables and not just GdkWindows. This was
	already done in some other functions a while back, but this patch
	got lost for some reason.
2003-07-09 18:00:21 +00:00
Kristian Rietveld
b960ba4f02 dear cvs, please SHUT UP love, -kris
dear cvs,
  please SHUT UP
love,
  -kris
2003-07-09 17:57:51 +00:00
Owen Taylor
8500d9458e Change _gdk_x11_send_xevent_async() to
Tue Jul  8 17:36:21 2003  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkasync.[ch] gdk/gdkdnd-x11.c:
        Change _gdk_x11_send_xevent_async() to
        _gdk_x11_send_client_message_async() avoid using Xlib
        internals that are different on Solaris.
        (#116917, Morten Welinder)
2003-07-08 22:27:47 +00:00
Owen Taylor
ba999da1d8 Lookup all the atoms in the target list at once.
Sat Jul  5 09:55:38 2003  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkdnd-x11.c (precache_target_list): Lookup
        all the atoms in the target list at once.

        * gdk/x11/gdkdnd-x11.c (gdk_drag_get_protocol_for_display):
        Local drag short-circuit.

        * gdk/x11/gdkdnd-x11.c (gdk_drag_motion): For the
        local case, poke the actions in directly instead of
        going through xdnd_set_actions.

        * gdk/x11/gdkdnd-x11.c (xdnd_read_actions): Short-circuit
        the local case.

        * gdk/x11/gdkdnd-x11.c (xdnd_manage_source_filter): Don't
        XSelectInput()/add a filter if the drag is local.

        * gdk/x11/gdkdnd-x11.c (gdk_drag_get_selection):
        Simplify handling of "XdndSelection".

        * gdk/x11/gdkevents-x11.c (gdk_event_send_client_message_to_all_recurse): Somehow,
        a WM_STATE => _NET_WM_STATE change hand been made here.

        * gdk/x11/gdkproperty-x11.c (_gdk_x11_precache_atoms): Free
        xatom_names, not atom_names.

        * tests/testdnd.c (target_drag_motion): Make the trashcan
        open again. (Got lost in deprecation cleanup.)
2003-07-05 15:02:35 +00:00
Owen Taylor
e5561940f2 Move the grabs up earlier, so we don't get a big pile of uncompressed
Sat Jul  5 00:49:32 2003  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkdnd.c (gtk_drag_begin): Move the grabs up
        earlier, so we don't get a big pile of uncompressed
        motion events before the grab takes effect.

        * gtk/gtkdnd.c (gtk_drag_update_icon): Call
        gdk_window_process_all_updates() so that the area
        we are dragging over gets a change to redraw.

        * gtk/gtkdnd.c (_gtk_drag_dest_handle_event): Use
        gdk_window_get_position(), not gdk_window_get_origin().

        * gdk/x11/gdkwindow-x11.[ch] (gdk_window_have_shape_ext)
        gdkdisplay-x11.h: use XShapeQueryExtension to
        avoid duplicate XQueryExtension when we actually
        use it. Remove unnecessary caching in GdkDisplayX11.
2003-07-05 05:27:11 +00:00
Owen Taylor
58a7f9f72a Function to get a range of information about all the children of a window
Fri Jul  4 23:49:22 2003  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkasync.[ch] (_gdk_x11_get_window_child_info):
        Function to get a range of information about all the
        children of a window in a single pass.

        * gdk/x11/gdkdnd-x11.c (get_client_window_at_coords_recurse)
        gdk/x11/gdkdnd-x11.c (gdk_window_cache_new): Use
        _gdk_x11_get_window_child_info() to greatly reduce
        the number of roundtrips.
2003-07-05 04:22:06 +00:00
Owen Taylor
60149b3275 Add a function to XSendEvent() and call a calback on failure/success.
Fri Jul  4 22:57:18 2003  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkasync.[ch] (_gdk_send_xevent_async): Add
        a function to XSendEvent() and call a calback on
        failure/success.

        * gdk/x11/gdkdnd-x11.c (xdnd_send_xevent): Short-circuit
        messages to the same process, use _gdk_send_xevent_async().
2003-07-05 03:02:21 +00:00
Owen Taylor
8625065817 Split toplevel-specific pieces of GdkWindowImplX11 into a separate
Fri Jul  4 22:26:27 2003  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkwindow-x11.[ch] gdkevents-x11.c: Split
        toplevel-specific pieces of GdkWindowImplX11 into
        a separate GdkToplevelX11 structure.
2003-07-05 02:34:52 +00:00
Owen Taylor
bce0622bd6 Fix some leftover fields.
Fri Jul  4 22:05:09 2003  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkasync.c (struct _SetInputFocusState): Fix
        some leftover fields.
2003-07-05 02:06:04 +00:00
Owen Taylor
9bedbf662d Use asynchronously _gdk_x11_set_input_focus_safe to avoid having to trap
Fri Jul  4 15:57:52 2003  Owen Taylor  <otaylor@redhat.com>

	* gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter):
	Use asynchronously _gdk_x11_set_input_focus_safe
	to avoid having to trap errors and XSync().

	* gdk/x11/gdkwindow-x11.c (gdk_window_focus): Use
	_gdk_x11_set_input_focus_safe() here as well.

	* gdk/x11/gdkevents-x11.c (gdk_check_wm_state_changed):
	Rework handling of property notifies on _NET_WM_STATE
	so that we ignore _NET_WM_DESKTOP notifies unless we
	really care.

	* gdk/x11/gdkimage-x11.c (gdk_image_check_xshm): Use
	XShmQueryExtension() rather than XQueryExtension() to
	avoid extra rountrip.

	* gdk/x11/gdkwindow-x11.c (_gdk_windowing_window_init):
	Remove unused call to XGetWindowAttributes()

	* gdk/x11/gdkdisplay-x11.c (gdk_display_open): Remove
	unused call to XGetKeyboardControl().

	* gdk/x11/gdkdisplay-x11.c gdk/gdk.def (gdk_display_flush):
	Add (#99571)

	* gdk/win32/gdkevents-win32.c gdk/linux-fb/gdkevents-fb.c
	No-op implementations of gdk_display_flush().

	* gdk/gdkwindow.c (gdk_window_process_all_updates): Use
	gdk_display_flush() rather than gdk_flush() to avoid
	XSync().

	* gdk/x11/gdkwindow-x11.c (update_wm_hints)
	gdk/x11/gdkwindow-x11.h: Centralize all handling of WM_HINTS here
	so that we don't have to get the property back from the server.

	* gdk/x11/gdkwindow-x11.c (show_window_internal): Store
	the serial of when we map a toplevel to allow optimizing
	out notifies on _NET_WM_STATE/_NET_WM_DESKTOP.

	* gdk/x11/gdkevents-x11.c (gdk_event_translate): Don't
	XTranslateCoordinates() for override-redirect windows.

Fri Jul  4 15:59:27 2003  Owen Taylor  <otaylor@redhat.com>

	* gdk/x11/gdkwindow-x11.c (gdk_window_set_group): Remove comment
	about setting window group after the window is mapped from docs
	- nothing the ICCCM forbids that.

	* gdk/x11/gdkcursor-x11.c (gdk_display_get_maximal_cursor_size):
	Fix g_return_val_if_fail() in void return function.

	* configure.in: Fix misplaced comma that was resulting
	in XShm always being disabled.
2003-07-05 01:54:05 +00:00
Tor Lillqvist
aac21b6f6a We can calculate the width and height of the bounding rectangle only after
2003-07-04  Tor Lillqvist  <tml@iki.fi>

	* gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_polygon,
	gdk_win32_draw_segments, gdk_win32_draw_lines): We can calculate
	the width and height of the bounding rectangle only after the
	minumum x and y have been found, and need a separate loop for
	it. Thanks to Bruce Hochstetler for providing a sample program
	exhibiting the bug.
2003-07-04 00:23:03 +00:00
Tor Lillqvist
7b08cb1796 Add gdk_string_to_compound_text_for_display. (#116537, Peter Zelezny)
2003-07-03  Tor Lillqvist  <tml@iki.fi>

	* gdk/gdk.def: Add gdk_string_to_compound_text_for_display.
	(#116537, Peter Zelezny)
2003-07-03 23:16:44 +00:00
Owen Taylor
a72aed4ea2 Implement a loader for named themed icon based on from gnome-desktop
Wed Jul  2 18:00:56 2003  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkicontheme.[ch]: Implement a loader for
        named themed icon based on from gnome-desktop library
        by Alex Larsson.

        * gtk/gtkiconthemeparser.[ch]: .ini file parsing code
        from gnome-desktop.

        * gtk/gtkiconfactory.[ch]: Add
        gtk_icon_source_set/get_icon_name() to allow stock icons
        to be based off of named theme icons.

        * gtk/gtkiconfactory.c: Rework sources so that the source
        is *either* a pixbuf, or a filename, or an icon name,
        instead of the pixbuf/filename mix it was before. Put a
        workaround for get_pixbuf() so that it can return the
        filename pixbuf, e.g, for render_icon().

        * gtk/gtkiconfactory.c: Make the default setup use
        themed icons, and add builtin icons to the default
        icon theme for all the standard pixbufs, so we
        don't rely on actually having an icon theme on disk.

        * gtk/gtkrc.c: Add support for @"icon-name" to specify
        a themed icon for a stock icon source.

        * tests/Makefile.am test/testicontheme.c: Add a test
        program from gnome-desktop.

        * gdk/x11/gdkevents-x11.c gtk/gtksettings.c: Add
        Net/IconThemeName / gtk-icon-theme-name setting.

        * gtk/gtkiconfactory.c (ensure_cache_up_to_date): Actually
        update the icon cache serial so we don't continually

        * gtk/gtkwidget.c: Fix a couple of references in doc comments
        to ::direction_set that should have been to ::direction-changed
2003-07-02 22:44:09 +00:00
Tor Lillqvist
f976beaf41 WindowFromPoint() wants screen coordinates (#115422, Tim Evans).
2003-07-01  Tor Lillqvist  <tml@iki.fi>

	* gdk/win32/gdkwindow-win32.c (_gdk_windowing_window_get_pointer):
	WindowFromPoint() wants screen coordinates (#115422, Tim Evans).
2003-07-01 11:14:46 +00:00
Matthias Clasen
eb7135adb5 Check for Xcursor.
2003-07-01  Matthias Clasen  <maclas@gmx.de>

	* configure.in: Check for Xcursor.

	* gdk/x11/gdkcursor-x11.c:
	* gdk/gdkdisplay.h:
	* gdk/gdkcursor.h: RGBA cursor support based on Xcursor. New functions:
	gdk_cursor_new_from_pixbuf(), gdk_display_supports_cursor_alpha(),
	gdk_display_supports_cursor_color(), gdk_display_get_default_cursor_size() and
	gdk_display_get_maximal_cursor_size().  (#69436)
2003-06-30 22:30:54 +00:00
Tor Lillqvist
33902a67f0 New function, callback proc for EnumWindows().
2003-06-30  Tor Lillqvist  <tml@iki.fi>

	* gdk/win32/gdkdnd-win32.c (find_window_enum_proc): New function,
	callback proc for EnumWindows().
	(gdk_drag_find_window_for_screen): Actually take the drag_window
	argument into account: Instead of using WindowFromPoint(), use
	EnumWindows(), to be able to skip the drag_window. (#116320, Tony
	M Brown, Herman Bloggs)

	* gdk/win32/*.c: Replace gdk_drawable_ref()/unref() and
	gdk_window_ref()/unref() calls with g_object_ref()/unref().
	Consistently use %p format in debugging output of pointers and
	HANDLEs.
2003-06-30 21:58:24 +00:00
Tor Lillqvist
323bcc614d Fix for #111028, thanks to J. Ali Harlow, who writes: I found that the
2003-06-28  Tor Lillqvist  <tml@iki.fi>

	Fix for #111028, thanks to J. Ali Harlow, who writes:
	I found that the GdkPixmap->GdkImage reference really isn't
	important. It's only really there to have somewhere convenient to
	store the location of the pixel data in the pixmap and as an easy
	way of accessing the dimensions of that data. I have therefore put
	together a fix which removes this reference entirely which seems
	to solve the problem.

	* gdk/win32/gdkpixmap-win32.h (struct _GdkPixmapImplWin32):
	Instead of a pointer to a GdkImage, keep a pointer to the pixels
	directly.

	* gdk/win32/gdkimage-win32.c (_gdk_win32_setup_pixmap_image): Remove.
	(_gdk_win32_new_image): New function, replacing the above. Creates
	a GdkImage without any associated GdkPixmap.
	(gdk_image_new_bitmap, _gdk_image_new_for_depth): Use it instead.

	* gdk/win32/gdkprivate-win32.h: Remove from here, too.

	* gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap)
	* gdk/win32/gdkdrawable-win32.c (blit_from_pixmap)
	* gdk/win32/gdkgc-win32.c (_gdk_win32_bitmap_to_hrgn)
	* gdk/win32/gdkmain-win32.c (_gdk_win32_drawable_description):
	* gdk/win32/gdkpixmap-win32.c (gdk_pixmap_impl_win32_finalize,
	gdk_pixmap_new, gdk_bitmap_create_from_data, gdk_pixmap_foreign_new)
	Corresponding changes.
2003-06-28 01:12:51 +00:00
Tor Lillqvist
25359a2a06 When emulating X11's automatic grab on button down, pass owner_events as
2003-06-21  Tor Lillqvist  <tml@iki.fi>

	* gdk/win32/gdkevents-win32.c (gdk_event_translate): When
	emulating X11's automatic grab on button down, pass owner_events
	as FALSE. According to the XLib spec, automatic grabs use True for
	owner_events when OwnerGrabButtonMask is selected, and I don't see
	the X11 backend doing that. (#110271)
	(find_window_for_pointer_event): Improve debugging output.
2003-06-22 00:21:03 +00:00
Owen Taylor
85d8c33706 Use application/x-rootwindow-drop for root window drops. (#108670, Alex
Sun Jun  8 22:03:09 2003  Owen Taylor  <otaylor@redhat.com>

        * tests/testdnd.c: Use application/x-rootwindow-drop for
        root window drops. (#108670, Alex Larsson)

        * gdk/x11/gdkdnd-x11.c (gdk_drag_motion) gtk/gtkdnd.c (gtk_drag_drop):
        Accept either application/x-rootwin-drop (what GTK+ has always used)
        or application/x-rootwindow-drop (what the XDND standard specifies).
2003-06-09 02:13:42 +00:00
Owen Taylor
075958ac88 Before delivering an event to a widget, check that (if relevant), the
Fri Jun  6 11:07:33 2003  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkwidget.c (event_window_still_viewable):
        Before delivering an event to a widget, check that
        (if relevant), the event's window is still viewable.
        (#105642, Dennis Björklund)

        * gdk/gdkwindow.c (_gdk_window_destroy_hierarchy):
        NULL out private->parent, since after destruction
        it might not be valid any more.

        * gdk/gdkwindow.c (gdk_window_is_viewable): Fix some
        accesses before g_return_val_if_fail(). Treat
        DESTROYED windows as unmapped.
2003-06-09 01:55:01 +00:00
Soeren Sandmann
d94c09a118 swap G and B. Fixes (#114669)
Sun Jun  8 18:27:14 2003  Soeren Sandmann  <sandmann@daimi.au.dk>

	* gdk/gdkpixbuf-drawable.c (G8fromRGB565): swap G and B.
	Fixes (#114669)
2003-06-08 16:15:16 +00:00
Tor Lillqvist
f91ae98003 Fix typo.
2003-06-06  Tor Lillqvist  <tml@iki.fi>

	* gdk/win32/gdkprivate-win32.h: Fix typo.
2003-06-06 23:06:29 +00:00
Tor Lillqvist
37ccf562d7 Set graphics_exposures and subwindow_mode, too, even if they aren't
2003-06-06  Tor Lillqvist  <tml@iki.fi>

	* gdk/win32/gdkgc-win32.c (_gdk_win32_gc_new): Set
	graphics_exposures and subwindow_mode, too, even if they aren't
	currently used.
2003-06-06 22:55:55 +00:00
Tor Lillqvist
72a70cb646 Handle global filters.
2003-06-05  Tor Lillqvist  <tml@iki.fi>

	* gdk/win32/gdkevents-win32.c (gdk_event_translate): Handle global
	filters.
2003-06-05 22:05:14 +00:00
Owen Taylor
f9a478644e When drawing underlines, join up adjacent runs where possible, so we don't
Wed Jun  4 19:42:17 2003  Owen Taylor  <otaylor@redhat.com>

        * gdk/gdkpango.c (gdk_draw_layout_line_with_colors):
        When drawing underlines, join up adjacent runs
        where possible, so we don't get changes in
        shaper/font/etc. breaking underlines. (#103662,
        Kang Jeong-Hee)
2003-06-04 23:47:23 +00:00
Owen Taylor
76fc08a3fc Keep track of when we have a clip mask set for the GC, and when we unset
Wed Jun  4 19:24:28 2003  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkgc-x11.c gdk/x11/gdkprivate-x11.h: Keep
        track of when we have a clip mask set for the GC,
        and when we unset it, or switch to a clip region,
        immediately call XSetClipMask (..., None) to avoid
        Xlib caching stale data. (#111806)

        * gtk/gtktextdisplay.c: Don't set a clip mask
        when drawing alpha pixmaps; it isn't necessary any more.
        (#111806)
2003-06-04 23:26:52 +00:00
Owen Taylor
eb6debd4e0 Don't respond to pings on a root window; prevents infinite loops if we are
Tue Jun  3 18:32:30 2003  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter): Don't
        respond to pings on a root window; prevents infinite
        loops if we are selecting for SubstructureNotify on the
        root window. (#111945, Sergey V. Udaltsov)
2003-06-03 22:43:15 +00:00
Owen Taylor
84ebfb7efa #71597, reported by Morten Welinder
Tue Jun  3 17:39:16 2003  Owen Taylor  <otaylor@redhat.com>

        #71597, reported by Morten Welinder

        * gdk/gdkpixbuf-drawable.c (rgb888amsb): Fix and simplify
        (Patch from Christian Petig)

        * gdk/gdkpixbuf-drawable.c (rgb{555,565}{a,}{msb,lsb}):
        Major rewrite of 555 and 565 conversion routines:

        - Move all the bit shifting into a small block of macros,
          eliminating much duplication of complicated arithmetic.
        - Get rid of 2-pixels at a time code, which was buggy,
          hard to maintain, caused unaligned accesses, and
          probably didn't actually perform any better.
        - Simplify cases where different data types were
          used for the little and big endian cases, use
          GUINT16_SWAP_LE_BE() where appropriate.
2003-06-03 22:09:11 +00:00
Owen Taylor
794a3a9fbc Remove bad optimization for src_rowstride == dest_stride. (Didn't consider
Tue Jun  3 15:05:47 2003  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkdrawable-x11.c (convert_to_format): Remove
        bad optimization for src_rowstride == dest_stride.
        (Didn't consider the case where we were copying only
        partial widths of a wider source buffer)
        (#113034, reported by Hans Petter Jansson)
2003-06-03 19:12:37 +00:00
Michael Natterer
ace98abaaa reenabled button_release events for xinput devices. (#113948)
2003-06-03  Michael Natterer  <mitch@gimp.org>

	* gdk/x11/gdkinput-x11.c (_gdk_input_common_find_events):
	reenabled button_release events for xinput devices. (#113948)
2003-06-03 18:47:20 +00:00
Sven Neumann
b5059b9873 added a missing cast.
2003-06-02  Sven Neumann  <sven@gimp.org>

	* gtk/gtkprogress.c (gtk_progress_changed): added a missing cast.

	* gdk/gdkrgb.c (gdk_rgb_try_colormap): removed an unused variable.
2003-06-02 14:14:41 +00:00
Matthias Clasen
83c626bbe0 Remove dubious bitfields of unspecified signedness. (#112919, Morten
2003-05-27  Matthias Clasen  <maclas@gmx.de>

	* io-wbmp.c: Remove dubious bitfields of
	unspecified signedness.  (#112919, Morten Welinder)gdk-p

	* gdk-pixdata.c (gdk_pixdata_to_csource): Replace all occurances
	of g_string_new ("") by g_string_new (NULL). (#106975, Morten Welinder)

	* gtk/gtkwindow-decorate.c:
	* gtk/gtktreeprivate.h:
	* gtk/gtkdnd.c:
	* gdk/win32/gdkwindow-win32.h:
	* gdk/linux-fb/gdkprivate-fb.h:
	* gdk/linux-fb/gdkkeyboard-fb.c: Remove dubious bitfields of
	unspecified signedness.  (#112919, Morten Welinder)

	* gtk/queryimmodules.c (escape_string):
	* gtk/gtktextbtree.c (_gtk_text_btree_get_text):
	* gtk/gtksettings.c (_gtk_settings_parse_convert):
	* gtk/gtkrc.c (gtk_rc_parse_assignment):
	* gtk/gtkinputdialog.c (gtk_input_dialog_set_key):
	* gdk/x11/gdkdisplay-x11.c (escape_for_xmessage): Replace all
	occurances of g_string_new ("") by g_string_new (NULL). (#106975,
	Morten Welinder)
2003-05-27 21:21:00 +00:00
Tor Lillqvist
fd99f43ac5 Only include the Default and Emacs themes' gtkrc files. Include
2003-05-27  Tor Lillqvist  <tml@iki.fi>

	* gtk-zip.sh.in: Only include the Default and Emacs themes' gtkrc
	files. Include share/gtk-doc/{gdk-pixbuf,gdk,gtk}.

	* gdk/Makefile.am: libgdk-win32-2.0.la depends on
	win32/libgdk-win32.la.

	* gtk/gtk.def: Add gtk_tree_view_column_cell_get_position.
2003-05-27 18:36:19 +00:00
Matthias Clasen
81c9d969d3 Use XftDrawSetClipRectangles(), since we're inside HAVE_XFT2 anyway.
2003-05-22  Matthias Clasen  <maclas@gmx.de>

	* gdk/x11/gdkdrawable-x11.c (gdk_x11_drawable_update_xft_clip):
	Use XftDrawSetClipRectangles(), since we're inside HAVE_XFT2
	anyway.  (#113476)
2003-05-21 22:37:35 +00:00
Owen Taylor
ef6053684b Comprehensively zero all unused parts of client messages (Mainly Motif DND
Tue May 20 15:09:29 2003  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkdnd-x11.c gdk/x11/gdkwindow-x11.c: Comprehensively
        zero all unused parts of client messages (Mainly Motif DND
        and EWMH). Also, fix a couple places where we were putting
        contents into Motif DND messages that didn't belong.
        (#113361, EWMH problem reported by Lubos Lunak)

        * gtk/gtkselection.c (_gtk_selection_request): Handle the
        case where the property type for the multiple atoms is
        ATOM_PAIR by doing the conversions ourselve. This is
        needed for Xt inter-operation.
2003-05-20 21:01:08 +00:00
Owen Taylor
ba270fe70c Patch from Vasilis Vasaitis to fix Greek_IOTAdi[a]eresis inconsistency and
Wed May 14 17:45:32 2003  Owen Taylor  <otaylor@redhat.com>

        * gdk/gdkkeysyms.h gdk/gdkkeynames.c gdk/gdkkeyuni.c:
        Patch from Vasilis Vasaitis to fix Greek_IOTAdi[a]eresis
        inconsistency and leave the old name as an aliass (#104873)
2003-05-14 21:46:59 +00:00
Owen Taylor
d4d077677c Remove unecessary g_return_if_fail(). (#105500, Morten Welinder.)
Wed May 14 16:00:51 2003  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkgc-x11.c: Remove unecessary g_return_if_fail().
        (#105500, Morten Welinder.)
2003-05-14 20:02:25 +00:00
Owen Taylor
629a0e1424 Patch from James Henstridge to update to automake-1.7 (#109542)
Tue May  6 16:50:52 2003  Owen Taylor  <otaylor@redhat.com>

        Patch from James Henstridge to update to automake-1.7
        (#109542)

        * autogen.sh: update to call newer tools.

        * configure.in: various updates, to use M4 macros to put
        variables that change each release at the top.
        Use AC_HELP_STRING to format help strings.
        Use AC_CONFIG_COMMANDS to generate gdkconfig.h.

        * Makefile.am: require Automake 1.7.  Remove gdk-2.0.pc and
        gtk+-2.0.pc on uninstall.  Pass --enable-gtk-doc to configure
        during distcheck.

        * docs/reference/*/Makefile.am: simplify to use the gtk-doc.make
        makefile fragment.

        * */Makefile.am: don't use STRIP_BEGIN/STRIP_END.
        Use BUILT_SOURCES where appropriate.
        Build generated files in builddir rather than srcdir.
        Fix uninstall and distclean targets to satisfy distcheck.

        ===

        * gdk/*/Makefile.am: Remove the hacks to get gdkenumtypes.h
        built first, since we are now using BUILT_SOURCES.

        * gdk/Makefile.am: Remove an outdated comment about gdk_headers.

        * demos/gtk-demo/Makefile.am: Fix srcdir != buildd problem
        with geninclude.pl.

        * configure.in: Update versions to 2.3.0.
2003-05-06 21:55:41 +00:00
Tor Lillqvist
2e58122c79 Fix for #110165 (thanks to Arnaud Charlet):
2003-05-06  Tor Lillqvist  <tml@iki.fi>

	Fix for #110165 (thanks to Arnaud Charlet):

	* gdk/win32/gdkevents-win32.c (build_keypress_event,
	build_keyrelease_event): For unshifted control char, use
	lowercase ASCII keyval.
	(gdk_event_translate): Similarily, when handling WM_SYSKEYDOWN and
	UP (i.e. Alt-something), if it's an unshifted ASCII letter, use
	lowercase keyval. Use build_key_event_state() here, too, instead
	of minor code duplication.
2003-05-06 21:44:55 +00:00
Owen Taylor
355a5ee8ab Patch from Alex Larsson fixing problem with restacking during DND.
Mon Apr 21 18:13:46 2003  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkdnd-x11.c (gdk_window_cache_filter): Patch
        from Alex Larsson fixing problem with restacking during
        DND. (#108671)
2003-04-21 22:18:05 +00:00
Owen Taylor
dd6426b51e Calling XFlush() after ungrabbing, to avoid problems if the app
Mon Apr 21 15:07:29 2003  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkdisplay-x11.c (gdk_display_keyboard/pointer_ungrab):
        Calling XFlush() after ungrabbing, to avoid problems if
        the app subsequently blocks on a long-running operation.
        (#106520, reported by Rajkumar Siva)
2003-04-21 19:11:45 +00:00
Owen Taylor
feff41c77b Add SKIP_TASKBAR/SKIP_PAGER to set of properties we might set on map.
Fri Apr 18 17:42:45 2003  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkwindow-x11.c (set_initial_hints): Add
        SKIP_TASKBAR/SKIP_PAGER to set of properties we
        might set on map. (#110019, problem reported
        by Loban Rahman)
2003-04-21 19:03:15 +00:00
Owen Taylor
b3097032f8 Fix for the case when gdk_event_copy() is called on a non-allocated event.
Fri Apr 18 17:14:33 2003  Owen Taylor  <otaylor@redhat.com>

        * gdk/gdkevents.c (gdk_event_copy): Fix for the
        case when gdk_event_copy() is called on a non-allocated
        event. (#109716, reported by Rich Burridge)
2003-04-18 21:24:43 +00:00
Owen Taylor
89b2a072ff Fix pointer arithmetic on 'void *'. (#108322)
Fri Apr 18 16:57:44 2003  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkdrawable-x11.c (draw_with_images/pixmaps):
        Fix pointer arithmetic on 'void *'. (#108322)
2003-04-18 20:59:49 +00:00
Owen Taylor
ac2ef34988 Check for XAddConnectionWatch()/X11R6, and if found, disable XIM and use
Fri Apr 18 16:31:49 2003  Owen Taylor  <otaylor@redhat.com>

        * configure.in gdk/x11/gdkdisplay-x11.c modules/input/Makefile.am:
        Check for XAddConnectionWatch()/X11R6, and if found, disable XIM and
        use of XAddConnectionWatch. Remove --enable-xim config option.
        Should fix building on X11R6 (#110523, Albert Chin
2003-04-18 20:53:37 +00:00
Owen Taylor
dcaf1b80e2 Patch from Morten Welinder to catch Sun servers with a broken
Fri Apr 18 15:56:46 2003  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkdisplay-x11.[ch] gdk/x11/gdkdrawable-x11.[ch]:
        Patch from Morten Welinder to catch Sun servers with a
        broken implementation of the RENDER extension. (#108309)
2003-04-18 20:21:44 +00:00
Owen Taylor
5e5dd39adf Use gdk_free_compound_text(), not g_free(). (#107643, Michael Zucchi)
Fri Apr 18 15:30:38 2003  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkwindow-x11.c (set_text_property): Use
        gdk_free_compound_text(), not g_free(). (#107643,
        Michael Zucchi)
2003-04-18 19:33:37 +00:00
Owen Taylor
f964a0e1f8 Fix wrong use of base_finalize. (#105126, Sven Neumann)
Fri Apr 18 15:11:50 2003  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkdisplay-x11.c (_gdk_display_x11_get_type)
        gdk/x11/gdkscreen-x11.c (_gdk_screen_x11_get_type): Fix
        wrong use of base_finalize. (#105126, Sven Neumann)
2003-04-18 19:18:27 +00:00
Owen Taylor
cfd2e98362 Fix '/' vs. '*' problem in aspect ration computations. (#108237)
Fri Apr 18 15:06:00 2003  Owen Taylor  <otaylor@redhat.com>

        * gdk/gdkwindow.c (gdk_window_constrain_size): Fix
        '/' vs. '*' problem in aspect ration computations. (#108237)
2003-04-18 19:09:03 +00:00
Owen Taylor
0e815d2ff0 You don't get a XkbMapNotify event if you get a XkbNewKeyboardNotify
Fri Apr 18 14:15:09 2003  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkdisplay-x11.c (gdk_display_open):
        * gdk/x11/gdkevents-x11.c (gdk_event_translate): You
        don't get a XkbMapNotify event if you get a XkbNewKeyboardNotify
        event, so select for both. (#108406, Egmont Koblinger)
2003-04-18 18:51:20 +00:00
Owen Taylor
1926dbc1f6 Flush after ungrabbing the server.
Mon Apr  7 19:43:15 2003  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkdisplay-x11.c (gdk_x11_display_ungrab): Flush
        after ungrabbing the server.

        * gdk/x11/gdkimage-x11.c: Remove some no-longer-needed
        calls to XFlush().

        * gdk/x11/gdkwindow-x11.c (_gdk_windowing_window_at_pointer):
        Use gdk_x11_display_grab/ungrab.
2003-04-07 23:47:59 +00:00
Tor Lillqvist
935dca854e Use the signed GET_X_LPARAM() and GET_Y_LPARAM() to extract x and y
2003-03-14  Tor Lillqvist  <tml@iki.fi>

	* gdk/win32/gdkevents-win32.c: Use the signed GET_X_LPARAM() and
	GET_Y_LPARAM() to extract x and y coordinates from an LPARAM or
	DWORD, and not the unsigned HIWORD() and LOWORD(). Systems with
	multiple monitors can have negative coordinates on some of the
	monitors. (partial fix for #99496, Arnaud Charlet)
2003-03-15 00:02:42 +00:00
Tor Lillqvist
b2698b3a58 On WM_MOUSEMOVE, the test whether we have actually moved (and thus
2003-03-13  Tor Lillqvist  <tml@iki.fi>

	* gdk/win32/gdkevents-win32.c (gdk_event_translate): On
	WM_MOUSEMOVE, the test whether we have actually moved (and thus
	shouldn't generate an GDK event) moved after the call to
	propagate() and translate_mouse_coords(). Otherwise we were
	testing wrong values. (#108115, Allin Cottrell)
	(gdk_event_translate): On WM_?BUTTONUP, set current_{x,y} the same
	way as in WM_?BUTTONDOWN and WM_MOUSEMOVE.
2003-03-13 01:44:27 +00:00
Tor Lillqvist
1e072f625c if a grab cursor is used, must copy the HCURSOR with CopyCursor(), as it
2003-03-13  Tor Lillqvist  <tml@iki.fi>

	* gdk/win32/gdkevents-win32.c (gdk_pointer_grab): if a grab cursor
	is used, must copy the HCURSOR with CopyCursor(), as it is OK to
	destroy the GdkCursor after calling gdk_pointer_grab(). Set the
	cursor right away with SetCursor(), as we won't get any
	WM_SETCURSOR messages while the mouse is captured.
	(gdk_display_pointer_ungrab): Correspondingly, destroy the copy
	with DestroyCursor() when no longer used. (#108114, Allin Cottrell)

	* gdk/win32/gdkevents-win32.c (gdk_event_translate): On
	WM_SYSCHAR, return FALSE from the window procedure to prevent the
	DefWindowProc from being called. Otherwise Windows would beep,
	thinking you are tring to access a (nonexistent) menu when you
	press Alt-something. Don't do this for Alt-Space,
	though. (#107454, Martyn Russell)

	* gdk/win32/gdkcursor-win32.c: Minor spacing and debug print fixes.
2003-03-13 00:57:14 +00:00
Tor Lillqvist
ae90aab7ff Don't try to compensate for LineTo() not drawing the end pixel. It causes
2003-03-09  Tor Lillqvist  <tml@iki.fi>

	* gdk/win32/gdkdrawable-win32.c (draw_segments): Don't try to
	compensate for LineTo() not drawing the end pixel. It causes more
	harm than benefits, see bug #81895.
2003-03-09 17:15:48 +00:00
Matthias Clasen
3db24eb81c Bug #107664 continued:
2003-03-08  Matthias Clasen  <maclas@gmx.de>

	Bug #107664 continued:

	* gdk/x11/gdkinputprivate.h:
	* gdk/x11/gdkinput-none.c (_gdk_input_window_none_event): Remove.
	(_gdk_input_other_event): Return gboolean.
	* gdk/x11/gdkinput-xfree.c (_gdk_input_window_none_event): Remove.
	(_gdk_input_other_event): Return gboolean.
	* gdk/x11/gdkinput-x11.c (_gdk_input_common_other_event): Return gboolean.

	* gdk/x11/gdkevents-x11.c (gdk_event_translate): Make return_val
	gboolean, remove pointless call to _gdk_input_window_none_event.

	* gdk/win32/gdkinput-win32.[hc] (_gdk_input_other_event): Return gboolean.
	(_gdk_input_window_none_event): Remove.

	* gtk/gtktextiter.c (_gtk_text_iter_get_indexable_segment):
	(_gtk_text_iter_get_any_segment):
	(_gtk_text_iter_get_segment_byte):
	(_gtk_text_iter_get_segment_char):
	(_gtk_text_iter_get_text_line):
	(_gtk_text_iter_get_btree): Fix 0/NULL confusion.
	* gdk/x11/gdkdnd-x11.c (motif_target_table_check): Return gint.
	* gdk/win32/gdkfont-win32.c (gdk_font_equal):
	* gdk/linux-fb/gdkwindow-fb.c (gdk_window_get_deskrelative_origin):
	(gdk_window_get_origin):
	* gdk/linux-fb/gdkcolor-fb.c (gdk_colors_alloc): Fix 0/FALSE confusion.
2003-03-08 21:11:39 +00:00
Matthias Clasen
d03b2741ad Trivial cleanups (bug #107664) 2003-03-08 20:49:00 +00:00
Matthias Clasen
285a25da03 Return gboolean, not gint. (#107664, Morten Welinder)
2003-03-06  Matthias Clasen  <maclas@gmx.de>

	* gdk/gdkrgb.c (gdk_rgb_try_colormap): Return gboolean, not gint.
	(#107664, Morten Welinder)

	* gdk/x11/gdkwindow-x11.c (gdk_window_get_deskrelative_origin):
	* gdk/x11/gdkfont-x11.c (gdk_font_equal):
	* gdk/x11/gdkdnd-x11.c (gdk_drag_get_protocol_for_display):
	Fix TRUE/1 and FALSE/0 confusion.  (#107664, Morten Welinder)

	* io-gif.c (gif_read): Fix 0/FALSE confusion (#107664, Morten Welinder)
2003-03-06 20:19:11 +00:00
Tor Lillqvist
ff234fcfc7 Add a bunch of missing entries. Noticed by Cedric Gustin.
2003-03-02  Tor Lillqvist  <tml@iki.fi>

	* gdk/gdk.def: Add a bunch of missing entries. Noticed by Cedric
	Gustin.
2003-03-02 20:06:53 +00:00
Manish Singh
dd74be94c6 demos/gtk-demo/main.c demos/gtk-demo/tree_store.c gdk/x11/gdkscreen-x11.c
Thu Feb 27 17:44:24 2003  Manish Singh  <yosh@gimp.org>

        * demos/gtk-demo/main.c
        * demos/gtk-demo/tree_store.c
        * gdk/x11/gdkscreen-x11.c
        * gtk/gtkcellrenderertoggle.c
        * gtk/gtkcolorsel.c
        * gtk/gtkdnd.c
        * gtk/gtkeditable.c
        * gtk/gtkentry.c
        * gtk/gtkmenu.c
        * gtk/gtkmenubar.c
        * gtk/gtkmenuitem.c
        * gtk/gtkmenushell.c
        * gtk/gtkrc.c
        * gtk/gtksettings.c
        * gtk/gtkstyle.c
        * gtk/gtktextbuffer.c
        * gtk/gtktextview.c
        * gtk/gtktreeviewcolumn.c
        * tests/testgtk.c
        * tests/testtext.c
        * tests/testtreeedit.c
        * tests/testtreefocus.c
        * tests/testtreeview.c: remove unnecessary G_OBJECT() casts.
2003-02-28 01:45:51 +00:00
Matthias Clasen
c69d7c02d0 Associate the keys_changed virtual function with the keys_changed signal.
2003-02-19  Matthias Clasen  <maclas@gmx.de>

	* gdk/gdkkeys.c (gdk_keymap_class_init): Associate the
	keys_changed virtual function with the keys_changed signal.
	(#106512, Jeff Franks)
2003-02-19 19:32:10 +00:00
Larry Ewing
8519917be6 copy the event axes as well.
2003-02-15  Larry Ewing  <lewing@ximian.com>

        * gdk/gdkevents.c (gdk_event_copy): copy the event axes as well.
2003-02-18 20:14:56 +00:00
Matthias Clasen
d566e483b6 Return a GdkVisual *, not a GdkVisual **. (#105243)
2003-02-06  Matthias Clasen  <maclas@gmx.de>

	* gdk/x11/gdkvisual-x11.c (gdk_visual_get_best_with_depth): Return
	a GdkVisual *, not a GdkVisual **.  (#105243)
2003-02-06 19:18:20 +00:00
Tor Lillqvist
ec9429b84d Merge from stable:
2003-02-01  Tor Lillqvist  <tml@iki.fi>

	Merge from stable:

	* gdk/win32/gdkpixmap-win32.c (gdk_pixmap_foreign_new_for_display,
	gdk_pixmap_lookup, gdk_pixmap_lookup_for_display): Implement.
	(#104108, Naofumi Yasufuku)

	* gdk/gdk.def: Export the above. Export
	gdk_screen_get_system_visual, noticed by Ed Woods.
2003-02-01 21:05:09 +00:00
Matthias Clasen
46d15e32bd Deprecate. (#60582)
2003-01-31  Matthias Clasen  <maclas@gmx.de>

	* gdk/gdkpixbuf.h:
	* gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable):
	(gdk_pixbuf_render_to_drawable_alpha): Deprecate.  (#60582)

	* gtk/gtkcolorsel.h:
	* gtk/gtkcolorsel.c (gtk_color_selection_set_change_palette_hook):
	Deprecate.  (#98167)
2003-01-31 00:37:38 +00:00
Matthias Clasen
2435e831cf Deprecate gtk_paned_computed_position(). (#97077)
2003-01-31  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkpaned.h: Deprecate gtk_paned_computed_position(). (#97077)

	* gtk/gtkmain.h: Deprecate the gtk_timeout_*, gtk_idle_*
	and gtk_input_* functions.  (#71596)

	* gtk/gtkentry.c (gtk_entry_move_cursor):
	* gtk/gtklabel.c (gtk_label_move_cursor): Handle
	GTK_MOVEMENT_HORIZONTAL_PAGES in switches.

	* gdk/gdk.h: Deprecate gdk_wcstombs() and gdk_mbstowcs().  (#79803)

	* gtk/gtkitemfactory.h:
	* gtk/gtkitemfactory.c (gtk_item_factory_add_foreign): Deprecate.
	(#69244)

	* gtk/tmpl/gtkmain.sgml: Deprecate the gtk_timeout_*, gtk_idle_*
	and gtk_input_* functions.  (#71596)
2003-01-31 00:08:35 +00:00
Owen Taylor
a04c0bb35f Remove the attempt-to-allocate then free code. To handle multiple people
Thu Jan 30 16:01:29 2003  Owen Taylor  <otaylor@redhat.com>

        * gdk/gdkrgb.c (gdk_rgb_try_colormap): Remove the
        attempt-to-allocate then free code. To handle multiple
        people allocating colors at the same time, we need
        to just go ahead and try. (#102213, Shivram U)
2003-01-30 21:19:46 +00:00
Owen Taylor
68eabf07e0 Make the translation of GDK_KP_Decimal dependent on LC_NUMERIC. (#101225)
Wed Jan 29 17:02:41 2003  Owen Taylor  <otaylor@redhat.com>

        * gdk/gdkkeyuni.c (get_decimal_char): Make the
        translation of GDK_KP_Decimal dependent on LC_NUMERIC.
        (#101225)
2003-01-29 22:24:36 +00:00
Manish Singh
57e9b8ef9c add a "return" at the end of the function, so there is a statement
Wed Jan 22 14:18:46 2003  Manish Singh  <yosh@gimp.org>

        * gdk/x11/gdkevents-x11.c (translate_key_event): add a "return" at
        the end of the function, so there is a statement following the "out"
        label in all cases (fixes #101961)
2003-01-22 22:14:00 +00:00
Tor Lillqvist
d867b9a8df Merge from stable:
2003-01-19  Tor Lillqvist  <tml@iki.fi>

	Merge from stable:

	Fix for #103614 and some other problems with GtkFileSelection on
	Windows:

	* gtk/fnmatch.c (get_char): Need to use g_unichar_tolower(), not
	g_ascii_tolower(). Windows file names are case-insensitive for all
	Unicode letters.

	* gtk/gtkfilesel.c: Instead of checking for G_OS_WIN32 or
	G_WITH_CYGWIN, check G_PLATFORM_WIN32. Move inclusion of gtkintl.h
	earlier, as it includes config.h unconditionally, and gtkprivate.h
	redefines GTK_LOCALEDIR.
	(struct _CompletionDirSent): Ifdef out the fields not used on
	Windows.
	(compare_utf8_filenames, compare_sys_filenames): Need different
	comparison implementation for UTF-8 file names and system locale
	file names on Win32. Cannot simply use g_ascii_strcasecmp(), but
	need to casefold all Unicode letters.
	(cmpl_completion_matches, open_dir, correct_parent): Ifdef out
	variables not used on Win32 to avoid warnings about unused
	variables.
	(open_ref_dir): Use g_path_skip_root() to skip past potential
	drive letter in front of the leading (back)slash.
	(open_new_dir): Ifdef out use of CompletionDirSent fields not
	there on Win32.
	(correct_parent): Bypass inode check also on Cygwin.

	Fix bug noticed by Alex Shaduri: Tooltips and other
	GDK_WINDOW_TEMP windows were activated. This looked very odd, and
	was a regression from earlier versions.

	* gdk/win32/gdkwindow-win32.c (show_window_internal): Fine-tune
	behaviour. Don't ever activate GDK_WINDOW_TEMP windows.
	(gdk_window_move, gdk_window_resize): Add debug logging.

	* gdk/win32/gdkevents-win32.c (gdk_event_translate): When we get a
	WM_SIZE message for a non-visible (withdrawn) window, don't clear
	the GDK_WINDOW_STATE_WITHDRAWN bit. The window is still withdrawn
	even if its size changes.
2003-01-19 21:18:15 +00:00
Tor Lillqvist
4a3c812b7d Merge from stable:
2003-01-12  Tor Lillqvist  <tml@iki.fi>

	Merge from stable:

	* gtk/gtkmain.c: Move inclusion of config.h and gtkintl.h earlier,
	as gtkprivate.h redefines GTK_LOCALEDIR on Win32, for run-time
	lookup.

	* gdk/Makefile.am (libgdk_win32_2_0_la_DEPENDENCIES): Depend on
	gdk.def.

	* gdk/gdk.def
	* gtk/gtk.def: Add some missing entries. Thanks to Kenichi SUTO.

	* gtk-zip.sh.in (DEVZIP): Add bin/{gtk-query-immodules-2.0,
	gtk-demo}.exe and share/gtk-2.0.

	* gdk/win32/gdkwindow-win32.c (gdk_window_set_skip_taskbar_hint):
	Implement by setting or clearing the WS_EX_TOOLWINDOW extended
	window style.
	(gdk_window_set_type_hint): Add all cases to the switch (not all
	do anything, though). Handle GDK_WINDOW_TYPE_HINT_TOOLBAR by
	calling gdk_window_set_skip_taskbar_hint(). This means that GTK
	won't know that the skip_taskbar hint is on for the window, is
	this bad?
2003-01-12 04:44:23 +00:00
Manish Singh
bd6ac8c69c #include <stdlib.h> for putenv, <string.h> for strlen.
Wed Jan  8 18:43:03 2003  Manish Singh  <yosh@gimp.org>

        * gdk/x11/gdkdisplay-x11.c: #include <stdlib.h> for putenv,
        <string.h> for strlen.

        * gdk/x11/gdkscreen-x11.c: #include <stdlib.h> for getenv,
        <string.h> for strrchr.

        * tests/testgtk.c (create_saved_position): "x" and "y" properties
        for widgets no longer exist, use gtk_window_move instead.

        * test/testtextbuffer.c (check_get_set_text): cast strlen to
        int for g_error.
2003-01-09 02:38:13 +00:00
Tor Lillqvist
0973b993f2 Use correct DLL and import library names, with GTK_API_VERSION in name,
2003-01-05  Tor Lillqvist  <tml@iki.fi>

	* gtk-zip.sh.in: Use correct DLL and import library names, with
	GTK_API_VERSION in name, not GTK_MAJOR_VERSION.GTK_MINOR_VERSION.
	(DEVZIP): Add gdk-pixbuf-query-loaders.exe.

	* configure.in: Improve check for dimm.h.

	* configure.in: Set SOEXT to 'so' on Unix, 'dll' on Win32. Used in
	gdk-pixbuf/Makefile.am.

	* gdk-pixbuf/makefile.mingw.in
	* gdk-pixbuf/pixops/makefile.mingw.in
	* gdk/makefile.mingw.in
	* gdk/win32/makefile.mingw.in
	* gtk/makefile.mingw.in: Remove. Not maintained anyway.

	* gdk-pixbuf/Makefile.am
	* gdk-pixbuf/pixops/Makefile.am
	* gdk/Makefile.am
	* gdk/win32/Makefile.am
	* gtk/Makefile.am
	* configure.in: Remove makefile.mingw{,.in} from here, too.

	* README.win32: Updates. Don't mention the now removed
	makefile.mingw files.

	* gdk/gdk.def
	* gtk/gtk.def: Add a couple of missing entries.

	* gdk/gdkkeynames.c: Include <string.h> for strcmp() and memcpy().

	* gdk/win32/gdkevents-win32.c: Move dimm.h header clash workaround
	earlier.

	* gdk/win32/rc/Makefile.am: Add hack to help
	build/win32/lt-compile-resource decide which kind of libtool
	object file to produce.
2003-01-05 02:24:15 +00:00
Tor Lillqvist
eee70b8153 Move the code that sets the window style and extended window style, and
2002-12-21  Tor Lillqvist  <tml@iki.fi>

	* gdk/win32/gdkwindow-win32.c (gdk_window_new): Move the code that
	sets the window style and extended window style, and adjusts the
	width and height to take the window decorations into account
	earlier. The adjusted width and height used to be ignored. Remove
	the local x, y, width and height variables, no need to further
	confuse the code by having local copies. (Partial fix, I hope, for
	#101588)

	(gdk_window_move): When moving top-level windows, take title bar
	and border width into account, offsetting the coordinates before
	calling SetWindowPos().

	(gdk_window_set_decorations, gdk_window_set_functions):
	Reimplement, taking into account the peculiar semantics of
	GDK_DECOR_ALL and GDK_FUNC_ALL. (#79036)

	(gdk_window_get_decorations): Implement. (#98981)

	(gdk_window_set_type_hint): When setting
	GDK_WINDOW_TYPE_HINT_MENU, call	gdk_window_set_decorations().
	(#79036)

	* gdk/gdk.def: Add gdk_window_get_decorations. (#98981)
2002-12-21 23:32:20 +00:00
Owen Taylor
9902a67094 Call the filters on the window where the event is received, not on the
Thu Dec 19 11:42:00 2002  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkevents-x11.c (gdk_event_translate): Call
        the filters on the window where the event is received,
        not on the window the event is "about". (#101512,
        Bolian Yin.)
2002-12-19 16:51:02 +00:00
Tor Lillqvist
85e7cab2ed Implement two missing functions (#101369)
2002-12-17  Tor Lillqvist  <tml@iki.fi>

	Implement two missing functions (#101369)

	* gdk/gdk.def: Add here, too.
2002-12-17 02:24:01 +00:00
Tor Lillqvist
7ed6dc1da8 Minor cosmetics.
2002-12-17  Tor Lillqvist  <tml@iki.fi>

	* gdk/win32/gdkglobals-win32.c: Minor cosmetics.

	Implement two missing functions (#101369)

	* gdk/win32/gdkevents-win32.c
	(gdk_display_add_client_message_filter): Implement by calling
	gdk_add_client_message_filter(), no separate displays on Windows,
	at least not yet.

	* gdk/win32/gdkgc-win32.c (gdk_gc_get_screen): Implement by
	returning the only screen so far, _gdk_screen.
2002-12-17 01:39:11 +00:00
Owen Taylor
880f14ff0c Fix a bug with checking the private flag on the wrong window; improve the
Sat Dec 14 22:18:45 2002  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkwindow-x11.c (gdk_window_get_frame_extents):
        Fix a bug with checking the private flag on the wrong
        window; improve the answer on failure a bit; push
        an error trap around the X operations. (#100933)
2002-12-15 03:28:44 +00:00
Matthias Clasen
8ba71578f2 Use g_printf instead of system printf. (#99327)
2002-12-15  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkcalendar.c:
	* gtk/gtkfilesel.c:
	* gtk/gtkfontsel.c:
	* gtk/gtkhruler.c:
	* gtk/gtkinputdialog.c:
	* gtk/gtkprogress.c:
	* gtk/gtktreemodel.c:
	* gtk/gtkvruler.c:
	* gtk/queryimmodules.c:
	* gtk/theme-bits/decompose-bits.c:
	* gdk-pixbuf/gdk-pixbuf-csource.c:
	* gdk-pixbuf/make-inline-pixbuf.c:
	* gdk-pixbuf/queryloaders.c:
	* gdk/gdkkeynames.c:
	* gdk/gdkrgb.c:
	* gdk/linux-fb/gdkfbmanager.c:
	* gdk/win32/gdkevents-win32.c:
	* gdk/win32/gdkmain-win32.c:
	* gdk/win32/gdkproperty-win32.c:
	* gdk/x11/gdkmain-x11.c: Use g_printf instead of system
	printf.  (#99327)
2002-12-15 01:49:01 +00:00
Owen Taylor
d8bc318151 gdk/gdkscreen.c (gdk_screen_get_monitor_at_point) Provide a useful
Fri Dec 13 23:58:06 2002  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkscreen.c (gdk_screen_get_monitor_at_point)
	* gdk/gdkscreen.c (gdk_screen_get_monitor_at_window):
	Provide a useful fallback on failure - return a monitor
	close to the point or window. (#79991)

	* gtk/gtkmenu.c (gtk_menu_position): Remove a now
	unneeded check for failure of
	gdk_screen_get_monitor_at_point()
2002-12-14 05:27:23 +00:00
Tor Lillqvist
5fc015b4e9 gdk/win32/gdkpixmap-win32.c (gdk_pixmap_new, gdk_bitmap_create_from_data,
2002-12-11  Tor Lillqvist  <tml@iki.fi>

	* gdk/win32/gdkpixmap-win32.c (gdk_pixmap_new,
	gdk_bitmap_create_from_data, gdk_pixmap_create_from_data)
	* gdk/win32/gdkprivate-win32.h
	* gdk/win32/gdkimage-win32.c (_gdk_win32_setup_pixmap_image):
	Functions now take a GdkDrawable instead of GdkWindow parameter,
	like in X11 and linux-fb backends (#100780)

	* gdk/win32/gdkwindow-win32.c (get_default_title): Do use
	g_get_application_name() (I now have a fresh enough GLib).
2002-12-11 23:04:39 +00:00
PST 2002 Manish Singh
1e5d33a29b gdk_x11_get_xatom_by_name_for_display takes a GdkDisplay *, not an
Tue Dec 10 15:46:01 PST 2002  Manish Singh  <yosh@gimp.org>

        * gdk/x11/gdkwindow-x11.c (set_initial_hints):
        gdk_x11_get_xatom_by_name_for_display takes a GdkDisplay *,
        not an XDisplay * (obvious typo fix for the previous commit)
2002-12-10 23:48:07 +00:00
Matthias Clasen
428c076fef Delete EWMH properties if no private->state flags are set. (#66754)
* gdk/x11/gdkwindow-x11.c (set_initial_hints): Delete EWMH
	properties if no private->state flags are set.  (#66754)

	* gtk/gtkwidget.c (gtk_widget_class_find_style_property):
	* gtk/gtkcontainer.c (gtk_container_class_find_child_property):
	Doc typo fixes.

	* gtk/tmpl/gtktextview.sgml: Add docs.

	* gtk/tree_widget.sgml: Fix some links.

	* gtk/tmpl/gtkwindow.sgml: Add docs.

	* gtk/tmpl/gtkeditable.sgml: Document GtkEditable as an interface,
	not as an abstract base class.

	* gtk/gtk-docs.sgml: Move GtkEditable from "Abstract Base Classes"
	to "Numeric/Text Data Entry".
2002-12-10 23:25:33 +00:00
Owen Taylor
329c090ec1 Separate out tracking of the X server focus window from tracking our idea
Tue Dec 10 14:37:41 2002  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkevents-x11.c (gdk_event_translate)
          gdk/x11/gdkwindow-x11.h: Separate out tracking of the X server
          focus window from tracking our idea of what the focus window is,
          because the PointerRoot code needs to know the real pointer
          window. (Mostly accidentally committed a bit earlier.)
2002-12-10 20:06:02 +00:00
Owen Taylor
b658a5d26c Remove selection for DeviceButtonRelease, we no longer need it now that
Mon Dec  9 18:50:31 2002  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkinput-x11.c (_gdk_input_common_find_events):
        Remove selection for DeviceButtonRelease, we no longer need
        it now that gxi is gone. (#32617, reported by Garry
        Osgood)
2002-12-09 23:55:26 +00:00
Kristian Rietveld
00185e7ed1 update to allow a GdkDrawable instead of a GdkWindow.
Tue Dec 10 00:49:35 2002  Kristian Rietveld  <kris@gtk.org>

        * gdk/gdkpixmap.h (gdk_pixmap_new), (gdk_bitmap_create_from_data),
        (gdk_pixmap_create_from_xpm), (gdk_pixmap_colormap_create_from_xpm),
        (gdk_pixmap_create_from_xpm_d),
        (gdk_pixmap_colormap_create_from_xpm_d): update to allow a
        GdkDrawable instead of a GdkWindow.

        * gdk/gdkpixmap.c (gdk_pixmap_colormap_create_from_xpm),
        (gdk_pixmap_create_from_xpm), (gdk_pixmap_colormap_create_from_xpm_d),
        (gdk_pixmap_create_from_xpm_d): update to allow a GdkDrawable
        instead of a GdkWindow.

        * gdk/linux-fb/gdkpixmap-fb.c (gdk_pixmap_new),
        (gdk_bitmap_create_from_data), (gdk_pixmap_create_from_data): update
        to allow a GdkDrawable instead of a GdkWindow.

        * gdk/x11/gdkpixmap-x11.c (gdk_pixmap_new),
        (gdk_bitmap_create_from_data), (gdk_pixmap_create_from_data): likewise
2002-12-09 23:34:49 +00:00
Owen Taylor
516b7c18ba Fix a bug in one of my earlier changes. (From Naofumi Yasufuku, #100023)
Mon Dec  9 10:44:59 2002  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkcolor-x11.c (gdk_colormap_alloc_colors_private):
        Fix a bug in one of my earlier changes. (From Naofumi Yasufuku,
        #100023)
2002-12-09 15:48:09 +00:00
Owen Taylor
39e143aa68 Fix spacing in a bunch of for (i=0; i<ncolors; i++).
Sun Dec  8 21:43:31 2002  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkcolor-x11.c: Fix spacing in a bunch of
        for (i=0; i<ncolors; i++).

        * gdk/x11/gdkcolor-x11.c: Various g_return_if_fail()
        cleanup.
2002-12-09 02:51:14 +00:00
Owen Taylor
af36a5e5c1 Fix a lost refcount in the case where we get a duplicate back from the X
Sun Dec  8 21:29:10 2002  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkcolor-x11.c (gdk_colormap_alloc1): Fix
        a lost refcount in the case where we get a duplicate
        back from the X server.

        * gdk/x11/gdkcolor-x11.c (gdk_colormap_alloc_colors_writeable):
        Set success[] for all colors when allocation of colors
        cells via XAllocColorCells succeeds.

        * gdk/x11/gdkcolor-x11.c (gdk_colormap_alloc_colors_private):
        Don't match against colors cells allocated writeable.
2002-12-09 02:41:51 +00:00
Owen Taylor
e4c9e2ebca When allocating non-writeable colors, fill in the flags field of the
Sun Dec  8 21:22:46 2002  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkcolor-x11.c (gdk_colormap_alloc_colors_private):
        When allocating non-writeable colors, fill in the flags
        field of the XColor, and insert the returned color into
        our color hash. (#100023, Naofumi Yasufuku)

        * gdk/x11/gdkcolor-x11.c (gdk_colormap_free_colors):
        Fix a typo (my fault) that slipped in in the last patch.
2002-12-09 02:25:14 +00:00
Owen Taylor
fac76f9426 More fixes for GdkColormapX11 (#100023, Naofumi Yasufuku)
Sun Dec  8 20:32:23 2002  Owen Taylor  <otaylor@redhat.com>

        More fixes for GdkColormapX11 (#100023, Naofumi Yasufuku)

        * gdk/x11/gdkcolor-x11.c (gdk_colors_free)
        (gdk_colormap_free_colors): Don't call XFreeColors() for
        private colorsmaps.

        * gdk/x11/gdkcolor-x11.c (gdk_colormap_alloc_colors_writeable,
        gdk_colormap_colors_private, gdk_colormap_alloc_colors_shared):
        Fix return values to return number remaining not number
        allocated.

        * gdk/x11/gdkcolor-x11.c (gdk_colormap_alloc_colors_shared,
        gdk_colormap_alloc_colors_private): Clean up some a stray
        initializations.
2002-12-09 02:02:27 +00:00
Owen Taylor
bb0446a014 Fixes for GdkColormapX11 (#100023, Naofumi Yasufuku)
Sun Dec  8 20:19:22 2002  Owen Taylor  <otaylor@redhat.com>

        Fixes for GdkColormapX11 (#100023, Naofumi Yasufuku)

        * gdk/x11/gdkcolor-x11.c (gdk_x11_colormap_foreign_new):
        Fix typo that caused us to always return the system
        colormap.

        * gdk/x11/gdkcolor-x11.c (gdk_colormap_new): When allocating
        a private colormap and copying the system palette
        to prevent flashing, handle colormap->size greater than
        system_colormap->size.

        * gdk/x11/gdkcolor-x11.c (gdk_x11_colormap_get_xdisplay):
        Get rid of the last remains of private->xdisplay
        in favor of using private->screen.
2002-12-09 01:29:34 +00:00
Tor Lillqvist
af9b53fc58 Merge from stable:
2002-12-09  Tor Lillqvist  <tml@iki.fi>

	Merge from stable:

	* gdk/win32/gdkdrawable-win32.c (generic_draw): Don't leak
	stipple_gc. More checks for errors. Use correct ternary ROP when
	blitting the foreground into the tile pixmap onto those pixels
	where the stipple is set. (I didn't notice that I had used the
	wrong one, as it didn't matter on Win2k, where DIB sections
	apparently are zeroed upon creation. But on Win98 they have random
	initial contents. Thanks to Hans Breuer for reporting this.)
	(gdk_win32_draw_rectangle, gdk_win32_draw_arc,
	gdk_win32_draw_polygon): Don't pass the LINE_ATTRIBUTES bits to
	generic_draw() if drawing a filled figure.

	* gdk/win32/gdkmain-win32.c (_gdk_win32_print_dc): Minor cosmetics.
	(_gdk_win32_gcvalues_mask_to_string): Initialize buffer as empty.
	(_gdk_win32_window_state_to_string): New debugging output helper
	function.

	* gdk/win32/gdkevents-win32.c: Minor debugging output changes.
	(gdk_event_translate): Ignore the WM_SHOWWINDOW/SW_OTHERUNZOOM or
	SW_OTHERZOOM messages. Do not generate a GDK_UNMAP event for
	WM_SIZE/SIZE_MINIMIZED messages, they do not really corrspond to
	unmapping on X11. Set window state correctly for all three of
	SIZE_{MINIMIZED,MAXIMIZED,RESTORED}. A maximized and then iconified
	("minimized" in Windows terminology) window still has the
	"maximized" property, i.e. when deiconified, it will reappear as
	maximized. (#10557)

	* gdk/win32/gdkprivate-win32.h: Declare new function.
	(WIN32_API_FAILED, WIN32_GDI_FAILED, OTHER_API_FAILED): Don't use
	__PRETTY_FUNCTION__ if __GNUC__ >= 3, to avoid warning message.

	* gdk/win32/gdkwindow-win32.c (show_window_internal): Handle more
	situations. Add parameter to tell whether deiconifying. Code
	reorg: Return early when appropriate instead of using nested if
	statements. If just deiconifying without raising, restore active
	window. (#10557)

	(gdk_window_hide, gdk_window_withdraw, gdk_window_iconify,
	gdk_window_deiconify, gdk_window_maximize, gdk_window_unmaximize,
	gdk_window_focus): Use _gdk_win32_window_state_to_string() in
	debugging output.

	(gdk_window_iconify): Restore active window after calling
	ShowWindow(). Otherwise the "next" window gets activated.

	(gdk_window_stick, gdk_window_unstick): Don't output any warnings.

	(gdk_window_set_transient_for): Rewrite. Just call SetWindowLong()
	with GWL_HWNDPARENT, which despite its name sets the *owner*
	window, which should be exactly what we want. The PSDK
	documentation is said to be misleading. testgtk's modal window
	test now works much better. (#50586)
2002-12-09 00:43:42 +00:00
Owen Taylor
a8d58a409e Fix incorrect masks in PACKED_COLOR definition. (#99795, John Finlay)
Fri Dec  6 17:50:57 2002  Owen Taylor  <otaylor@redhat.com>

        * gdk/gdkpixmap.c (PACKED_COLOR): Fix incorrect
        masks in PACKED_COLOR definition. (#99795,
        John Finlay)
2002-12-06 22:56:26 +00:00
Eric Warmenhoven
9310fe538f Fix gdkenumtypes.h hack
Thu Dec  5 16:01:14 2002  Eric Warmenhoven <eric@warmenhoven.org>

	* gdk/{linux-fb,win32}/Makefile.am: Fix gdkenumtypes.h hack
2002-12-06 00:12:53 +00:00
Matthias Clasen
c4b5d5da11 Add "Since" information.
* gdk/tmpl/x_interaction.sgml:
	* gdk/tmpl/gdkscreen.sgml:
	* gdk/tmpl/gdkdisplaymanager.sgml:
	* gdk/tmpl/gdkdisplay.sgml:
	* gtk/tmpl/gtkstock.sgml:
	* gtk/tmpl/gtkwidget.sgml:
	* gtk/tmpl/gtkmain.sgml:
	* gtk/tmpl/gtkcolorsel.sgml:
	* gtk/tmpl/gtkaccelgroup.sgml:
	* gdk-pixbuf/tmpl/module_interface.sgml: Add "Since" information.

	* gdk/gdkcolor.c:
	* gdk/gdkfont.c: Add some Deprecation info.
2002-12-06 00:10:20 +00:00
Eric Warmenhoven
095bea4512 More proper vt switch handling
Wed Dec  4 19:41:14 2002  Eric Warmenhoven <eric@warmenhoven.org>

	* gdk/linux-fb/gdkglobals-fb.c gdk/linux-fb/gdkkeyboard-fb.c
	gdk/linux-fb/gdkmain-fb.c gdk/linux-fb/gdkprivate-fb.h
	gdk/linux-fb/gdkrender-fb.c: More proper vt switch handling
2002-12-05 16:28:35 +00:00
Owen Taylor
6d5f8224a5 Always look up and create the Motif drag window as a child of the root
Wed Dec  4 14:31:46 2002  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkdnd-x11.c: Always look up and create the
        Motif drag window as a child of the root window of screen 0
        rather than the default screen. (#100362, Erwann Chenede)

        * gdk/x11/gdkdnd-x11.c (motif_read_initiator_info):
        Return FALSE, not GDK_FILTER_REMOVE on failure; this
        isn't a filter function.

        * gdk/x11/gdkselection-x11.c gtk/gtkselection.c: Add
        some g_return_if_fail() to catch selection == None more
        gracefully than an X error.
2002-12-04 19:50:57 +00:00
Owen Taylor
a58708c484 Fix wrong sign for queued translation. (Found by Chris Blizzard, #100274)
Tue Dec  3 17:47:24 2002  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkgeometry-x11.c (gdk_window_guffaw_scroll): Fix wrong
        sign for queued translation. (Found by Chris Blizzard,
        #100274)
2002-12-03 22:54:09 +00:00
Matthias Clasen
58d7ca8102 Moveresize emulation for all edges. (#52833) 2002-12-03 21:57:13 +00:00
Matthias Clasen
7cb3f99fc7 Document 2.2 API additions. 2002-11-28 00:33:17 +00:00
Owen Taylor
a1f5e821bf Fixes from #98358, Havoc Pennington.
Mon Nov 25 17:44:09 2002  Owen Taylor  <otaylor@redhat.com>

        Fixes from #98358, Havoc Pennington.

        * gdk/{x11,win32,linux-fb}/gdkcolor-*.c (gdk_colormap_finalize):
        Free the private structure.

        * gdk/x11,win32,linxu-fb}/gdkscreen-*.c (gdk_screen_set_default_colormap):
          gdk/x11/gdkwindow-x11.c (_gdk_windowing_window_init):
        Keep a ref to the default colormap.

        * gdk/x11/gdkscreen-x11.c (gdk_screen_x11_dispose): Unref
        the default colormap.

        * gdk/x11/gdkwindow-x11.c (gdk_window_impl_x11_set_colormap):
        Handle the CMAP == NULL case even when the window is
        destroyed.

        * gdk/x11/gdkwindow-x11.c (_gdk_windowing_window_init):
        Add a missing ref for the system colormap.
2002-11-25 22:52:36 +00:00
Tor Lillqvist
8c782e730d Enclose in #ifdef G_ENABLE_DEBUG, as they use functions only available
2002-11-25  Tor Lillqvist  <tml@iki.fi>

	* gdk/win32/gdkevents-win32.c (print_event_state,
	print_window_state, print_event): Enclose in #ifdef
	G_ENABLE_DEBUG, as they use functions only available with
	G_ENABLE_DEBUG, and are called only when G_ENABLE_DEBUG. (#99494,
	Arnaud Charlet)
2002-11-25 22:17:46 +00:00
Owen Taylor
ddfe34c7b0 Use _NET_WM_WINDOW_TYPE_SPLASH, not TYPE_SPLASHSCREEN. (#99482, Gregory
Mon Nov 25 16:58:27 2002  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkwindow-x11.c: Use _NET_WM_WINDOW_TYPE_SPLASH,
        not TYPE_SPLASHSCREEN. (#99482, Gregory Merchan)
2002-11-25 22:05:52 +00:00
Tor Lillqvist
08fc500e8d Merge from stable:
2002-11-24  Tor Lillqvist  <tml@iki.fi>

	Merge from stable:

	Implement tiles and stipples for all drawing methids (except the
	deprecated draw_text() and draw_text_wc()).

	* gdk/win32/gdkdrawable-win32.c: Remove the already ifdeffed-out
	code that didn't use generic_draw().

	(generic_draw): When drawing into the mask (for tiled/stippled
	fill styles), copy the line attributes from the actual GC. Also
	ask for text drawing setup if needed. Use differently set up HDCs
	in the normal and tiled/stippled cases.

	(draw_lines, gdk_win32_draw_lines, draw_polygon,
	gdk_win32_draw_polygon, draw_segments, gdk_win32_draw_segments,
	draw_arc, gdk_win32_draw_arc): Use generic_draw(), thus
	implementing tiled and stippled fill styles for lines, polygons,
	segments, and args.

	(gdk_win32_draw_points): Use Rectangle() instead of
	SetPixel(). Rectangle() uses the function (raster op) set for the
	HDC, SetPixel() doesn't.

	(widen_bounds): New function, refactoring.

	* gdk/win32/gdkgc-win32.c: Remove ifdeffed-out code.

	(predraw_set_foreground, gdk_win32_hdc_get): Some code moved
	around. Call SetROP2() only if necessary. Call SetTextColor() only
	if GDK_GC_FOREGROUND flag present. Don't handle
	GDK_OPAQUE_STIPPLED here, has been superseded by the code in
	generic_draw(). Always create a solid brush.

	Remove background color handling from here. The background color
	of a GdkGC is supposed to affect only GDK_OPAQUE_STIPPLED fill
	style, which it is already handled in generic_draw(), and
	GDK_LINE_DOUBLE_DASH lines, which aren't implemented properly
	anyway. Calling SetBkColor() is unnecessary as we always use
	TRANSPARENT text output.

	(gdk_win32_hdc_get, gdk_win32_hdc_release): Add doc comments, as
	these are public functions.

	* gdk/win32/gdkevents-win32.c (synthesize_expose_events): Don't
	synthesize expose events for GDK_INPUT_ONLY windows.
	(gdk_event_translate): On WM_SIZE, call
	gdk_synthesize_window_state() if window was iconified, restored or
	maximized. (#98983, Arnaud Charlet)

	* gtk+/gdk/win32/gdkwindow-win32.c
	(gdk_window_get_frame_extents): Fix typo in setting y.  (#98983,
	Arnaud Charlet)
2002-11-24 23:54:01 +00:00
Matthias Clasen
65cce90c27 Remove period from title of example in docs.
* gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap):
	Remove period from title of example in docs.

	* gdk/tmpl/x_interaction.sgml:
	* gdk/tmpl/pango_interaction.sgml:
	* gdk/tmpl/input_devices.sgml:
	* gdk/tmpl/input.sgml:
	* gdk/tmpl/threads.sgml:
	* gdk/tmpl/properties.sgml:
	* gdk/tmpl/dnd.sgml:
	* gdk/tmpl/selections.sgml:
	* gdk/tmpl/keys.sgml:
	* gdk/tmpl/event_structs.sgml:
	* gdk/tmpl/events.sgml:
	* gdk/tmpl/windows.sgml:
	* gdk/tmpl/cursors.sgml:
	* gdk/tmpl/fonts.sgml:
	* gdk/tmpl/colors.sgml:
	* gdk/tmpl/pixbufs.sgml:
	* gdk/tmpl/images.sgml:
	* gdk/tmpl/pixmaps.sgml:
	* gdk/tmpl/drawing.sgml:
	* gdk/tmpl/regions.sgml:
	* gdk/tmpl/gdkdisplaymanager.sgml:
	* gdk/tmpl/gdkscreen.sgml:
	* gdk/tmpl/gdkdisplay.sgml:
	* gdk/tmpl/general.sgml:
	Add missing short descriptions, standardize them to start with
	a capital and end without a period. Also remove periods from
	titles of examples.
2002-11-23 23:02:10 +00:00
Manish Singh
89fd6ad3de add -DGDK_DISABLE_DEPRECATED
Sun Nov 17 13:45:08 2002  Manish Singh  <yosh@gimp.org>

        * gdk/Makefile.am: add -DGDK_DISABLE_DEPRECATED

        * gdk/gdk.c (gdk_exit): remove obsolete comment

        * gdk/gdk.h: declare gdk_input_add_full if GTK_COMPILATION for
        gtk_input_add_full

        * gdk/gdkcolor.c (gdk_color_white, gdk_color_black): use
        gdk_colormap_alloc_color instead of gdk_color_alloc

        * gdk/gdkcolor.h: declare gdk_colormap_change if GDK_COMPILATION for
        gdk_colors_store. Also, gdk_colors_{alloc,free} for
        gdk_rgb_try_colormap

        * gdk/gdkdrawable.h: declare gdk_draw_string if GTK_COMPILATION for
        gtk_default_draw_string. Also, gdk_draw_text and gdk_draw_text_wc
        if GDK_COMPILATION for the respective gdk_window_ and gdk_pixmap_
        functions.

        * gdk/gdkfont.c: #undef GDK_DISABLE_DEPRECATED, completely compat
        code here

        * gdk/gdkfont.h: allow the GdkFont structure and a few gdk_font_
        functions for compat code in GDK_COMPILATION and GTK_COMPILATION.

        * gdk/gdkrgb.c (gdk_rgb_cmap_fail, gdk_rgb_try_colormap): use
        gdk_colormap_free_colors instead of gdk_colors_free.

        * gdk/gdkrgb.c (gdk_draw_rgb_image_core): no need to set fg/bg
        for own_gc, unused.

        * gdk/gdkwindow.h: declare gdk_window_get_deskrelative_origin if
        GTK_COMPILATION for gtk_handle_box_button_changed.

        * gdk/x11/Makefile.am: add -DGDK_DISABLE_DEPRECATED, renmae
        -DINSIDE_GDK_X11 to -DGDK_COMPILATION

        * gdk/x11/gdkcolor-x11.c: remove duplicate doc string for
        gdk_colormap_alloc_colors.

        * gdk/x11/gdkfont-x11.c:  #undef GDK_DISABLE_DEPRECATED, completely
        compat code here

        * gdk/x11/gdkx.h: use GDK_COMPILATION instead of INSIDE_GDK_X11,
        allow a few gdk_x11_font_ functions if GDK_COMPILATION for compat
        code

        * gtk/Makefile.am: add -DGDK_DISABLE_DEPRECATED

        * gtk/gtkclist.c
        * gtk/gtkctree.c
        * gtk/gtkpixmap.c
        * gtk/gtkpreview.c
        * gtk/gtktext.c: #undef GDK_DISABLE_DEPRECATED, deprecated widget

        * gtk/gtkhandlebox.c (gtk_handle_box_motion): use
        gdk_window_set_geometry_hints instead of gdk_window_set_hints.

        * gtk/gtkmain.c (gtk_exit): call exit directly

        * gtktipsquery.c (gtk_tips_query_real_start_query)
        * gtk/gtktreeitem.c (gtk_tree_item_add_pixmaps): remove some
        deprecated GDK usage.
2002-11-17 22:04:03 +00:00
Tor Lillqvist
36a56b08e5 Add missing entries, needed by gtk.
2002-11-16  Tor Lillqvist  <tml@iki.fi>

	* gdk/gdk.def: Add missing entries, needed by gtk.

	* gdk/win32/gdkcolor-win32.c (gdk_screen_get_system_colormap):
	Remove g_return_val_if_fail call. This function is called from
	gdk_display_open() with the _gdk_screen it just created, but when
	gdk_screen_get_default() still returns NULL.

	* gdk/win32/gdkdisplay-win32.c
	* gdk/win32/gdkscreen-win32.c: Make more like the linux-fb
	versions. For instance, don't call
	gdk_display_manager_set_default_display() from gdk_display_open().

	* gdk/win32/gdkglobals-win32.c: Move _gdk_display, _gdk_screen and
	_gdk_parent_root here.

	* gdk/win32/gdkinput.c (gdk_display_list_devices): New function.

	* gdk/win32/gdkmain-win32.c (gdk_get_display): New function.

	* gdk/win32/gdkvisual-win32.c (gdk_screen_get_system_visual):
	Don't require that the screen parameter is non-NULL. It can be,
	and the linux-fb version doesn't check either.

	* gdk/win32/gdkwindow-win32.c (gdk_window_set_skip_taskbar_hint,
	gdk_window_set_skip_pager_hint, gdk_window_fullscreen,
	gdk_window_unfullscreen): Implement as no-ops.
2002-11-16 21:51:47 +00:00
Tor Lillqvist
fda3e29611 Reflect recent renamings and removals of functions.
2002-11-15  Tor Lillqvist  <tml@iki.fi>

	* gdk/gdk.def: Reflect recent renamings and removals of functions.

	Merge from stable:

	Start implementing all fill styles (i.e. tiled, stippled, and
	opaque stippled in addition to the plain solid style) in the Win32
	backend in an elegant and generic way. For now only did the
	draw_rectangle() and draw_glyphs() methods. The rest will
	follow. Previously some of the drawing methods implemented opaque
	stippling, but not tiles or non-opaque stippling.

	Seems to work fine, now the check marks show up in check buttons,
	the stippled background and stippled text in gtk-demo's Text
	Widget look as they should, and GtkText's line wrap arrow shows
	correctly instead of an ugly rectangle. [This refers to the stable
	branch, haven't actually checked HEAD.]

	The implementation does do a lot of pixmap handling and blitting
	back and forth, especially on Win9x. But performance is hopefully
	not an issue. I don't think many applications do a lot of tiled or
	stippled drawing.

	* gdk/win32/gdkprivate-win32.h: Define a new macro, GDI_CALL, that
	calls a GDI function and prints a warning if it failed. Also
	API_CALL for non-GDI calls. Cleans all the the if (!BlaBla())
	WIN32_GDI_FAILED ("BlaBla") snippets, these can now be written
	GDI_CALL (BlaBla, ()). Declare new functions.

	* gdk/win32/gdkdrawable-win32.c: Use GDI_CALL macro in lots of places.

	(generic_draw): New function that handles all the blitting
	necessary to implement tiles and stipples. A function that
	actually draws stuff is passed as a parameter to
	generic_draw(). If the fill style is solid, it is called
	directly, to draw on the destination drawable. Otherwise it is
	called to draw on a temporary mask bitmap, which then is used in
	blitting operations. The tiles and/or stipples are rendered into
	another temporary pixmap. If MaskBlt() is available (on NT/2k/XP),
	it is used, otherwise a sequence of BitBlt() is used to do the
	final composition onto the destination drawable.

	(draw_tiles_lowlevel, draw_tiles): Some renaming and code
	reorg. Use BitBlt() to blit each tile, not gdk_draw_drawable().

	(rop2_to_rop3): New function, does binary->ternary rop mapping.

	(blit_from_pixmap, blit_inside_window, blit_from_window): Use
	rop2_to_rop3(). Previously used SRCCOPY always...

	(draw_rectangle, gdk_win32_draw_rectangle, draw_glyphs,
	gdk_win32_draw_glyphs): Split functionality into two functions,
	with generic_draw() doing its magic inbetween.

	* gdk/win32/gdkevents-win32.c: Remove the TrackMouseEvent code, it
	was ifdeffed out and wouldn't have done anything even if
	enabled. Remove the GDK_EVENT_FUNC_FROM_WINDOW_PROC code, didn't
	have any effect any more anyway after all the changes GTK+ has
	gone through in the last years. Remove some #if 0 code.

	* gdk/win32/gdkgc-win32.c (gdk_gc_copy): Set the copy's hdc field
	to NULL in case a GC is copied while it has a Windows DC active.

	* gdk/win32/gdkprivate-win32.h
	* gdk/win32/gdkglobals-win32.c: Remove gdk_event_func_from_window_proc.

	* gdk/win32/gdkmain-win32.c: Remove -event-func-from-window-proc
	option. If there is a PRETEND_WIN9X envvar, set windows_version as
	if on Win9x.

	* gdk/win32/gdkpixmap-win32.c (_gdk_win32_pixmap_new,
	gdk_pixmap_new): Combine these two, _gdk_win32_pixmap_new() wasn't
	used or exported. Make a bit more like the X11 version. Hopefully
	I didn't break the fragile palettized display ("pseudocolor")
	code.

	* gdk/win32/gdkgc-win32.c: Various debugging output improvements.

	(predraw_set_foreground): Check whether
	tile/stipple origins are valid when calling SetBrushOrgEx().

	(gdk_win32_hdc_get): Ifdef out code that tries to handle the
	stipple by converting it into a region, and combining the clip
	region with that. A stipple shouldn't work like that, it should
	replicate in x and y directions. Stipples are now handled by
	generic_draw() in gdkdrawable-win32.c.

	* gdk/win32/gdkmain-win32.c: (gdk_win32_gcvalues_mask_to_string,
	gdk_win32_rop2_to_string): New debugging functions.

	(gdk_win32_print_dc): Print also DC's rop2 and text color.
2002-11-16 01:12:10 +00:00
Owen Taylor
030ddc16b2 Fix display/window typo. (#98511, Soeren Sandmann)
Thu Nov 14 14:58:21 2002  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkwindow-x11.c (gdk_window_set_icon_name):
        Fix display/window typo. (#98511, Soeren Sandmann)
2002-11-14 20:02:32 +00:00
Owen Taylor
af2d862517 Try a different hack to force gdkenumtypes.h to be updated before building
Fri Nov  8 18:04:16 2002  Owen Taylor  <otaylor@redhat.com>

        * gdk/{linux-fb,win32,11}/Makefile.am: Try a different
        hack to force gdkenumtypes.h to be updated before
        building the subdir, last hack caused contents
        to be rebuilt on every make.
2002-11-14 06:07:46 +00:00
Eric Warmenhoven
98aaac018d add gdk_display_get_devices to fix compilation
Wed Nov 13 13:50:25 2002  Eric Warmenhoven <warmenhoven@yahoo.com>

	* gdk/linux-fb/gdkinput.c: add gdk_display_get_devices to fix
	compilation
2002-11-13 21:56:19 +00:00
Tor Lillqvist
e96a41be45 gdk/win32/gdkprivate-win32.h Rename all global variables and functions to
2002-11-12  Tor Lillqvist  <tml@iki.fi>

	* gdk/win32/gdkprivate-win32.h
	* gdk/win32/*.c: Rename all global variables and functions to
	start with underscore.

	Merge from stable:

	More work on the Win32 backend. The cause of some scrolling
	problems was that SetWindowPos() and ScrollWindowEx() don't blit
	those parts of the window they think are invalid. As we didn't
	keep Windows's update region in synch with GDK's, Windows thought
	those areas that in fact had been updated were invalid. Calling
	ValidateRgn() in _gdk_windowing_window_queue_antiexpose() seems to
	be an elegant and efficient solution, removing from Windows's
	update region those areas we are about to repaint proactively.

	In some cases garbage leftover values were used for the clip
	origin in GdkGCWin32. This showed up as odd blank areas around the
	pixmaps included in the Text Widget in gtk-demo.

	Having the clip region either as a GdkRegion or a HRGN in
	GdkGCWin32 was unnecessary, it's better to just use a HRGN.

	The translation and antiexpose queue handling in
	gdkgeometry-win32.c seems unnecessary (and not implementable in
	the same way as on X11 anyway, no serial numbers) on Windows,
	ifdeffed out.

	Don't (try to) do guffaw scrolling as there is no static window
	gravity on Windows. Guffaw scrolling would be unnecessary anyway,
	as there is the ScrollWindow() API. This improves the behaviour of
	the Text Widget demo in gtk-demo a lot. But I have no idea how the
	lack of static win gravity should be handled in other places where
	the X11 code uses it. Especially _gdk_window_move_resize_child().

	There is still some problem in expose handling. By moving an
	obscuring window back and forth over testgtk's main window, for
	instance, every now and then you typically get narrow vertical or
	horizontal strips of pixels that haven't been properly redrawn
	after being exposed. A fencepost error somewhere?

	Otherwise, all of testgtk and gtk-demo except "big windows" now
	seem to work pretty well.

	Bug #79720 should be fixed now.

	* gdk/win32/gdkcolor-win32.c (gdk_win32_color_to_string,
	gdk_win32_print_paletteentries, gdk_win32_print_system_palette,
	gdk_win32_print_hpalette)
	* gdk/win32/gdkdrawable-win32.c (gdk_win32_drawable_description)
	* gdk/win32/gdkevents-win32.c (gdk_win32_message_name):
	Move all debugging helper functions to gdkmain-win32.c.

	* gdk/win32/gdkdrawable-win32.c (_gdk_win32_draw_tiles):
	Rewrite. Make static. Must take tile origin parameters, too.

	(gdk_win32_draw_rectangle): Pass the tile/stipple origin to
	_gdk_win32_draw_tiles(). Remove #if 0 code.

	(blit_inside_window): Don't call ScrollDC(), that didn't work at
	all like I thought. A simple call to BitBlt() is enough.

	* gdk/win32/gdkevents-win32.c (gdk_event_translate) Remove unused
	latin_locale_loaded variable.

	(_gdk_win32_get_next_tick): New function. Used to make sure
	timestamps of events are always increasing, both in events
	generated from the window procedure and in events gotten via
	PeekMessage(). Not sure whether this is actually useful, but it
	seemed as a good idea.

	(real_window_procedure): Don't use a local GdkEventPrivate
	variable. Don't attempt any compression of configure or expose
	events here, handled elsewhere.

	(erase_background): Accumulate window offsets when traversing up
	the parent chain for GDK_PARENT_RELATIVE_BG, in order to get
	correct alignment of background pixmaps. Don't fill with
	BLACK_BRUSH if GDK_NO_BG.

	(gdk_event_get_graphics_expose): A bit more verbose debugging output.

	(gdk_event_translate): Use _gdk_win32_get_next_tick(). In the
	WM_PAINT handler, don't check for empty update rect. When we get a
	WM_PAINT, the update region isn't empty. And if it for some
	strange reason is, that will be handled later anyway. Call
	GetUpdateRgn() before calling BeginPaint() and EndPaint() (which
	empty the update region).

	* gdk/win32/gdkdnd-win32.c
	* gdk/win32/gdkinput-win32.c:
	Use _gdk_win32_get_next_tick().

	* gdk/win32/gdkfont-win32.c: Use %p to print HFONTs.

	(gdk_text_size): Remove, unused.

	* gdk/win32/gdkgc-win32.c:  Set clip origins to zero
	when appropriate.

	(gdk_gc_copy): Increase refcount on colormap if present.

	(gdk_win32_hdc_get): Handle just hcliprgn. If we have a stipple,
	combine it with clip region after selecting into the DC.

	(_gdk_win32_bitmap_to_hrgn): Rename from _gdk_win32_bitmap_to_region.

	(_gdk_win3_gdkregion_to_hrgn): New function, code snippet
	extracted from gdk_win32_hdc_get().

	* gdk/win32/gdkgeometry-win32.c: Ifdef out the translate_queue
	handling.

	(gdk_window_copy_area_scroll): Increase clipRect to avoid
	ScrollWindowEx() not scrolling pixels it thinks are invalid.
	Scroll also children with the ScrollWindowEx() call. No need to
	call gdk_window_move() on the children.

	(gdk_window_scroll): Don't do guffaw scrolling.

	(gdk_window_compute_position): Fix typo, used win32_y where x was
	intended.

	(gdk_window_premove, gdk_window_postmove,
	gdk_window_clip_changed): Add debugging output.

	(_gdk_windowing_window_queue_antiexpose): Just call ValidateRgn()
	on the region.

	(_gdk_window_process_expose): No use for the serial number
	parameter now. Instead of a rectangle, take a region parameter, as
	Windows gives us one in WM_PAINT.

	* gdk/win32/gdkmain-win32.c (_gdk_win32_lbstyle_to_string,
	_gdk_win32_pstype_to_string, _gdk_win32_psstyle_to_string,
	_gdk_win32_psendcap_to_string, _gdk_win32_psjoin_to_string,
	_gdk_win32_rect_to_string, _gdk_win32_gdkrectangle_to_string,
	_gdk_win32_gdkregion_to_string): New debugging functions.

	(static_printf): Helper function for the above. sprintfs into a
	static circular buffer, return value should be used "soon".

	* gdk/win32/gdkwindow-win32.c (gdk_propagate_shapes): Plug memory
	leak, free list after use.

	(gdk_window_gravity_works): Remove, we know that there is no such
	thing on Windows.

	(gdk_window_set_static_bit_gravity,
	gdk_window_set_static_win_gravity): Ditto, remove, they didn't do
	anything anyway.

	(_gdk_windowing_window_init, gdk_window_foreign_new): Call
	_gdk_window_init_position() like in the X11 backend.

	(gdk_window_reparent): Don't call the now nonexistent
	gdk_window_set_static_win_gravity(). No idea what should be done
	instead.

	(gdk_window_get_geometry): The returned x and y should be relative
	to parent. Used to be always zero..

	(gdk_window_set_static_gravities): Return FALSE if trying to set
	static gravity.

	* gdk/win32/gdkprivate-win32.h: Drop the clip_region field from
	GdkGCWin32. Only use the HRGN hcliprgn. Declare new
	functions.

	* gdk/win32/*.c: Use new debugging functions.

	* gdk/win32/rc/gdk.rc.in: Update copyright year.
2002-11-12 22:17:48 +00:00
Matthias Clasen
f4823da651 Fix a typo which broke moveresize emulation.
* gdk/x11/gdkwindow-x11.c (_gdk_moveresize_handle_event): Fix a
	typo which broke moveresize emulation.
2002-11-10 01:33:53 +00:00
Matthias Clasen
908bee9b3f Reformulate doc comments to work around gtk-doc limitations.
* gdk/x11/gdkfont-x11.c (gdk_text_extents_wc):
	(gdk_text_extents):
	* gdk/gdkfont.c (gdk_string_extents): Reformulate doc comments to
	work around gtk-doc limitations.
2002-11-08 23:21:35 +00:00
Owen Taylor
85c6465ec5 Add in a awful hack to force gdkenumtypes.h to be updated before building
Fri Nov  8 18:04:16 2002  Owen Taylor  <otaylor@redhat.com>

        * gdk/{linux-fb,win32,11}/Makefile.am: Add in a awful
        hack to force gdkenumtypes.h to be updated before
        building the subdir. (#86587)
2002-11-08 23:14:53 +00:00
Owen Taylor
b179b5eba4 Use g_get_application_name() instead of g_get_prgname() as the default
Fri Nov  8 17:08:54 2002  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkwindow-x11.c (gdk_window_new): Use
        g_get_application_name() instead of g_get_prgname()
        as the default window title when set.

        * gdk/x11/gdkwindow-x11.c gdk/x11/gdkdisplay-x11.[ch]:x
        Set g_get_application_name() as the title for the
        leader window the first time we create a window
        pointing to it.

        * tests/testgtk.c (main): Call g_set_application_name();

        * configure.in (GDK_PIXBUF_VERSION): Require GLib-2.1.3
2002-11-08 22:29:33 +00:00
Soeren Sandmann
b1165617b7 docs/reference/gdk/tmpl/dnd.sgml docs/reference/gdk/tmpl/drawing.sgml
Fri Nov  8 20:14:52 2002  Soeren Sandmann  <sandmann@daimi.au.dk>

	* docs/reference/gdk/tmpl/dnd.sgml
	docs/reference/gdk/tmpl/drawing.sgml
	docs/reference/gdk/tmpl/gdk-unused.sgml
	docs/reference/gdk/tmpl/gdkdisplay.sgml
	docs/reference/gdk/tmpl/general.sgml
	docs/reference/gdk/tmpl/input_devices.sgml
	docs/reference/gdk/tmpl/selections.sgml
	docs/reference/gtk/tmpl/gtkcellrenderer.sgml
	docs/reference/gtk/tmpl/gtkcurve.sgml
	docs/reference/gtk/tmpl/gtkdnd.sgml
	docs/reference/gtk/tmpl/gtkitemfactory.sgml
	docs/reference/gtk/tmpl/gtkmenu.sgml
	docs/reference/gtk/tmpl/gtkoldeditable.sgml
	docs/reference/gtk/tmpl/gtkoptionmenu.sgml
	docs/reference/gtk/tmpl/gtkpreview.sgml
	docs/reference/gtk/tmpl/gtkselection.sgml
	docs/reference/gtk/tmpl/gtksocket.sgml
	docs/reference/gtk/tmpl/gtkstyle.sgml
	docs/reference/gtk/tmpl/gtktextbuffer.sgml
	docs/reference/gtk/tmpl/gtktreemodel.sgml
	docs/reference/gtk/tmpl/gtkwidget.sgml gdk/gdk.h gdk/gdkdisplay.c
	gdk/gdkdisplay.h gdk/gdkdnd.h gdk/gdkdraw.c gdk/gdkdrawable.h
	gdk/gdkinput.h gdk/gdkselection.h gdk/x11/gdkdisplay-x11.c
	gdk/x11/gdkdnd-x11.c gdk/x11/gdkselection-x11.c gtk/gtkcurve.h
	gtk/gtkdnd.h gtk/gtkitemfactory.c gtk/gtkitemfactory.h
	gtk/gtkmenu.h gtk/gtkoldeditable.c gtk/gtkoldeditable.h
	gtk/gtkoptionmenu.h gtk/gtkplug.c gtk/gtkplug.h gtk/gtkpreview.h
	gtk/gtkrange.h gtk/gtkselection.c gtk/gtkselection.h
	gtk/gtksocket.c gtk/gtksocket.h gtk/gtkstyle.c gtk/gtkstyle.h
	gtk/gtktextlayout.c gtk/gtktextlayout.h gtk/gtktreemodel.c
	gtk/gtktreemodel.h gtk/gtkwidget.h

	Trivial s/foo/foo_/ fixes to make gtk.h includable with -Wshadow
	without warnings. (#91680)
2002-11-08 19:41:50 +00:00
Eric Warmenhoven
0202f67266 fix compilation
Thu Nov  7 16:13:41 2002  Eric Warmenhoven <eric@warmenhoven.org>

	* gdk/linux-fb/gdkscreen-fb.c: fix compilation

	* gdk/linux-fb/gdkmain-fb.c: prevent segfaults on shutdown
2002-11-08 00:19:24 +00:00
Owen Taylor
d2caca5e20 Don't try to use render if we can't get a picture for the drawable. (Fixes
Thu Nov  7 17:18:06 2002  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_pixbuf):
        Don't try to use render if we can't get a picture for
        the drawable. (Fixes #97220, reported by
        Jamie Zawinski)

        * gtk/gtkimage.c: Force requisition calculation
        when we get a expose prior to size_request().
        (#91711, reported by Sven Neumann, debugging
        help from Matthias Clasen, Soeren Sandmann)
2002-11-07 22:27:22 +00:00
Owen Taylor
b56f96c98d Fix misplaced display_grab()/display_ungrab(); they shouldn't have been
Thu Nov  7 16:45:54 2002  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkx.h: Fix misplaced display_grab()/display_ungrab();
        they shouldn't have been deprecated.
2002-11-07 21:49:13 +00:00
Matthias Clasen
1751a74916 Use g_return_val_if_fail in this non-void function. (gdk_init_check):
* gdk/gdk.c (gdk_display_open_default_libgtk_only): Use
	g_return_val_if_fail in this non-void function.
	(gdk_init_check): Remove unused variable.
2002-11-07 21:05:52 +00:00
Owen Taylor
accc3a3365 Add startup notification hooks - mostly based on patch by Havoc Pennington
Sat Nov  2 00:22:33 2002  Owen Taylor  <otaylor@redhat.com>

        Add startup notification hooks - mostly based on patch
        by Havoc Pennington in #96772.

        * gdk/gdk.h gdk/x11/gdkdisplay-x11.c
        gdk/{win32,linux-fb}/gdkmain-*.c: (gdk_notify_startup_complete):
        new function that indicates an application has finished starting
        up.

        * gdk/x11/gdkmain-x11.c gdk/x11/gdkdisplay-x11.c
        (_gdk_windowing_set_default_display): store value of
        DESKTOP_STARTUP_ID on the default screen, and clear it from the
        environment.

        * gdk/x11/gdkdisplay-x11.c:
        Set _NET_STARTUP_ID hint on display's group leader window.

        * gtk/gtkwindow.c (gtk_window_set_auto_startup_notification):
        function to toggle whether we automatically broadcast that we've
        started up, after mapping the first toplevel window.
        (gtk_window_map): call gdk_screen_notify_startup_complete() by
        default, unless enabled by above.

        * gtk/gtkmain.c gtk/gtkcombo.c gtk/gtktoolbar.c:
        Couple of warning fixes.
2002-11-02 05:37:04 +00:00
Matthias Clasen
ca00536f34 More doc comments moved inline. 2002-11-01 00:45:32 +00:00
Owen Taylor
550bf181d2 Add a --screen option for setting the default screen. (Based on a patch
Thu Oct 31 12:40:39 2002  Owen Taylor  <otaylor@redhat.com>

        * gdk/gdk.[ch] gdk/gdkglobals.c gdk/gdkinternals.h
        gdk/{x11,win32,linux-fb}/gdkscreen-{x11,win32,linux-fb}.c:
        Add a --screen option for setting the default screen.
        (Based on a patch from Balamurali Viswanathan, #81145)

        * gdk/gdk.c gdkdisplay.h gtk/gtkmain.c: Add
        gdk_display_open_default_libgtk_only(), so gtk_init_check()
        and gdk_init_check() can share the same behavior w.r.t.
        --screen.

        * gdk/gdk.[ch]: Make gdk_get_display_arg_name() G_CONST_RETURN.

        * gdk/x11/gdkselection-x11.c (gdk_selection_property_get):
        Suppress a spurious warning.

        * tests/testgtkrc: Remove someleft-over commented out
        includes that could be confusing.
2002-10-31 21:12:23 +00:00
Matthias Clasen
d00b2b0a4a doc comment fixes. 2002-10-29 21:27:17 +00:00
Tor Lillqvist
ae26d02476 Don't call GetWindowLong for GWL_EXSTYLE, the extended window style wasn't
2002-10-28  Tor Lillqvist  <tml@iki.fi>

	* gdk/win32/gdkwindow-win32.c (gdk_window_set_decorations,
	gdk_window_set_functions): Don't call GetWindowLong for
	GWL_EXSTYLE, the extended window style wasn't used or
	changed. After setting the window style with SetWindowLong, call
	SetWindowPos with the SWP_FRAMECHANGED flag for the window to
	actually be updated, as Platform SDK docs say one should. (#95812,
	huzheng)
2002-10-28 20:48:40 +00:00
Matthias Clasen
1a4c94b90b Fix doc comment.
* gdk/x11/gdkcursor-x11.c: Fix doc comment.

	* gdk/gdkdnd.c: Add missing includes.
2002-10-25 00:01:15 +00:00
Matthias Clasen
f607812226 More API docs moved inline. 2002-10-24 21:24:20 +00:00
Matthias Clasen
1f1f2e9127 Documentation updates. 2002-10-23 23:15:58 +00:00
Matthias Clasen
5cc215cddf Remove redundant doc comments. 2002-10-23 21:03:35 +00:00
Matthias Clasen
f900039c8f Gdk API doc updates. 2002-10-22 22:11:22 +00:00
Owen Taylor
5c91c3a08a Produce C-m, not C-j for return. Handle Escape.
Fri Oct 18 16:47:02 2002  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkevents-x11.c (translate_key_event): Produce
        C-m, not C-j for return. Handle Escape.
2002-10-22 19:04:51 +00:00
Owen Taylor
a5803ca523 Handle Return and KP_Enter.
Fri Oct 18 16:47:02 2002  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkevents-x11.c (translate_key_event): Handle
        Return and KP_Enter.
2002-10-18 20:49:35 +00:00
Owen Taylor
30faa38aec Fix use of uninitialized variable.
Thu Oct 17 17:17:05 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkcheckbutton.c (gtk_check_button_size_request):
        Fix use of uninitialized variable.

Thu Oct 17 14:38:37 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkaccellabel.c (gtk_accel_label_expose_event):
        Align the baseline of the accelerator label with the
        first baseline of the main label of the menu item. (#76593)

Wed Oct 16 18:25:24 2002  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkevents-x11.c (translate_key_event):
        Use gdk_keymap_translate_keyboard_state() rather than
        XLookupString() to get the keysymbol, since XLookupString
        can confuse the input method handling. (#93575)

        * gdk/x11/gdkkeys-x11.c: Rewrite the handling of
        key translation for the non-XKB case to properly
        handle Shift_Lock, Caps_Lock, Num_Lock according
        to the Xlib spec. (#67066)
2002-10-18 19:26:43 +00:00
Havoc Pennington
727eb8afbd add g_return_if_fail for monitor number <= 0
2002-10-16  Havoc Pennington  <hp@redhat.com>

	* gdk/x11/gdkscreen-x11.c (gdk_screen_get_monitor_geometry): add
	g_return_if_fail for monitor number <= 0

	* gtk/gtkmenu.c (gtk_menu_position): handle case where pointer
	is outside the screen.

	* gtk/gtkwindow.c (get_monitor_center): factor out
	the code to position a window in center
	(gtk_window_compute_configure_request): use here
	(gtk_window_constrain_position): use here, the
	code here wasn't multihead-aware

	* gdk/x11/gdkevents-x11.c (get_real_window): function to
	return the window the event describes, rather than the window
	that received the event.
	(gdk_event_translate): use result of that function for
	filling in GdkEvent::window, which only matters for
	MapNotify/UnmapNotify and ConfigureNotify, in practice.

	Unbreaks various things using SubstructureNotifyMask.
2002-10-17 20:24:03 +00:00
Owen Taylor
79193611f4 Fix from Phil Blundell for compiling without Xkb. (#95909)
Wed Oct 16 15:19:44 2002  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkkeys-x11.c: Fix from Phil Blundell for
        compiling without Xkb. (#95909)
2002-10-16 19:20:57 +00:00
Owen Taylor
209fd4cc5d Make 'filled' arguments for draw_arc/polygon/rectangle gboolean not gint.
Wed Oct 16 14:32:43 2002  Owen Taylor  <otaylor@redhat.com>

        * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkpixmap.c
        gdk/gdkwindow.c gdk/x11/gdkdrawable-x11.c
        gdk/win32/gdkdrawable-win32.c gdk/linux-fb/gdkdrawable-fb2.c
        gdk/linux-fb/gdkprivate-fb.h:
        Make 'filled' arguments for draw_arc/polygon/rectangle
        gboolean not gint. (#94976)
2002-10-16 18:41:42 +00:00
Soeren Sandmann
a130f089ca Documentation fixes.
Sun Oct 13 18:50:14 2002  Soeren Sandmann  <sandmann@daimi.au.dk>

	* gtkmenu.c, gtkmenu.sgml, gtkitemfactory.c, gdkwindow.c,
	gtkwindow.c, gtkpaned.sgml, gtkdialog.c, gtkbox.h, gtkbutton.sgml,
	gtktreemodel.sgml,gtktable.sgml, gtktable.c:

	Documentation fixes.

	#85719, #90759, #95169, Owen Taylor;
	#89221, Yao Zhang, Matthias Clasen;
	#95592, Joost Faassen;
	#92637, Vitaly Tishkov;
	#94616, Ben Martin;
	#94772, sbaillie@bigpond.net.au;
2002-10-13 17:17:14 +00:00
Matthias Clasen
a9b71314ee Lots of trivial doc fixes. 2002-10-11 20:36:21 +00:00
Matthias Clasen
5591c434f8 Documentation updates. 2002-10-11 01:04:45 +00:00