Commit Graph

994 Commits

Author SHA1 Message Date
Matthias Clasen
476e138db0 Intern type names before registering the type to avoid unnecessary copies.
2005-08-31  Matthias Clasen  <mclasen@redhat.com>

	* gdk/x11/gdkwindow-x11.c (gdk_window_impl_x11_get_type):
	* gdk/x11/gdkscreen-x11.c (_gdk_screen_x11_get_type):
	* gdk/x11/gdkpixmap-x11.c (gdk_pixmap_impl_x11_get_type):
	* gdk/x11/gdkkeys-x11.c (gdk_keymap_x11_get_type):
	* gdk/x11/gdkinput.c (gdk_device_get_type):
	* gdk/x11/gdkimage-x11.c (gdk_image_get_type):
	* gdk/x11/gdkgc-x11.c (_gdk_gc_x11_get_type):
	* gdk/x11/gdkdrawable-x11.c (_gdk_drawable_impl_x11_get_type):
	* gdk/x11/gdkdnd-x11.c (gdk_drag_context_get_type):
	* gdk/x11/gdkdisplay-x11.c (_gdk_display_x11_get_type):
	* gdk/x11/gdkcolor-x11.c (gdk_colormap_get_type):
	* gdk/gdkwindow.c (gdk_window_object_get_type):
	* gdk/gdkscreen.c (gdk_screen_get_type):
	* gdk/gdkrectangle.c (gdk_rectangle_get_type):
	* gdk/gdkpixmap.c (gdk_pixmap_get_type):
	* gdk/gdkkeys.c (gdk_keymap_get_type):
	* gdk/gdkfont.c (gdk_font_get_type):
	* gdk/gdkevents.c (gdk_event_get_type):
	* gdk/gdkdraw.c (gdk_drawable_get_type):
	* gdk/gdkdisplaymanager.c (gdk_display_manager_get_type):
	* gdk/gdkdisplay.c (gdk_display_get_type):
	* gdk/gdkcursor.c (gdk_cursor_get_type):
	* gdk/gdkcolor.c (gdk_color_get_type): Intern type names before
	registering the type to avoid unnecessary copies.
2005-08-31 15:14:26 +00:00
Matthias Clasen
d5a3a61c01 Free state.children in all cases. (#313862, Kjartan Maraas)
2005-08-29  Matthias Clasen  <mclasen@redhat.com>

	* gdk/x11/gdkasync.c (_gdk_x11_get_window_child_info): Free
	state.children in all cases.  (#313862, Kjartan Maraas)
2005-08-29 04:38:52 +00:00
Matthias Clasen
6663cc051d Don't warn when G_MAXLONG is passed as length.
2005-08-27  Matthias Clasen  <mclasen@redhat.com>

	* gdk/x11/gdkproperty-x11.c (gdk_property_get): Don't warn
	when G_MAXLONG is passed as length.
2005-08-27 04:25:28 +00:00
Owen Taylor
446ebe3a77 Handle theme == NULL.
2005-08-25  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkcursor-x11.c (gdk_x11_display_set_cursor_theme):
        Handle theme == NULL.
2005-08-25 19:22:29 +00:00
Matthias Clasen
933b1f4546 After checking XLib sources, XGetWindowProperty does set data to NULL. 2005-08-19 13:46:11 +00:00
Matthias Clasen
859126d546 Free data returned from XGetWindowProperty.
2005-08-19  Matthias Clasen  <mclasen@redhat.com>

	* gdk/x11/gdkdnd-x11.c (_gdk_drag_get_protocol_for_display)
	(xdnd_read_actions, get_client_window_at_coords_recurse):
	Free data returned from XGetWindowProperty.

	* gdk/x11/gdkevents-x11.c (fetch_net_wm_check_window)
	Free data returned from XGetWindowProperty.  (313867, Kjartan
	Maraas)

	* gdk/x11/gdkdnd-x11.c (get_client_window_at_coords_recurse): Free
	children in all cases.  (#313862, Kjartan Maraas)
2005-08-19 05:46:06 +00:00
Matthias Clasen
ba8fd4b9e2 Free children in all cases. (#313862, Kjartan Maraas)
2005-08-19  Matthias Clasen  <mclasen@redhat.com>

	* gdk/x11/gdkdnd-x11.c (get_client_window_at_coords_recurse): Free
	children in all cases.  (#313862, Kjartan Maraas)
2005-08-19 05:16:31 +00:00
Owen Taylor
013a0b0f11 Fix have_base_pc / have_base_x_pc typo.
2005-08-15  Owen Taylor  <otaylor@redhat.com>

        * configure.in: Fix have_base_pc / have_base_x_pc typo.

        * gdk/x11/gdkdrawable-x11.c gtk/gtksettings.c: Remove panoxft.h includes.
        (#313417, James Andrewartha)

        * configure.in: Add fontconfig to X_PACKAGES, since we use it for
        FcNameConstant(). (More of #313417)
2005-08-15 19:04:55 +00:00
Owen Taylor
42dc0241f3 Handle pixmap == NULL when checking for a colormap. (Allin Cottrell).
2005-08-15  Owen Taylor  <otaylor@redhat.com>

        * gdk/linux-fb/gdkwindow-fb.c (gdk_window_set_back_pixmap):
        * gdk/win32/gdkwindow-win32.c (gdk_window_set_back_pixmap):
        * gdk/x11/gdkwindow-x11.c (gdk_window_set_back_pixmap):
        Handle pixmap == NULL when checking for a colormap.
        (Allin Cottrell).
2005-08-15 12:35:04 +00:00
Owen Taylor
c24e5e2890 gdk/linux-fb/gdkwindow-fb.c (gdk_window_set_back_pixmap)
2005-08-12  Owen Taylor  <otaylor@redhat.com>

        * gdk/linux-fb/gdkwindow-fb.c (gdk_window_set_back_pixmap)
        * gdk/win32/gdkwindow-win32.c (gdk_window_set_back_pixmap)
        * gdk/x11/gdkwindow-x11.c (gdk_window_set_back_pixmap): Warn if
        gdk_drawable_get_colormap (pixmap) is NULL and return.
2005-08-12 13:13:54 +00:00
Matthias Clasen
6bd98ba0f9 Define the hint styles to make building against fc < 2.2.92 work.
2005-08-01  Matthias Clasen  <mclasen@redhat.com>

	* gdk/x11/gdkxftdefaults.c: Define the hint styles to make
	building against fc < 2.2.92 work.  (#311839, Damien Carbery)
2005-08-01 16:11:38 +00:00
Matthias Clasen
5d7b721b27 Make tracking the on_all_desktops state work better.
2005-08-01  Matthias Clasen  <mclasen@redhat.com>

	* gdk/x11/gdkevents-x11.c (gdk_check_wm_desktop_changed): Make
	tracking the on_all_desktops state work better.

	* gdk/x11/gdkwindow-x11.c (gdk_x11_window_move_to_current_desktop):
	Don't do anything if the window is on all desktops.  (#311803,
	Elijah Newren)
2005-08-01 16:01:24 +00:00
Owen Taylor
8f3399d410 Change machinery for following font rendering xsettings to set cairo font
2005-07-19  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtksettings.c gtk/gtkwidget.c: Change machinery for
        following font rendering xsettings to set cairo font
        options on PangoContext

        * gdk/x11/gdkxftdefaults.c gdk/x11/gdkevents-x11.c gdkscreen-x11.h
        gdkprivate-x11.h: Get default values for rendering options
        (such as antialiasing, dpi) from the Xft resources for the
        display, borrowing a bit of code from Xft.

        * gtk/gtksettings.c (gtk_settings_class_init): Fix docs for
        values of gtk-xft-hintstyle.
2005-07-21 13:59:22 +00:00
Keith Packard
9917173c41 Follow change in cairo API to add Screen* to
2005-07-20  Keith Packard  <keithp@keithp.com>

	* gdk/x11/gdkdrawable-x11.c: (gdk_x11_ref_cairo_surface):

	Follow change in cairo API to add Screen* to
	cairo_xlib_create_surface_for_bitmap
2005-07-21 03:57:00 +00:00
Matthias Clasen
f1dd819cfe Don't assert if the xrootwin is invalid. (#309997, Barbie LeVille)
2005-07-14  Matthias Clasen  <mclasen@redhat.com>

	* gdk/x11/gdkevents-x11.c (set_screen_from_root): Don't assert if
	the xrootwin is invalid.  (#309997, Barbie LeVille)
	(gdk_event_translate): Ignore events with an invalid root field.
2005-07-14 14:37:34 +00:00
Matthias Clasen
e5f444e9a8 Make gdk_window_present() move the window to the current desktop, instead
2005-07-11  Matthias Clasen  <mclasen@redhat.com>

	Make gdk_window_present() move the window to the current
	desktop, instead of letting the WM change the current
	desktop to where the window is.  (#166379, Elijah Newren)

	* gdk/gdk.symbols:
	* gdk/x11/gdkx.h:
	* gdk/x11/gdkwindow-x11.c (gdk_x11_window_move_to_current_desktop):
	New function to move a window to the current desktop.

	* gtk/gtkwindow.c (gtk_window_present_with_time): Move the
	window to the current desktop before giving it focus.
2005-07-11 18:28:23 +00:00
Matthias Clasen
5a997f0f37 Don't generate events on destroyed windows.
2005-07-07  Matthias Clasen  <mclasen@redhat.com>

	* gdk/x11/gdkmain-x11.c (generate_grab_broken_event): Don't
	generate events on destroyed windows.
2005-07-07 19:05:33 +00:00
Manish Singh
5cc0696de6 declare _gdk_xgrab_check_button_event.
Thu Jun 30 14:17:24 2005  Manish Singh  <yosh@gimp.org>

        * gdk/x11/gdkprivate-x11.h: declare _gdk_xgrab_check_button_event.

        * gtk/gtkbutton.c: fix signature of gtk_button_grab_broken.
2005-06-30 21:18:34 +00:00
Matthias Clasen
8833e0d3c3 Avoid infinite loop if a mask is zero. (#309222, David Saxton)
2005-06-30  Matthias Clasen  <mclasen@redhat.com>

	* gdk/x11/gdkvisual-x11.c (gdk_visual_decompose_mask): Avoid
	infinite loop if a mask is zero.  (#309222, David Saxton)
2005-06-30 19:11:58 +00:00
Matthias Clasen
87cafe5b4b Handle broken grabs.
2005-06-29  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkbutton.c (gtk_button_grab_broken): Handle broken
        grabs.

        * gtk/gtkrange.c (gtk_range_grab_broken): Handle broken
        grabs.

        * gdk/gdkevents.h: Add a boolean to specify wether the broken
        grab was implicit.

        * gdk/x11/gdkdisplay-x11.c (gdk_display_pointer_is_grabbed):
        As the documentation states, don't return TRUE for
        implicit grabs.

        * gdk/x11/gdkdisplay-x11.h (struct _GdkDisplayX11): Add
        a boolean field to store wether a pointer grab is implicit.

        * gdk/x11/gdkmain-x11.c (_gdk_xgrab_check_button_event):
        Track implicit grabs.

        * gdk/x11/gdkevents-x11.c (gdk_event_translate): Call
        _gdk_xgrab_check_button_event for button events.
2005-06-30 03:35:30 +00:00
Matthias Clasen
b2343762b1 Ignore GrabBroken events which are caused by overgrabbing inside the
2005-06-27  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkmenushell.c (gtk_menu_shell_grab_broken): Ignore
	GrabBroken events which are caused by overgrabbing inside
	the application; menus rely on these for their operation.

	* gdk/gdkevents.h (struct _GdkEventGrabBroken): Add a
	grab_window field.

	* gdk/win32/gdkevents-win32.c (gdk_event_translate): Set
	grab_window to NULL when generating GrabBroken events for
	WM_KILLFOCUS messages.

	* gdk/x11/gdkmain-x11.c (_gdk_xgrab_check_unmap)
	(_gdk_xgrab_check_destroy): Set grab_window to NULL when
	generating GrabBroken events when the grab window becomes
	unviewable or is destroyed.

	* gdk/x11/gdkmain-x11.c (gdk_pointer_grab, gdk_keyboard_grab):
	Generate GrabBroken events when overriding a grab inside
	the application. In this case, set grab_window to the new
	grab_window.
2005-06-27 21:06:33 +00:00
Matthias Clasen
c719b4bf3d Avoid a segfault. (#309054)
2005-06-27  Matthias Clasen  <mclasen@redhat.com>

	* modules/input/gtkimcontextxim.c (gtk_im_context_xim_finalize):
	Avoid a segfault. (#309054)

	* gdk/x11/gdkdisplay-x11.h (struct _GdkDisplayX11): Add
	fields for grab timestamps.

	* gdk/x11/gdkmain-x11.c (gdk_pointer_grab, gdk_keyboard_grab):
	Store grab timestamps when grabbing.

	* gdk/x11/gdkdisplay-x11.c (gdk_display_keyboard_ungrab)
	(gdk_display_pointer_ungrab): Don't unset the grab_window
	if the timestamps indicate that the ungrab will fails.
2005-06-27 18:37:41 +00:00
Matthias Clasen
96cf099c47 Don't emit grab-broken for overgrabbing, until we figure out how to do
2005-06-25  Matthias Clasen  <mclasen@redhat.com>

	* gdk/x11/gdkmain-x11.c (gdk_keyboard_grab, gdk_pointer_grab):
	Don't emit grab-broken for overgrabbing, until we figure
	out how to do that without breaking the menu code.
2005-06-26 03:48:06 +00:00
Matthias Clasen
9b356ea0d8 Add a GrabBroken event to GDK, and a grab-broken-event signal to
2005-06-25  Matthias Clasen  <mclasen@redhat.com>

	Add a GrabBroken event to GDK, and a grab-broken-event
	signal to GtkWidget.  (#107320, Simon Cooke, initial patch
	by John Ehresman)

	* gdk/gdkevents.h: Add a GDK_GRAB_BROKEN event type,
	define a GdkEventGrabBroken event struct.

	* gdk/win32/gdkevents-win32.c (gdk_event_translate):
	Generate GrabBroken events in response to WM_KILLFOCUS.

	* gdk/x11/gdkmain-x11.c: Generate GrabBroken events
	when a grab is broken by the window becoming unviewable,
	or by another grab from the same client.

	* gtk/gtkwidget.h (GtkWidgetClass): Add grab_broken_event.

	* gtk/gtkwidget.c (gtk_widget_event_internal): Translate
	GrabBroken events into grab_broken_event signals.

	* gtk/gtkmain.c (gtk_main_do_event): Propagate GrabBroken
	events.

	* gtk/gtkmenushell.c (gtk_menu_shell_grab_broken): Deactivate
	the menu when the grab is broken.

	* gtk/gtkcolorsel.c (gtk_color_selection_grab_broken): Stop
	the color picker if the grab is broken.

	* gtk/gtkpaned.c (gtk_paned_grab_broken): Stop the drag if
	the grab is broken.
2005-06-25 07:10:40 +00:00
Matthias Clasen
9c3aa23e08 Set the time field in the event. (#308573, Morten Welinder)
2005-06-22  Matthias Clasen  <mclasen@redhat.com>

	* gdk/x11/gdkdnd-x11.c (xdnd_finished_filter): Set the
	time field in the event.  (#308573, Morten Welinder)
2005-06-22 16:09:41 +00:00
Matthias Clasen
0f133f4f4b New function which can be used to implement scrolling in non-window
2005-06-21  Matthias Clasen  <mclasen@redhat.com>

	* gdk/gdk.symbols:
	* gdk/gdkwindow.h:
	* gdk/x11/gdkgeometry-x11.c (gdk_window_move_region): New
	function which can be used to implement scrolling in
	non-window widgets.  (#135165, Søren Sandmann)
2005-06-21 04:09:52 +00:00
Manish Singh
8e3ea42aba remove GDK_CURSOR and GDK_IS_CURSOR, instance checks don't work on boxed
Sat Jun 18 04:22:51 2005  Manish Singh  <yosh@gimp.org>

        * gdk/gdkcursor.h: remove GDK_CURSOR and GDK_IS_CURSOR, instance
        checks don't work on boxed types.

        * gdk/x11/gdkcursor-x11.c:
        * gdk/gdkcursor.c: make return_if_fail checks != NULL instead of
        GDK_IS_CURSOR.
2005-06-18 11:25:14 +00:00
Matthias Clasen
23fabedc9d Support the ICCCM urgency hint. (#61858, Havoc Pennington)
2005-06-17  Matthias Clasen  <mclasen@redhat.com>

	Support the ICCCM urgency hint.  (#61858, Havoc Pennington)

	* gtk/gtk.symbols:
	* gtk/gtkwindow.[hc]: Add a GtkWindow::urgency-hint property
	with getter and setter.

	* gdk/gdk.symbols:
	* gdk/gdkwindow.h:
	* gdk/x11/gdkwindow-x11.c (gdk_window_set_urgency_hint):
	Add a setter for the urgency hint.

	* gdk/x11/gdkwindow-x11.h (struct _GdkToplevelX11): Store
	urgency hint here.

	* gdk/x11/gdkwindow-x11.c (update_wm_hints): Set the urgency
	hint in the WM_HINTS property when appropriate.
2005-06-17 20:19:32 +00:00
Matthias Clasen
3d6ed0595f Improve some return_if_fail checks, and add the missing non-Xcursor
2005-06-17  Matthias Clasen  <mclasen@redhat.com>

	* gdk/x11/gdkcursor-x11.c:
	* gdk/gdkcursor.c: Improve some return_if_fail checks,
	and add the missing non-Xcursor fallback for
	_gdk_x11_cursor_update_theme(), noticed by Jeroen
	Zwartepoorte.
2005-06-17 19:27:04 +00:00
Matthias Clasen
beb73ece8f Handle cursor theme changes for cached cursors which are not associated
2005-06-17  Matthias Clasen  <mclasen@redhat.com>

	* gdk/x11/gdkprivate-x11.h:
	* gdk/x11/gdkcursor-x11.c: Handle cursor theme changes
	for cached cursors which are not associated with a window
	at the time of the theme change, by storing a serial
	number in each cursor, and updating the theme_serial
	counter whenever the cursor theme changes.

	* gdk/x11/gdkcursor-x11.c (_gdk_x11_cursor_update_theme):
	Private function to update a cursor to the current
	cursor theme if necessary.

	* gdk/x11/gdkmain-x11.c (gdk_pointer_grab):
	* gdk/x11/gdkwindow-x11.c (gdk_window_set_cursor): Call
	_gdk_x11_cursor_update_theme() here.
2005-06-17 17:26:24 +00:00
Manish Singh
be53636ec1 remove unused variable.
Thu Jun 16 15:33:42 2005  Manish Singh  <yosh@gimp.org>

        * gdk/x11/gdkcursor-x11.c (update_cursor): remove unused variable.

        * gdk/x11/gdkwindow-x11.c (_gdk_x11_window_get_cursor): use
        g_return_val_if_fail.

        * gtk/gtkdnd.c (gtk_drag_get_cursor): initialize hot_x and hot_y
        for all cases.

        * gtk/gtkfilechooserdefault.c (button_new): gtk_button_set_image
        takes a GtkWidget, not a GtkImage.
2005-06-16 22:35:45 +00:00
Matthias Clasen
19b9451ce7 Get red and blue in place.
2005-06-15  Matthias Clasen  <mclasen@redhat.com>

	* gdk/x11/gdkcursor-x11.c (gdk_cursor_get_image): Get
	red and blue in place.
2005-06-15 21:22:54 +00:00
Matthias Clasen
df517cb1d5 Add two new settings, gtk-cursor-theme-name and gtk-cursor-theme-size to
2005-06-15  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtksettings.c: Add two new settings,
	gtk-cursor-theme-name and gtk-cursor-theme-size to
	control the cursor theme.

	* gdk/x11/gdkevents-x11.c: Add two new X settings,
	Gtk/CursorThemeName and Gtk/CursorThemeSize, and map
	these to the gtk settings.

	* tests/testgtk.c (create_cursors): Add a cursor theme
	testcase.
2005-06-15 19:25:49 +00:00
Matthias Clasen
3c96358fd1 Keep a reference to the GdkCursor and add a private getter for it, so that
2005-06-15  Matthias Clasen  <mclasen@redhat.com>

	* gdk/x11/gdkwindow-x11.[hc]: Keep a reference to the
	GdkCursor and add a private getter for it, so that we can
	update the cursor when the cursor theme changes.

	* gdk/gdk.symbols:
	* gdk/x11/gdkx.h:
	* gdk/x11/gdkcursor-x11.c (gdk_x11_display_set_cursor_theme):
	New function to change the cursor theme.
2005-06-15 18:37:18 +00:00
Matthias Clasen
cd87226986 Remove a lot of pointless g_return_if_fail() non-NULL checks.
2005-06-15  Matthias Clasen  <mclasen@redhat.com>

	* gdk/x11/gdkwindow-x11.c: Remove a lot of pointless
	g_return_if_fail() non-NULL checks.
2005-06-15 16:59:20 +00:00
Matthias Clasen
daab95c294 Add a stub for the no-Xcursor case. (noticed by Luis Villa)
2005-06-14  Matthias Clasen  <mclasen@redhat.com>

	* gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_name): Add a
	stub for the no-Xcursor case. (noticed by Luis Villa)
2005-06-14 20:43:20 +00:00
Matthias Clasen
2fad80a6bd Forgotten file 2005-06-14 16:05:52 +00:00
Matthias Clasen
6b5b269844 New functions to construct named cursors and to get the image used for a
2005-06-14  Matthias Clasen  <mclasen@redhat.com>

	* gdk/gdk.symbols:
	* gdk/gdkcursor.h:
	* gdk/x11/gdkcursor-x11.c (gdk_cursor_get_image)
	(gdk_cursor_new_from_name): New functions to construct named
	cursors and to get the image used for a cursor.
2005-06-14 15:10:13 +00:00
Kjartan Maraas
5ee5b7c4b5 Plug a leak. Closes bug #307281.
2005-06-12  Kjartan Maraas  <kmaraas@gnome.org>

	* gdk/x11/gdkasync.c: (send_event_handler): Plug
	a leak. Closes bug #307281.
2005-06-12 16:24:10 +00:00
Matthias Clasen
411241fb26 Cleanup. (#169648, Fabricio Barros Cabral)
2005-06-12  Matthias Clasen  <mclasen@redhat.com>

	* gdk/*.h: Cleanup.  (#169648, Fabricio Barros Cabral)
2005-06-12 05:32:25 +00:00
Matthias Clasen
0a8331150e Small markup fixes. 2005-06-10 03:35:30 +00:00
Matthias Clasen
13a9dd210a Update the user time on the window when a drop happens. (#169364,
2005-06-09  Matthias Clasen  <mclasen@redhat.com>

	* gdk/x11/gdkdnd-x11.c (motif_drop_start, xdnd_drop_filter): Update
	the user time on the window when a drop happens.  (#169364, Alexander
	Hunziker, patch by Elijah Newren)
2005-06-09 17:13:58 +00:00
Matthias Clasen
92690fa3c2 Small markup fixes.
2005-06-09  Matthias Clasen  <mclasen@redhat.com>

	* gdk/x11/gdkwindow-x11.c: Small markup fixes.
2005-06-09 16:40:42 +00:00
Matthias Clasen
f6906b8272 Warn if length overflows. (#161520, Ian Wienand)
2005-05-18  Matthias Clasen  <mclasen@redhat.com>

	* gdk/x11/gdkproperty-x11.c (gdk_property_get): Warn if
	length overflows.  (#161520, Ian Wienand)
2005-05-18 14:46:14 +00:00
Owen Taylor
df1cc88424 Update to changed cairo interface.
2005-05-17  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkdrawable-x11.c (gdk_x11_ref_cairo_surface):
        Update to changed cairo interface.

        * gdk/x11/gdkdrawable-x11.[ch]:
        Add _gdk_x11_drawable_update_size()

        * gdk/x11/gdkwindow-x11.c (gdk_window_resize)
        (gdk_window_move_resize)
        * gdk/x11/gdkevents-x11.c (gdk_event_translate):
        Call _gdk_x11_drawable_update_size().
2005-05-17 17:35:22 +00:00
Owen Taylor
c2bd238e88 Update for cairo-xlib API change.
2005-05-13  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkdrawable-x11.c: Update for cairo-xlib API change.

        * gdk/x11/gdkpixmap-x11.[ch] gdk/gdk.symbols: Export
        gdk_pixmap_impl_x11_get_type(), needed in gdkdrawable-x11.c.
2005-05-14 01:04:15 +00:00
Owen Taylor
485fd85179 Fill in unused bits so they can be used for the depth-32 target case.
2005-05-09  Owen Taylor  <otaylor@redhat.com>

        * gdk/gdkrgb.c (gdk_rgb_convert_0888_br, gdk_rgb_convert_8880_br):
        Fill in unused bits so they can be used for the depth-32 target case.
        Rewrite so that that gives a marginal speedup rather than a
        marginal slowdown. (on x86)

        * gdk/gdkscreen.h gdk/x11/gdkscreen-x11.[ch] gdk/x11/gdkvisual-x11.c:
        Add gdk_screen_get_rgba_colormap/visual to get a visual for
        windows with an alpha channel, if one exists.

        * gdk/win32/gdkscreen-win32.c gdk/linux-fb/gdkscreen-fb.c:
        Stub out gdk_screen_get_rgba_colormap/visual.

        * gdk/x11/gdkcolor-x11.c (gdk_colormap_alloc_colors): computation of
        "unused" wasn't right for depth == 32, since it depended on
        shifting by 32.

        * gdk/gdkrgb.c: Fill in alpha bits with 1s. (Based on patch from
        Keith Packard,
        http://mail.gnome.org/archives/gtk-devel-list/2004-June/msg00080.html)

        * gdk/x11/gdkdrawable-x11.c (gdk_x11_drawable_get_picture):
        Implement again, without using Xft.

        * tests/testgtk.c: Add a test for windows with an alpha channel.
2005-05-09 22:54:10 +00:00
Matthias Clasen
ba20420e9f Small documentation additions.
2005-05-08  Matthias Clasen  <mclasen@redhat.com>

	* gdk/gdkcolor.c (gdk_cairo_set_source_color):
	* gdk/gdkimage.h:
	* gdk/gdkdraw.c:
	* gdk/gdkcolor.h:
	* gdk/gdkcursor.h:
	* gdk/x11/gdkcolor-x11.c: Small documentation additions.
2005-05-08 05:47:52 +00:00
Matthias Clasen
65903c3ae7 Fix typos in the docs. (#303389, Masao Mutoh)
2005-05-07  Matthias Clasen  <mclasen@redhat.com>

	* gdk/x11/gdkscreen-x11.c (gdk_screen_get_width_mm)
	(gdk_screen_get_height_mm): Fix typos in the docs.  (#303389,
	Masao Mutoh)
2005-05-08 03:18:09 +00:00
Owen Taylor
dcedc5bcef Fix a bug in focus tracking when we move between has_pointer_focus and
2005-05-04  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkevents-x11.c gdk/x11/gdkwindow-x11.h: Fix a bug
        in focus tracking when we move between has_pointer_focus and
        has_focus_window directly. (#109246, Billy Biggs, Niko Tyni
        and others)

        * gdk/x11/gdkevents-x11.c: Also fix some extremely confusion
        that could happen in the case of no window manager + keyboard grabs,
        by moving to a more consistent model of when we pay attention
        to mode=NotifyGrab/NotifyUngrab events.

        * docs/focus_tracking.txt: Extensive writeup about how to track
        focus under X11
2005-05-05 00:12:21 +00:00
Owen Taylor
788bbf520a Add a draw-border style property to allow themes to draw outside the
2005-04-28  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkwidget.c: Add a draw-border style property to allow
	themes to draw outside the widget's allocation.

	* gdk/gdkwindow.c gtk/gtkstyle.c: Remove some save/restore pairs
	that were working around the clip-leakage bug in Cairo.

	* gtk/gtkstyle.c: Use cairo_fill_preserve() rathe than
	save/fill/restore.

	* gdk/gdkgc.c gdk/gdkinternals.h: Add _gdk_gc_update_context()
	That updates a Cairo context to match a GC.

	* gdk/gdkdraw.c: Use _gdk_gc_update_context() to add support
	for tiles/stipples/clipping to gdk_draw_glyphs(),
	gdk_draw_trapezoids().

	* gdk/gdkpango.c: Use _gdk_gc_update_context() instead of internal
	implementation of stipples. Use one cairo_t across the entire
	drawing operation. Replace cairo_matrix_create() with
	stack-allocated matrices.

	* gdk/gdkgc.c gdk/gdkinternals.h gdk/x11/gdkgc-x11.c
	gdk/win32/gdkgc-win32.c: Save various aspects of the
	GC state (fill, tile, stipple, foreground, background, clip region)
	in instance-private-data for future use. Add getters.
	Get rid of _gdk_windowing_gc_get_foreground() function implemented
	by the backends.

	* gdk/gdkgc.c gdk/gdkinternals.h gdk/x11/gdkgc-x11.c
	gdk/win32/gdkgc-win32.c gdk/linux-fb/gdkgc-fb.c: Add
	_gdk_gc_init() to do initial setup of the GC from values;
	fixes some problems from drawable redirection.

	* gdk/gdkgc.c gdk/gdkinternals.h gdk/x11/gdkgc-x11.c
	gdk/win32/gdkgc-win32.c gdk/linux-fb/gdkgc-fb.c: Move
	gdk_gc_copy() and gdk_gc_set_clip_{region,rectangle}() into
	the generic code, add _gdk_windowing_gc_copy(),
	_gdk_windowing_gc_set_clip_region() to do backend specific
	stuff.

	* gdk/x11/{gdkprivate-x11.h,gdkgc-x11.c.c,gdkdrawable-x11.c}
	gdk/win32/{gdkprivate-win32.h,gdkgc-x11.c.c,gdkdrawable-x11.c}
	gdk/linux-fb/{gdkprivate-fb.h,gdkgc-fb.c.c,gdkdrawable-fb.c}:
	Don't duplicate state that now is stored by the generic code.

	* gdk/gdk.symbols Update
2005-05-02 23:29:24 +00:00
Matthias Clasen
324872e3b4 Some more fixes necessary to make building with gcc 4 work.
* gdk/x11/gdkinput-xfree.c:
	* gdk/x11/gdkinput-none.c:
	* gdk/gtk.symbols: Some more fixes necessary to
	make building with gcc 4 work.
2005-04-10 01:01:18 +00:00
Owen Taylor
b8663e868f Call cairo_surface_finish()
2005-03-18  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkdrawable-x11.c (_gdk_x11_drawable_finish):
        Call cairo_surface_finish()

        * gdk/gdkinternals.c gdk/x11/gdkdrawable-x11.c: Remoev
        _gdk_windowing_set_surface_device_offset().
2005-03-18 23:51:31 +00:00
Owen Taylor
09d7eafb15 Switch set_cairo_target() virtual function to ref_cairo_surface()
2005-03-15  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkpixmap.c gdk/gdkwindow.c
	gdk/x11/gdkdrawable-x11.c gdk/x11/gdkpixmap-x11.c gdk/x11/gdkwindow-x11.c
	gdk/gdkinternals.h: Switch set_cairo_target() virtual function to
	ref_cairo_surface()

	* gdk/gdkdrawable.h gdk/gdkdraw.h: Switch set_cairo_target() virtual
	function to create_cairo_context()

	* gdk/gdkwindow.c: Clear double buffer pixmaps with Cairo.

	* gdk/x11/gdkwindow-x11.c: Keep all components in GdkWindowObject.bg_color,
	not just the pixel.

	* tests/testcairo.c: Update for create_cairo_context()

	* gdk/gdkdraw.c (gdk_draw_trapezoids, gdk_draw_glyphs[_transformed]):
	Reimplement in terms of Cairo, bypass the vtable entries.

	* gdk/x11/gdkdrawable-x11.[ch] gdk/x11/gdkdisplay-x11.[ch]
	gdk/x11/gdkgc-x11.c gdk/x11/gdkpango-x11.c
	gdk/x11/gdkprivate-x11.h gdk/x11/Makefile.am: Remove
	implementation of draw_trapezoids / draw_glyphs[_transformed].

	* gdk/gdkpango.c: Switch GdkPangoRenderer to use Cairo

	* gdk/gdkpango.c gdk/x11/gdkpango-x11.c: Move
	gdk_pango_context_get_for_screen() into the backend independent code.

	* gdk/x11/gdkdrawable-x11.[ch]: Remove Xft use, use RENDER directly
	for drawing images.

	* gdk/gdkdrawable.h gdk/x11/gdkdrawable-x11.c: Remove
	gdk_draw_rectangle_alpha_libgtk_only.

	* gdk/gdkpixbuf.h gdk/gdkpixbuf-render.c: Add
	gdk_pixbuf_set_as_cairo_source()

	* gdk/gdk.symbols: Update

	* gtk/gtkcolorsel.c gtk/gtkhsv.c gtk/gtkiconview.c gtk/gtkruler.[ch]
	gtk/gtk[hv]ruler.c: Convert to Cairo rendering.

	* gtk/gtkstyle.c (gtk_default_draw_check, gtk_default_draw_focus,
	gtk_default_draw_option): Switch to Cairo. Simplify the checkbutton,
	radio button style for now to get something more scalable.

	*  gtk/gtksettings.c: #if 0 out the code to use PangoXft for hinting/
	antialiasing/dpi settings.
2005-03-17 01:54:40 +00:00
Manish Singh
9e7f4ff465 #include gdkaliasdef.c here too.
Tue Mar 15 20:34:33 2005  Manish Singh  <yosh@gimp.org>

        * gdk/x11/gdkinput-xfree.c: #include gdkaliasdef.c here too.
2005-03-16 04:35:33 +00:00
Matthias Clasen
2a2d769d42 Make PLT-reduction work with gcc4, and don't include everything in
2005-03-15  Matthias Clasen  <mclasen@redhat.com>

	Make PLT-reduction work with gcc4, and don't include
	everything in gdkalias.h:

	* gdk/gdk.symbols: Group symbols by header and source file.
	* gdk/makegdkalias.pl: Protect definitions by the same
	preprocessor symbols used to guard the headers. Move
	the alias declarations to a separate file which is
	produced when calling makegdkalias.pl -def
	* gdk/Makefile.am (gdkaliasdef.c): Add a rule to generate this
	file.
	* gdk/*.c, gdk/x11/*.c: Include gdkalias.h after the other
	headers, include gdkaliasdef.c at the bottom.
2005-03-16 03:17:27 +00:00
Manish Singh
de1e169e44 Cast to avoid const warnings on data structure seeding.
Tue Mar  1 14:04:08 2005  Manish Singh  <yosh@gimp.org>

        * gdk/x11/gdkproperty-x11.c (virtual_atom_check_init): Cast to avoid
        const warnings on data structure seeding.
2005-03-01 22:25:42 +00:00
Matthias Clasen
6da29b43a6 gdk/gdkkeyuni.c gdk/gdkpixbuf-drawable.c gdk/gdkrgb.c gdk/x11/gdkdnd-x11.c
2005-03-01  Matthias Clasen  <mclasen@redhat.com>

	* gdk/gdkkeyuni.c
	* gdk/gdkpixbuf-drawable.c
	* gdk/gdkrgb.c
	* gdk/x11/gdkdnd-x11.c
	* gdk/x11/gdkevents-x11.c
	* gdk/x11/gdkproperty-x11.c
	* gdk/x11/gdkvisual-x11.c
	* gdk-pixbuf/gdk-pixbuf.c
	* gtk/gtkaction.c
	* gtk/gtkbindings.c
	* gtk/gtkcolorbutton.c
	* gtk/gtkcombo.c
	* gtk/gtkcontainer.c
	* gtk/gtkfilechooserdefault.c
	* gtk/gtkfilesel.c
	* gtk/gtkgamma.c
	* gtk/gtkiconview.c
	* gtk/gtkinputdialog.c
	* gtk/gtkitemfactory.c
	* gtk/gtkmenu.c
	* gtk/gtktextview.c
	* gtk/gtktooltips.c
	* gtk/gtktreedatalist.c
	* gtk/gtkuimanager.c
	* gtk/tree_minus.xpm
	* gtk/tree_plus.xpm
	* gtk/xdgmime/xdgmime.c
	* gtk/xdgmime/xdgmime.h:
	Move constant data to .rodata.
2005-03-01 06:25:55 +00:00
Matthias Clasen
5a7cb2374a Set have_render_with_trapezoids to GDK_YES when we have a new enough
2005-02-20  Matthias Clasen  <mclasen@redhat.com>

	* gdk/x11/gdkdrawable-x11.c (_gdk_x11_have_render_with_trapezoids):
	Set have_render_with_trapezoids to GDK_YES when we have
	a new enough Render extension.  (#167965,Billy Biggs)
2005-02-21 04:09:18 +00:00
Manish Singh
5c271537cb #include cairo-xlib.h
Thu Feb  3 19:15:55 2005  Manish Singh  <yosh@gimp.org>

        * gdk/x11/gdkdrawable-x11.c: #include cairo-xlib.h
2005-02-04 03:16:54 +00:00
Owen Taylor
93344f6dfe Add gdk_drawable_set_cairo_target().
2005-02-03  Owen Taylor  <otaylor@redhat.com>

        * gdk/gdkdrawable.[ch] gdkpixmap.c gdkwindow.c: Add
        gdk_drawable_set_cairo_target().

        * tests/testtreeflow.c (enum): Use grand not rand as a variable
        name because one of the cairo headers is pulling in stdlib.h.

        * tests/testcairo.c tests/Makefile.am: Add a simple cairo based
        example.

        * configure.in: Bump release to 2.7.0, gtk_binary_version to 2.7.0.

        * Require libpangocairo for all backends.
2005-02-03 23:29:02 +00:00
Matthias Clasen
1d0c7ea1bb Fix many instances of "the the" in docs and comments. (#165815, Masao
2005-02-01  Matthias Clasen  <mclasen@redhat.com>

	* */*.c: Fix many instances of "the the" in docs and
	comments.  (#165815, Masao Mutoh)
2005-02-01 18:15:09 +00:00
Matthias Clasen
a54f709c98 Fix docs. (#165163, Jeff Franks)
2005-01-25  Matthias Clasen  <mclasen@redhat.com>

	* gdk/x11/gdkwindow-x11.c (gdk_window_configure_finished): Fix
	docs.  (#165163, Jeff Franks)
2005-01-25 18:50:38 +00:00
Matthias Clasen
06a19ba693 Initialize user_time from DESKTOP_STARTUP_ID. (#165131, Elijah Newren)
2005-01-24  Matthias Clasen  <mclasen@redhat.com>

	* gdk/x11/gdkdisplay-x11.c (_gdk_windowing_set_default_display):
	Initialize user_time from DESKTOP_STARTUP_ID.  (#165131,
	Elijah Newren)
2005-01-25 04:02:55 +00:00
Manish Singh
b37e0373ef Call GDK_DISPLAY_XDISPLAY with a display, not a window. Clean up the
Wed Jan 19 18:57:02 2005  Manish Singh  <yosh@gimp.org>

        * gdk/x11/gdkwindow-x11.c (gdk_window_get_frame_extents): Call
        GDK_DISPLAY_XDISPLAY with a display, not a window. Clean up the
        function a bit too.
2005-01-20 02:58:03 +00:00
Manish Singh
85c6f6eb76 Squash strict aliasing warning in _NET_VIRTUAL_ROOTS code.
Wed Jan 19 17:17:31 2005  Manish Singh  <yosh@gimp.org>

        * gdk/x11/gdkwindow-x11.c (gdk_window_get_frame_extents): Squash
        strict aliasing warning in _NET_VIRTUAL_ROOTS code.
2005-01-20 01:19:45 +00:00
Matthias Clasen
fbe8255db6 Precache the _NET_VIRTUAL_ROOTS atom.
2005-01-19  Matthias Clasen  <mclasen@redhat.com>

	* gdk/x11/gdkdisplay-x11.c: Precache the _NET_VIRTUAL_ROOTS
	atom.

	* gdk/x11/gdkwindow-x11.c (gdk_window_get_frame_extents):
	Support _NET_VIRTUAL_ROOTS.  (#163910, Carsten Haitzler)
2005-01-19 19:53:12 +00:00
Matthias Clasen
56e0ee04fc Add a function to obtain the last user interaction time. (#163119, Elijah
2005-01-19  Matthias Clasen  <mclasen@redhat.com>

	* gdk/gdk.symbols:
	* gdk/x11/gdkx.h:
	* gdk/x11/gdkdisplay-x11.c (gdk_x11_display_get_user_time):
	Add a function to obtain the last user interaction
	time.  (#163119, Elijah Newren)
2005-01-19 14:37:56 +00:00
Manish Singh
d73a8e0cad Tue Jan 18 13:46:46 2005 Manish Singh <yosh@gimp.org
* gdk/x11/gdkdrawable-x11.c (_gdk_x11_have_render_with_trapezoids):
        disambiguate nested if/else.
2005-01-18 21:47:51 +00:00
Matthias Clasen
3f8461b769 Add pointer warping to GDK. (#160437)
2005-01-18  Matthias Clasen  <mclasen@redhat.com>

	* gdk/gdkdisplay.h:
	* gdk/x11/gdkwindow-x11.c (gdk_display_warp_pointer):
	* gdk/win32/gdkwindow-win32.c (gdk_display_warp_pointer): Add
	pointer warping to GDK.  (#160437)

	* gtk/gtkcolorsel.c (key_press): Use gdk_display_warp_pointer.
2005-01-18 20:59:31 +00:00
Matthias Clasen
014a347f00 Avoid X errors when running against servers which implement XRender < 0.4.
2005-01-18  Matthias Clasen  <mclasen@redhat.com>

	Avoid X errors when running against servers which
	implement XRender < 0.4.  (#164427, Albert Chin)

	* gdk/x11/gdkprivate-x11.h:
	* gdk/x11/gdkdrawable-x11.c (_gdk_x11_have_render_with_trapezoids):
	New function to check for trapezoid support in XRender.
	(gdk_x11_draw_trapezoids, _gdk_x11_drawable_draw_xtrapezoids):
	Use it here.

	* gdk/x11/gdkdisplay-x11.h (struct _GdkDisplayX11): Add a
	separate have_render_with_trapezoids field.

	* gdk/x11/gdkdisplay-x11.c (gdk_display_open): Initialize it.
2005-01-18 15:19:53 +00:00
Matthias Clasen
7e4cf78803 Update the user time when receiving a WM_DELETE message. (#162980, Elijah
2005-01-05  Matthias Clasen  <mclasen@redhat.com>

	* gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter): Update
	the user time when receiving a WM_DELETE message.  (#162980,
	Elijah Newren)
2005-01-05 16:27:52 +00:00
Matthias Clasen
34982b41d2 Set x_root and y_root in button and motion events from extended input
2004-12-27  Matthias Clasen  <mclasen@redhat.com>

	* gdk/x11/gdkinput-x11.c (_gdk_input_common_other_event):
	Set x_root and y_root in button and motion events from
	extended input devices.  (#148715, Robert Ögren)
2004-12-28 01:09:45 +00:00
Søren Sandmann
63f2fd9614 Add sensitivity-changing timeout. Written by Christian Persch.
Wed Dec 22 14:22:19 2004  Søren Sandmann  <sandmann@redhat.com>

	* tests/testtoolbar.c (timeout_cb): Add sensitivity-changing
	timeout. Written by Christian Persch.

Wed Dec 22 14:14:02 2004  Søren Sandmann  <sandmann@redhat.com>

	Bug #161561

	* gdk/x11/gdkwindow-x11.c (tmp_{re,un}set_bg): Only set/reset the
	background for windows that get expose events.

	* gdk/gdkwindow.c (gdk_window_process_updates_internal): Remove
	hack to repaint !expose windows.
2004-12-22 19:25:24 +00:00
Matthias Clasen
00c069f2b6 2.5.6 2004-12-03 06:32:17 +00:00
Manish Singh
a5e9b74814 Make sure we always return a value. Return None in the fallthrough case.
Thu Dec  2 13:18:34 2004  Manish Singh  <yosh@gimp.org>

        * gdk/x11/gdkgc-x11.c (make_fg_tile_picture): Make sure we always
        return a value. Return None in the fallthrough case.
2004-12-02 21:20:07 +00:00
Owen Taylor
683a00b6e1 gdk/x11/gdkdrawable-x11.c (_gdk_x11_drawable_draw_xtrapezoids) Call
Tue Nov 30 09:46:49 2004  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkdrawable-x11.c (_gdk_x11_drawable_draw_xtrapezoids)
        * gdk/x11/gdkdrawable-x11.c (_gdk_x11_drawable_draw_xft_glyphs):
        Call gdk_x11_drawable_update_xft_clip (part of #159929,
        James Henstridge)

        * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_glyphs_transformed):
        Remove unused variables.
2004-11-30 14:57:14 +00:00
Owen Taylor
6510bbf42e A little bit of microoptimization of repeated GDK_GC_XDISPLAY()/XGC().
Tue Nov 23 19:37:34 2004  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_flush): A little bit
        of microoptimization of repeated GDK_GC_XDISPLAY()/XGC().
2004-11-30 14:17:32 +00:00
Matthias Clasen
c61b0e4a07 Determine the direction of XKB groups from their content, not by looking
2004-11-29  Matthias Clasen  <mclasen@redhat.com>

	Determine the direction of XKB groups from their content,
	not by looking for hardcoded keymap names.  (#116626, patch by
	Behdad Esfahbod, based on an earlier patch by Ilya Konstantinov)

	* gdk/x11/gdkkeys-x11.c (struct _GdkKeymapX11): Cache directions
	for XKB groups.
	(get_direction): Determine direction of group by looking at
	directions of keysyms.
	(update_direction): Maintain the cache of group directions.
	(gdk_keymap_get_direction): Use update_direction().
2004-11-29 14:25:22 +00:00
Matthias Clasen
54c6743787 Don't crash if Xlib fails to return UTF-8. (#159373, Kristian Høgsberg)
2004-11-26  Matthias Clasen  <mclasen@redhat.com>

	* gdk/x11/gdkselection-x11.c (gdk_text_property_to_utf8_list_for_display):
	Don't crash if Xlib fails to return UTF-8. (#159373, Kristian Høgsberg)
2004-11-26 05:43:38 +00:00
Owen Taylor
3d737ee8ba Add GdkPangoRenderer, a subclass of PangoRenderer targeting GDK drawables.
Sat Nov 20 15:13:51 2004  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkpango.[ch]: Add GdkPangoRenderer, a subclass of
	PangoRenderer targeting GDK drawables. Use to implement the old
	gdk_draw_layout() and friends.

	* gdk/gdkdraw.c gdk/gdkdrawable.h gdk/gdkwindow.c gdk/gdkpixmap.c:
	Add gdk_draw_glyphs_transformed() gdk_draw_trapezoids() and
	the corresponding members of GdkDrawableClass. Add a fallback
	implementation of gdk_draw_trapezoids() in terms of pixbufs.

	* gdk/gdkwindowing.h gdk/x11/gdkg-x11.h: Add
	_gdk_windowing_gc_get_foreground() to enable the fallback
	trapezoid implementation.

	* gdk/x11/gdkdrawable-x11.c gdk/x11/gdkdisplay-x11.h: Implement
	draw_glyph_transformed,	draw_trapezoids.

	* gdk/x11/gdkdrawable-x11.[ch]: Add
	_gdk_x11_drawable_draw_xtrapezoids, _gdk_x11_drawable_draw_xft_glyphs
	for use of GdkX11Renderer.

	* gdk/x11/gdkgc-x11.c gdk/x11/gdkprivate-x11.h: Implement
	GDK_TILED, GDK_STIPPLED, GDK_OPAQUE_STIPPLED in the RENDER codepath.

	* gdk/gdkpango-x11.c: Add GdkX11Renderer... a subclass of
	PangoXftRenderer that does tiles/stipples and fallback rendering
	of trapezoids without the RENDER extension.

	* gdk/gdkpango-x11.c gdk/x11/gdkscreen-x11.[ch] _gdk_x11_renderer_get:
	Add _gdk_x11_renderer_get() to get a singleton GdkX11Renderer
	for the screen.

	* gdk/x11/gdkdrawable-x11.c (get_impl_drawable): Fix a None/NULL
	confusion.

	* gtk/gtklabel.[ch] gtk/gtk.symbols: Add gtk_label_set/get_angle(),
	and an ::angle property.

	* gtk/gtklabel.c: Remove #if 0'd dead code gtk_label_paint_word().

	* gtk/gtktextdisplay.c: Switch to using a GtkTextRenderer subclass
	of GdkPangoRenderer for drawing.

	* gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c: Switch to using
	gtk_attr_shape_new_with_data() to store backreferences to
	embedded pixmaps and widgets. Leave line_display->shaped_objects
	around for backwords compatibility.

	* gdk/gdkpango.[ch] (gdk_pango_context_set_colormap): Describe
	as deprecated, remove implementation.

	* gtk/gtkwidget.c (gtk_widget_create_pango_context): Remove
	call to gdk_pango_context_set_colormap.

	* demos/gtk-demo/Makefile.am demos/gtk-demo/rotated_text.c: Add
	a demo showing drawing rotated text.

	* tests/testgtk.c: Add a rotated-label test, and also a rotated
	drawing test (differs from demos/gtk-demo/rotated_text by also
	using a tile)
2004-11-21 16:24:01 +00:00
Owen Taylor
f266788e19 Squash strict aliasing warnings.
Tue Nov 16 19:26:30 2004  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkdnd-x11.c (_gdk_drag_get_protocol_for_display):
        Squash strict aliasing warnings.
2004-11-17 00:55:10 +00:00
Matthias Clasen
3b9a31df07 Make GDK+ compile with X11R5 (#148032)
2004-11-12  Matthias Clasen  <mclasen@redhat.com>

	Make GDK+ compile with X11R5 (#148032)

	* gdk/x11/xsettings-client.c (xsettings_client_new):
	* gdk/x11/gdkproperty-x11.c (_gdk_x11_precache_atoms): Only
	use XInternAtoms if it is available.

	* gdk/x11/gdkasync.c: Include XIproto.h if necessary.

	* configure.in: Check for XInternAtoms and X headers needed for
	xReply.
2004-11-12 19:48:43 +00:00
Matthias Clasen
494a2271a2 Add a hint about using gdk_drawable_get_size() instead.
2004-11-09  Matthias Clasen  <mclasen@redhat.com>

	* gdk/x11/gdkwindow-x11.c (gdk_window_get_geometry): Add
	a hint about using gdk_drawable_get_size() instead.
2004-11-09 20:10:23 +00:00
Matthias Clasen
669d068594 Handle the case that the protocol version in the context is not set yet.
2004-11-03  Matthias Clasen  <mclasen@redhat.com>

	* gdk/x11/gdkdnd-x11.c (gdk_drag_motion): Handle the
	case that the protocol version in the context is not
	set yet.  (#157123, James Henstridge)
2004-11-03 17:06:38 +00:00
Matthias Clasen
531c38a3e2 Don't crash on broken ClientMessage events. (#157056, Owen Taylor)
2004-11-01  Matthias Clasen  <mclasen@redhat.com>

	* gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter): Don't crash on
	broken ClientMessage events.  (#157056, Owen Taylor)
2004-11-01 18:30:52 +00:00
Matthias Clasen
d5f92150d4 Fix many sparse warnings. 2004-10-28 15:00:05 +00:00
Matthias Clasen
4817eb2c1e Documentation fixes. 2004-10-26 17:35:41 +00:00
Anders Carlsson
06c4bb44b1 New API to handle the clipboard manager.
2004-10-25  Anders Carlsson  <andersca@imendio.com>

	* gdk/gdk.symbols:
	* gdk/gdkdisplay.h:
	* gdk/x11/gdkdisplay-x11.c:
	(gdk_display_supports_clipboard_persistence),
	(gdk_display_store_clipboard):
	New API to handle the clipboard manager.

	* gtk/gtk.symbols:
	* gtk/gtkclipboard.c: (gtk_clipboard_class_init),
	(gtk_clipboard_finalize), (selection_clear_event_cb),
	(clipboard_unset), (gtk_clipboard_set_text),
	(gtk_clipboard_request_targets), (gtk_clipboard_wait_for_targets),
	(clipboard_peek), (gtk_clipboard_owner_change),
	(gtk_clipboard_wait_is_target_available),
	(gtk_clipboard_store_timeout), (gtk_clipboard_set_can_store),
	(gtk_clipboard_selection_notify), (gtk_clipboard_store),
	(_gtk_clipboard_store_all):
	* gtk/gtkclipboard.h:
	Add API for clipboard persistence and implement it, also add
	gtk_clipboard_wait_is_target_available.

	* gtk/gtkmain.c: (gtk_main):
	Call _gtk_clipboard_store_all before exiting.
2004-10-25 18:53:30 +00:00
Matthias Clasen
1a8e3a7020 Fix #155658, Sebastian Bacher:
2004-10-18  Matthias Clasen  <mclasen@redhat.com>

	Fix #155658, Sebastian Bacher:

	* gdk/x11/gdkwindow-x11.h (struct _GdkToplevelX11): Add a new
	is_leader flag.

	* gdk/x11/gdkwindow-x11.c (update_wm_hints): Set wm hints on
	leader windows even if they are withdrawn.
	(gdk_window_set_group): Mark the new leader window as such. We
	never remove the flag again, but that should a) be vanishingly
	rare and b) not a problem, since the flag just turns off an
	optimization.

	* gdk/x11/gdkdisplay-x11.c (gdk_display_open): Mark the default
	leader window as such.
2004-10-18 21:02:37 +00:00
Matthias Clasen
0eb44bad4a GDK documentation fixes. 2004-10-09 03:31:50 +00:00
Matthias Clasen
221db8e025 Return a new reference to an existing GdkWindow if one already exists.
2004-10-05  Matthias Clasen  <mclasen@redhat.com>

	* gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new_for_display):
	Return a new reference to an existing GdkWindow if one already
	exists.  (#151378, Gustavo Carneiro)
2004-10-05 05:40:42 +00:00
Matthias Clasen
5717212948 Warn if a UTF8_STRING or text/plain;charset=utf-8 roperty contains invalid
Thu Sep 16 23:20:05 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkselection.c (selection_get_text_plain):
	* gdk/x11/gdkselection-x11.c (make_list): Warn if a UTF8_STRING
	or text/plain;charset=utf-8 roperty contains invalid
	UTF-8.  (#152845, Owen Taylor)
2004-09-17 03:23:32 +00:00
Matthias Clasen
e1077caf36 Add descriptions for the commandline arguments. The actual descriptions
Sun Sep  5 17:14:16 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkmain.c:
	* gdk/gdk.c:
	* gdk/x11/gdkmain-x11.c:
	* gdk/win32/gdkmain-win32.c: Add descriptions for the
	commandline arguments. The actual descriptions are mostly
	taken from libbonoboui, so translators should be able to
	copy existing translations from there.
2004-09-05 21:15:58 +00:00
Anders Carlsson
04d65a6d3d Make gtk argument parsing use goption. Add gtk_get_option_group and
2004-09-05  Anders Carlsson  <andersca@gnome.org>

	* gdk/gdk.c: (gdk_arg_class_cb), (gdk_arg_name_cb),
	(gdk_add_option_entries_libgtk_only), (gdk_pre_parse_libgtk_only),
	(gdk_parse_args):
	* gdk/gdk.h:
	* gdk/gdkinternals.h:
	* gdk/linux-fb/gdkmain-fb.c: (_gdk_windowing_init):
	* gdk/win32/gdkmain-win32.c: (_gdk_windowing_init):
	* gdk/x11/gdkdisplay-x11.c: (gdk_display_open):
	* gdk/x11/gdkmain-x11.c: (_gdk_windowing_init):
	* gtk/gtkmain.c: (gtk_arg_debug_cb), (gtk_arg_no_debug_cb),
	(gtk_arg_module_cb), (gtk_arg_warnings_cb),
	(do_pre_parse_initialization), (do_post_parse_initialization),
	(pre_parse_hook), (post_parse_hook), (gtk_get_option_group),
	(gtk_init_with_args), (gtk_parse_args):
	* gtk/gtkmain.h:
	Make gtk argument parsing use goption. Add gtk_get_option_group and
	gtk_init_with_args.

	* tests/testtreemodel.c: (main):
	Use gtk_init_with_args.
2004-09-05 15:09:55 +00:00
Søren Sandmann
59e481fab5 Revert accidental change from Aug 02 that removed a flush of the X
Sat Sep  4 16:51:00 2004  Søren Sandmann  <sandmann@redhat.com>

	* gdk/x11/gdkevents-x11.c (gdk_event_prepare): Revert accidental
	change from Aug 02 that removed a flush of the X connection from
	gdk_event_prepare() causing applications to get stuck. (#151732,
	Richard Hoelscher).
2004-09-04 15:07:16 +00:00
Matthias Clasen
8189921f44 Make it possible to specify additional modules to load via a setting.
2004-09-01  Matthias Clasen  <mclasen@redhat.com>

	Make it possible to specify additional modules to load
	via a setting.  (#117236, Alex Graveley)

	* gtk/gtkmodules.h:
	* gtk/gtkmodules.c: New files which contain the module
	handling code which was previously in gtkmain.[hc].
	Additionally, the code now looks for the gtk-modules
	setting, which can specify additional modules to load.

	* gtk/gtkmain.c:
	* gtk/gtkmain.h: Remove all the module handling code.

	* gtk/gtkdebug.h: Add a debug flag for modules.

	* gtk/gtk.h: Include gtkmodules.h

	* gtk/Makefile.am (gtk_public_h_sources): Add gtkmodules.h
	(gtk_c_sources): Add gtkmodules.c

	* gtk/gtksettings.c: Add the gtk-modules setting.

	* gdk/x11/gdkevents-x11.c: Add the Gtk/Modules XSetting.
2004-09-01 20:30:24 +00:00
Matthias Clasen
6d5398ccdc Remove debug spew.
Tue Aug 31 23:20:58 2004  Matthias Clasen  <maclas@gmx.de>

	* gdk/x11/gdkdnd-x11.c (gdk_drop_finish): Remove debug spew.
2004-09-01 03:21:30 +00:00
Manish Singh
800574e35c remove unused gdk_font_charset_for_locale() function.
Wed Aug 25 17:24:17 2004  Manish Singh  <yosh@gimp.org>

        * gdk/x11/gdkfont-x11.c: remove unused gdk_font_charset_for_locale()
        function.

        * gdk/x11/gdkinput-x11.c (_gdk_input_common_init): remove unused
        variables num_extensions and extensions.

        * gtk/gtkhsv.c: remove unused gtk_hsv_get_focus_gc() function.
2004-08-26 00:23:46 +00:00
Matthias Clasen
2d2d3e4b27 Make it compile. 2004-08-23 19:05:04 +00:00
Matthias Clasen
a9585748ec Add a user_time field.
2004-08-23  Matthias Clasen  <mclasen@redhat.com>

	* gdk/x11/gdkwindow-x11.h (struct _GdkToplevelX11): Add a
	user_time field.

	* gdk/x11/gdkwindow-x11.c (gdk_x11_window_set_user_time): Update
	toplevel->user_time.
	(show_window_internal): Update the user time when re-mapping a
	toplevel window.  (#150502, Elijah Newren)
2004-08-23 17:10:34 +00:00
Matthias Clasen
31b681948c Support the latest EWMH additions to the _NET_ACTIVE_WINDOW client message
2004-08-23  Matthias Clasen  <mclasen@redhat.com>

	* gdk/x11/gdkwindow-x11.c (gdk_window_focus): Support the latest
	EWMH additions to the _NET_ACTIVE_WINDOW client message
	format.  (#150668, Elijah Newren)
2004-08-23 15:12:04 +00:00
Matthias Clasen
0742ff3ae3 Add hidden aliases for exported symbols which are used internally in order
Mon Aug  9 15:41:17 2004  Matthias Clasen  <maclas@gmx.de>

	Add hidden aliases for exported symbols which are
	used internally in order to get rid of many PLT
	entries.  (#145519, Arjan van de Ven)

	* gdk/Makefile.am: Add rules to generate gdk.def and
	gdkalias.h from gdk.symbols, and make make check check
	the abi with abicheck.sh.

	* gdk/gdk.symbols: New file. Definition of the GDK ABI.
	The file can be processed by cpp to filter out certain
	subsets of symbols.

	* gdk/abicheck.sh: New file. Script to check the actually
	symbols exported from libgdk-x11.2.0.so against the symbols
	found in gdk.symbols.

	* gdk/makegdkalias.pl: New file. Perl script to generate the
	header containing the alias definitions for internally used
	exported symbols from a list of symbols.

	* gdk/*.c, gdk/x11/*.c: Include gdkalias.h
2004-08-09 20:14:43 +00:00
Morten Welinder
2f7c4c1e10 Fix C99ism.
2004-08-09  Morten Welinder  <terra@gnome.org>

	* gdk/x11/gdkdnd-x11.c (gdk_drag_drop_succeeded): Fix C99ism.
2004-08-09 19:58:05 +00:00
Matthias Clasen
6542996063 Make static.
Mon Aug  9 14:24:46 2004  Matthias Clasen  <maclas@gmx.de>

	* gdk/x11/gdkevents-x11.c (gdk_event_send_client_message_to_all_recurse):
	Make static.
2004-08-09 18:29:21 +00:00
Matthias Clasen
39469f8f4a Really fix the initialization of the target list.
2004-08-06  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkdnd.c (gtk_drag_dest_set, gtk_drag_source_set): Really
	fix the initialization of the target list.

	Support XDND v5. (#10220, Owen Taylor)

	* gdk/x11/gdkdnd-x11.c: Record the XDND version and whether the
	drop was successful in the GdkDragContextPrivateX11 struct.
	(xdnd_finished_filter): Store the success status of the drop
	for an XDND version 5 interaction. For other versions, always
	assume the drop was successful.
	(xdnd_check_dest): Return the protocol version.
	(_gdk_drag_get_protocol_for_display): Return the protocol version.
	(gdk_drag_find_window_for_screen): Store the used protocol version
	in the GdkDragContext.
	(xdnd_send_enter): Send the used protocol version from the context,
	instead of hardwiring 3.
	(xdnd_enter_filter): Accept protocol versions >= 3 and store the
	used protocol version in the context.

	* gdk/gdkdnd.h:
	* gdk/x11/gdkdnd-x11.c (gdk_drag_drop_succeeded): New function
	to find out whether a drop was successful.
2004-08-06 17:03:52 +00:00
Soeren Sandmann
ed44e79c49 Call gdk_window_enable_synchronized_configure()
Thu Aug  5 19:58:08 2004  Soeren Sandmann  <sandmann@daimi.au.dk>

	* gtk/gtkplug.c (gtk_plug_realize): Call
	gdk_window_enable_synchronized_configure()

	* gdk/x11/gdkwindow-x11.c (gdk_window_configure_finished): Make
	noop if gdk_window_enable_synchronized_configure() has not been
	called.
2004-08-05 17:58:20 +00:00
Soeren Sandmann
b506066667 New function. Make sure the sync counter is recreated when a window is
Mon Aug  2 21:52:45 2004  Soeren Sandmann  <sandmann@daimi.au.dk>

	* gdk/x11/gdkwindow-x11.c (ensure_sync_counter): New
	function. Make sure the sync counter is recreated when a window is
	reparented to become a toplevel. (#148358)
2004-08-02 20:01:27 +00:00
Matthias Clasen
856064b036 Add missing error traps. (#149011, Thomas Leonard)
Mon Aug  2 01:02:57 2004  Matthias Clasen  <maclas@gmx.de>

	* gdk/x11/gdkevents-x11.c (gdk_check_wm_state_changed):
	(gdk_check_wm_desktop_changed): Add missing error
	traps.  (#149011, Thomas Leonard)
2004-08-02 05:04:33 +00:00
Matthias Clasen
dc0f328bf2 Don't set both states at once. (#148789, Matthew Garret)
Sat Jul 31 00:42:08 2004  Matthias Clasen  <maclas@gmx.de>

	* gdk/x11/gdkwindow-x11.c (gdk_window_set_keep_below):
	* gdk/x11/gdkwindow-x11.c (gdk_window_set_keep_above): Don't
	set both states at once.  (#148789, Matthew Garret)
2004-07-31 04:45:09 +00:00
Anders Carlsson
c7e31e3471 Cast to 32-bit integers when premultiplying, suggested by Keith Packard.
2004-07-28  Anders Carlsson  <andersca@gnome.org>

	* gdk/x11/gdkdrawable-x11.c (gdk_draw_rectangle_alpha_libgtk_only):
	Cast to 32-bit integers when premultiplying, suggested by Keith Packard.
2004-07-27 23:19:19 +00:00
Anders Carlsson
564ab37a07 Add gdk_draw_rectangle_alpha_libgtk_only which uses XRenderFillRectangle
2004-07-27  Anders Carlsson  <andersca@gnome.org>

	* demos/gtk-demo/iconview.c: (do_iconview):
	* gdk/gdkdrawable.h:
	* gdk/linux-fb/gdkdrawable-fb2.c:
	(gdk_draw_rectangle_alpha_libgtk_only):
	* gdk/win32/gdkdrawable-win32.c:
	(gdk_draw_rectangle_alpha_libgtk_only):
	* gdk/x11/gdkdrawable-x11.c: (gdk_x11_draw_image),
	(get_impl_drawable), (gdk_x11_draw_pixbuf),
	(gdk_draw_rectangle_alpha_libgtk_only):
	Add gdk_draw_rectangle_alpha_libgtk_only which uses
	XRenderFillRectangle on X11. It's stubbed out on the
	Win32 and fb backends.

	* gtk/gtkiconview.c:
	(gtk_icon_view_paint_rubberband):
	Use gdk_draw_rectangle_alpha_libgtk_only here.
2004-07-27 21:58:09 +00:00
Matthias Clasen
a76303dfb3 Hook up gtk-menu-bar-accel to an XSetting, Gtk/MenuBarAccel. (#120859,
Tue Jul 20 23:11:23 2004  Matthias Clasen  <maclas@gmx.de>

	* gdk/x11/gdkevents-x11.c: Hook up gtk-menu-bar-accel to
	an XSetting, Gtk/MenuBarAccel.  (#120859, Scott James Remnant)
2004-07-21 03:12:38 +00:00
Matthias Clasen
601ef659f4 Fix a warning message. 2004-07-17 05:18:09 +00:00
Matthias Clasen
e0e35c0cd9 Use 'cannot' instead of 'can not' in messages. (#144226, Morten Welinder)
Thu Jul 15 19:20:05 2004  Matthias Clasen  <maclas@gmx.de>

	* gdk/x11/gdkim-x11.c (_gdk_x11_initialize_locale):
	* gtk/gtkcalendar.c (gtk_calendar_class_init): Use 'cannot'
	instead of 'can not' in messages.  (#144226, Morten Welinder)
2004-07-15 23:24:51 +00:00
Soeren Sandmann
dddab53b54 Do an empty begin_paint_region()/end_paint() for windows without
Tue Jul 13 00:40:29 2004  Soeren Sandmann  <sandmann@daimi.au.dk>

	* gdk/gdkwindow.c (gdk_window_process_updates_internal): Do an
	empty begin_paint_region()/end_paint() for windows without
	EXPOSURE_MASK.

	* gdk/x11/gdkwindow-x11.c (_gdk_x11_window_tmp_unset_bg,
	_gdk_x11_window_tmp_reset_bg): Remove checks for EXPOSURE_MASK.
2004-07-12 22:52:40 +00:00
Matthias Clasen
027bbe0fd9 Include the update_counter check in the HAVE_XSYNC condition, since
Mon Jul 12 01:56:26 2004  Matthias Clasen  <maclas@gmx.de>

	* gdk/x11/gdkwindow-x11.c (gdk_toplevel_x11_free_contents):
	Include the update_counter check in the HAVE_XSYNC condition,
	since update_counter isn't present in the !HAVE_XSYNC case.
2004-07-12 05:57:41 +00:00
Soeren Sandmann
1a5e92dd61 Bug 143330, support update counter spec.
Sun Jul 11 15:24:03 2004  Soeren Sandmann  <sandmann@daimi.au.dk>

	Bug 143330, support update counter spec.

	* configure.in: Add check for the Sync extension

	* gdk/gdkwindow.h: gdk_window_enable_synchronized_configure() and
	gdk_window_configure_finished()

	* gtk/gtkwindow.c (gtk_window_move_resize): Call gdk_window_finish_configure().
	* gtk/gtkwindow.c (gtk_window_realize): Automatically enable
	synchronized configures.

	* gdk/x11/gdkwindow-x11.h (struct _GdkToplevelX11): Store current
	and pending counter values.

	* gdk/x11/gdkwindow-x11.c (gdk_window_configure_finished): New function.
	* gdk/x11/gdkwindow-x11.c
	(gdk_window_enable_synchronized_configure): New function.
	* gdk/x11/gdkwindow-x11.c (gdk_toplevel_x11_free_contents):
	Delete update counter.
	* gdk/x11/gdkwindow-x11.c (set_wm_protocols): Advertise
	_NET_WM_SYNC_REQUEST when Sync is available

	* gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter): Handle
	_NET_WM_SYNC_REQUEST messages
	* gdk/x11/gdkevents-x11.c (gdk_event_translate): Save counter
	value for use by gdk_window_configure_finished() when receiving
	ConfigureNotifies.

	* gdk/x11/gdkdisplay-x11.h (struct _GdkDisplayX11): Add use_sync flag
	* gdk/x11/gdkdisplay-x11.c (gdk_display_open): Check if the XSync
	extension is available
	* gdk/x11/gdkdisplay-x11.c: Add _NET_WM_SYNC_REQUEST and
	_NET_WM_SYNC_REQUEST_COUNTER to list of supported atoms.

	* gdk/linux-fb/gdkwindow-fb.c, gdk/win32/gdkwindow-win32.c: Add
	stubs for enable_synchronized_configure() and configure_finished()
2004-07-11 13:26:57 +00:00
Soeren Sandmann
1c5a1dda9b Insert checks for root window. The root window is never mapped.
Sat Jul 10 01:55:29 2004  Soeren Sandmann  <sandmann@daimi.au.dk>

	* gdk/x11/gdkwindow-x11.c (_gdk_x11_window_tmp_{re|un}set_bg):
	Insert checks for root window. The root window is never mapped.
2004-07-09 23:57:08 +00:00
Soeren Sandmann
d7da887ee6 Fix a warning Actually unset bg.
Sat Jul 10 01:06:05 2004  Soeren Sandmann  <sandmann@daimi.au.dk>

	* gdk/x11/gdkwindow-x11.c (post_unmap): Fix a warning
	* gdk/x11/gdkwindow-x11.c (show_window_internal): Actually unset
	bg.
2004-07-09 23:06:35 +00:00
Soeren Sandmann
69ab514aef Bug 113310.
Sat Jul 10 00:37:45 2004  Soeren Sandmann  <sandmann@daimi.au.dk>

	Bug 113310.

	* gdk/x11/gdkwindow-x11.c (_gdk_x11_window_tmp_{un|re}set_bg):
	New functions that can do a recursive unset/reset bg.

	* gdk/x11/gdkgeometry-x11.c: Remove
	gdk_window_tmp_{un|re}set_bg().

	* gdk/x11/gdkwindow-x11.c (pre_unmap, post_unmap): New functions
	called before and after unmapping a window. They unset the
	background of all other windows to prevent flicker from the X
	server repainting the background. post_unmap() also invalidates
	the parent of the unmapped window to draw it without roundtrips.

	* gdk/x11/gdkwindow-x11.c (show_window_internal): Unset
	background of newly mapped windows and all desendants to prevent
	flicker.
2004-07-09 22:44:35 +00:00
Manish Singh
b22258e6a6 have a dummy case GDK_OWNER_CHANGE in switch statements to avoid gcc
Fri Jul  9 15:33:55 2004  Manish Singh  <yosh@gimp.org>

        * gdk/gdkevents.c: have a dummy case GDK_OWNER_CHANGE in switch
        statements to avoid gcc warnings about not all enum values handled.

        * gdk/x11/gdkdisplay-x11.c (gdk_display_open): ignore should live in
        #ifdef HAVE_XFIXES.
2004-07-09 22:42:19 +00:00
Soeren Sandmann
8889f2b45d Add an "override_redirect" bit.
Fri Jul  9 23:26:09 2004  Soeren Sandmann  <sandmann@daimi.au.dk>

	* gdk/x11/gdkwindow-x11.h (struct _GdkWindowImplX11): Add an
	"override_redirect" bit.

	* gdk/x11/gdkwindow-x11.c (gdk_window_new): Set it here.

	* gdk/x11/gdkwindow-x11.c (gdk_window_move, gdk_window_resize,
	gdk_window_move_resize):
	Update the local size/position cache
	immediately for override redirect windows.

	* gdk/x11/gdkwindow-x11.c (show_window_internal): Invalidate
	newly mapped child and override redirect windows.
2004-07-09 21:27:09 +00:00
Federico Mena Quintero
097eddf374 Fix typo; tmp_event -> temp_event.
2004-07-09  Federico Mena Quintero  <federico@ximian.com>

	* gdk/x11/gdkdnd-x11.c (xdnd_send_xevent): Fix typo; tmp_event ->
	temp_event.
2004-07-09 17:43:10 +00:00
Matthias Clasen
9ab68256d1 Don't leak references to the drag context. (#144324, Alex Larsson)
2004-07-08  Matthias Clasen  <mclasen@redhat.com>

	* gdk/x11/gdkdnd-x11.c (xdnd_send_xevent): Don't leak
	references to the drag context.  (#144324, Alex Larsson)
2004-07-08 20:29:19 +00:00
Matthias Clasen
a346f4a8ad Fix a 64bit alignment issue. (#144302, Sunil)
Tue Jul  6 22:58:00 2004  Matthias Clasen  <maclas@gmx.de>

	* gdk/x11/gdkwindow-x11.c (gdk_x11_window_set_user_time): Fix
	a 64bit alignment issue.  (#144302, Sunil)
2004-07-07 02:59:47 +00:00
Matthias Clasen
401d10f2c6 Handle _NET_WM_STATE_ABOVE and _NET_WM_STATE_BELOW. (#144851, Billy Biggs)
Sat Jun 26 01:15:40 2004  Matthias Clasen  <maclas@gmx.de>

	* gdk/x11/gdkwindow-x11.c (set_initial_hints): Handle
	_NET_WM_STATE_ABOVE and _NET_WM_STATE_BELOW.  (#144851,
	Billy Biggs)
2004-06-26 05:17:59 +00:00
Bastien Nocera
8b6934bc2c reviewed by: Matthias Clasen <maclas@gmx.de>
2004-06-25  Bastien Nocera  <hadess@hadess.net>

	reviewed by: Matthias Clasen  <maclas@gmx.de>

	* gdk/x11/gdkkeys-x11.c: (get_symbol), (update_keymaps),
	(gdk_keymap_lookup_key), (translate_keysym): fix keys parsing when
	the number of keysyms per keycode is odd. Fixes #144808.
2004-06-25 15:21:43 +00:00
Matthias Clasen
69a848e018 Doc updates. 2004-06-22 15:29:29 +00:00
Michael Natterer
1408c75941 Merge from stable:
2004-06-21  Michael Natterer  <mitch@gimp.org>

	Merge from stable:

	* gdk/x11/gdkdrawable-x11.[ch]: made convert_format() utility
	function public as _gdk_x11_convert_to_format().

	* gdk/x11/gdkcursor-x11.c (create_cursor_image): premultiply
	the pixels from the GdkPixbuf when putting them in the
	Xcursor image. Fixes bug #144350.
2004-06-21 16:13:55 +00:00
Matthias Clasen
588b8c7f71 Fix off-by-one allocation errors. (#143337, Billy Biggs)
Fri May 28 14:20:17 2004  Matthias Clasen  <maclas@gmx.de>

	* gdk/x11/gdkevents-x11.c: Fix off-by-one allocation
	errors. (#143337, Billy Biggs)
2004-05-28 18:21:58 +00:00
Owen Taylor
ac8b3dc1ae Set bits within visual->depth that aren't used for color to 1s, in case
Thu May 27 16:36:22 2004  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkcolor-x11.c (gdk_colormap_alloc_colors): Set
        bits within visual->depth that aren't used for color to
        1s, in case they are alpha.
2004-05-27 20:46:58 +00:00
Matthias Clasen
7b8616bf76 Check for XFIXES extension.
2004-05-18  Matthias Clasen  <mclasen@redhat.com>

	* configure.in: Check for XFIXES extension.

	* gdk/x11/gdkdisplay-x11.h (struct _GdkDisplayX11): Add
	a gboolean have_xfixes member.

	* gdk/x11/gdkdisplay-x11.c (gdk_display_open): Register
	XFIXES events and set have_xfixes.

	* gdk/gdkevents.h (GdkEventType): Add GDK_OWNER_CHANGE.
	(GdkEventOwnerChange): New event struct for owner change events.
	(GdkOwnerChange): New enum for the reason field of GdkEventOwnerChange.

	* gdk/x11/gdkevents-x11.c (gdk_event_translate): Translate
	XFixesSelectionNotify events into GdkEventOwnerChange events.

	* gdk/gdkdisplay.h:
	* gdk/x11/gdkdisplay-x11.c (gdk_display_supports_selection_notification):
	(gdk_display_request_selection_notification): New api
	to support selection ownership notification.

	* gtk/gtkclipboard.h:
	* gtk/gtkclipboard.c (_gtk_clipboard_handle_event): New private
	api to handle owner change events.
	(clipboard_peek): Refactored out the body of
	gtk_clipboard_get_for_display() for use in _gtk_clipboard_handle_event().

	* gtk/gtkmain.c (gtk_main_do_event): Handle GDK_OWNER_CHANGE events
	by calling _gtk_clipboard_handle_event().
2004-05-18 20:56:54 +00:00
Matthias Clasen
db167a4a5f Make static.
2004-05-10  Matthias Clasen  <mclasen@redhat.com>

	* gdk/gdkdisplay.c (singlehead_...):
	* gdk/x11/gdkkeys-x11.c (get_effective_keymap):
	* gdk/x11/gdkgeometry-x11.c (expose_serial_predicate):
	* gdk/x11/gdkdisplay-x11.c (escape_for_xmessage): Make static.
2004-05-10 20:51:19 +00:00
Elijah Newren
5502f77eaf Changes to support do-not-focus-on-map hint in conjunction with
2004-05-05  Elijah Newren  <newren@math.utah.edu>

	Changes to support do-not-focus-on-map hint in conjunction with
	_NET_WM_USER_TIME (#115650):

	* gdk/gdkwindow.h (struct _GdkWindowObject): Add a new boolean
	field focus_on_map

	* gdk/gdkwindow.h (gdk_window_set_accept_focus): New function to
	set it.

	* gtk/gtkwindow.[hc]: Add a boolean property "focus_on_map"
	and gtk_window_get_focus_on_map() and gtk_window_set_focus_on_map().

	* gdk/win32/gdkwindow-win32.c (gdk_window_new):
	* gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
	* gdk/x11/gdkwindow-x11.c (gdk_window_new):
	Initialize the focus_on_map field to TRUE.

	* gdk/win32/gdkwindow-win32.c (gdk_window_set_focus_on_map):
	* gdk/linux-fb/gdkwindow-fb.c (gdk_window_set_focus_on_map):
	* gdk/x11/gdkwindow-x11.c (gdk_window_set_focus_on_map):
	* gdk/x11/gdkwindow-x11.c (setup_toplevel_window):
	Implementations for the various backends. The Win32 and linux-fb
	implementations set the focus_on_map field, but don't use it yet
	to actually implement noinput windows. The X implementation sets
	_NET_WM_USER_TIME to 0 if focus_on_map is FALSE (see the EWMH).

	* gdk/x11/gdkwindow-x11.h:
	* gdk/x11/gdkevents-x11.c (set_user_time):
	* gdk/x11/gdkinput-x11.c (_gdk_input_common_other_event):
	* gdk/x11/gdkwindow-x11.c (gdk_x11_window_set_user_time):
	s/_gdk_x11_window_set_user_time/gdk_x11_window_set_user_time/,
	since we want that function to be part of the public API.
2004-05-06 02:57:01 +00:00
Matthias Clasen
b139a59978 Make set_user_time() static. _-prefix calls of
2004-04-23  Matthias Clasen  <mclasen@redhat.com>

	* gdk/x11/gdkevents-x11.c (set_user_time): Make set_user_time()
	static.
	* gdk/x11/gdkinput-x11.c (_gdk_input_common_other_event):
	_-prefix calls of gdk_x11_window_set_user_time().
2004-04-23 13:03:56 +00:00
Soeren Sandmann
8340991b7d Make gdk_keymap_translate_keyboard_state() handle NULL keymaps. (#139715,
Sun Apr 18 17:06:03 2004  Soeren Sandmann  <sandmann@daimi.au.dk>

	* gdk/x11/gdkkeys-x11.c (get_effective_keymap): Make
	gdk_keymap_translate_keyboard_state() handle NULL
	keymaps. (#139715, Torsten Schoenfeld).
2004-04-18 15:10:59 +00:00
Soeren Sandmann
730da6f84c Support for _NET_WM_USER_TIME (bug 115650). Patch by Elijah Newren.
Sun Apr 18 16:15:15 2004  Soeren Sandmann  <sandmann@daimi.au.dk>

	Support for _NET_WM_USER_TIME (bug 115650). Patch by Elijah
	Newren.

	* gdk/x11/gdkwindow-x11.[ch]: Add new internal function
	_gdk_x11_set_user_time() to set the _NET_WM_USER_TIME property.

	* gdk/x11/gdkdisplay-x11.h (struct _GdkDisplayX11): Add user_time field

	* gdk/x11/gdkdisplay-x11.c: Add _NET_WM_USER_TIME to list of
	precached atoms.

	* gdk/x11/gdkinput-x11.c, gdk/x11/gdkevents-x11.c: Set the
	property on user interaction.
2004-04-18 14:33:07 +00:00
Owen Taylor
ef5915da35 Make this a total no-op when the new or old parent is destroyed. (#134230,
Sat Mar 13 12:17:16 2004  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkwindow-x11.c (gdk_window_reparent): Make
        this a total no-op when the new or old parent is
        destroyed. (#134230, patch from Soeren Sandmann)

        * gdk/gdkwindow.c (_gdk_window_destroy_hierarchy):
        For foreign windows in our heirarchy, call
        _gdk_windowing_window_destroy_foreign (window) and skip
        all the normal destruction logic.

        * gdk/x11/gdkwindow-x11.c gdk/win32/gdkwindow-win32.c:
        Move code to request destruction of a foreign window
        code into a separate _gdk_windowing_window_destroy_foreign().

        * gdk/x11/gdkwindow-x11.c (gdk_window_impl_x11_finalize):
        Call GDK_WINDOW_DISPLAY() on the wrapper not on the
        impl. (Also from Soeren's patch)
2004-03-13 18:27:56 +00:00
Federico Mena Quintero
80581c3011 Fixes #136082 and #135265, patch by Morten Welinder.
2004-03-05  Federico Mena Quintero  <federico@ximian.com>

	Fixes #136082 and #135265, patch by Morten Welinder.

	* configure.in: Use AC_SYS_LARGEFILE.

	* */*.c: #include <config.h>
2004-03-06 03:38:59 +00:00
Simon Budig
c04ecdaa1a X11 R6.4 specifies 15 events for the XInput extension. We want to see them
2004-03-01  Simon Budig  <simon@gimp.org>

	* gdk/x11/gdkinput-x11.c: X11 R6.4 specifies 15 events
	for the XInput extension. We want to see them all.
	We now get Proximity Out events again. Fixes bug #135320.
2004-03-01 23:59:36 +00:00
Owen Taylor
945e6c4ecb Based on patch by Alex Larsson
Mon Mar  1 14:16:52 2004  Owen Taylor  <otaylor@redhat.com>

        Based on patch by Alex Larsson

        * gtk/gtkfilechooserdefault.c: Use gtk-file-chooser-backend
        GtkSetting to set the backend if the app doesn't specify one.

        * gdk/x11/gdkevents-x11.c gtk/gtksettings.c:
        Add Gtk/FileChooserBackend.
2004-03-01 19:40:47 +00:00
Manish Singh
7f31ba2bd6 fix ytpo: s/eles/else/
Thu Feb 26 17:31:34 2004  Manish Singh  <yosh@gimp.org>

        * gdk/x11/xsettings-client.c (read_settings): fix ytpo: s/eles/else/
2004-02-27 01:31:16 +00:00
Owen Taylor
4cbbe4e161 Add xsettings_client_set_grab_func, Add xsettings_client_set_ungrab_func
Thu Feb 26 19:53:32 2004  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/xsettings-common.h (xsettings_client_process_event):
        Add xsettings_client_set_grab_func,
        Add xsettings_client_set_ungrab_func to the list of renames.
2004-02-27 00:56:04 +00:00
Owen Taylor
4528eae1f3 Fix memory leak in case of mismatched property type.
Thu Feb 26 19:48:39 2004  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/xsettings-client.c (read_settings): Fix memory leak
        in case of mismatched property type.
2004-02-27 00:52:45 +00:00
Owen Taylor
04ebfe9465 Return GDK_FILTER_CONTINUE for unhandled message types.
Thu Feb 26 17:29:04 2004  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter): Return
        GDK_FILTER_CONTINUE for unhandled message types.

        * gdk/x11/gdkevents-x11.c (gdk_event_translate): Allow
        multiple filters for the same event type with the standard
        "GDK_FILTER_CONTINUE == pretend I wasn't here" semantics.

        * gdk/x11/gdkevents-x11.c (gdk_display_add_client_message_filter):
        Append to the filter list not prepend, since order now matters.

        * gdk/win32/gdkevents-win32.c (gdk_add_client_message_filter):
        Append to the filter list not prepend, since order now matters.
2004-02-26 22:53:50 +00:00
Owen Taylor
d2e3514d63 Use the right free() function. (#135511, George Bronnikov)
Thu Feb 26 13:23:47 2004  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkwindow-x11.c (set_text_property): Use the right
        free() function. (#135511, George Bronnikov)
2004-02-26 18:28:07 +00:00
Owen Taylor
6139c61d22 Call g_convert(), not g_convert() with fallback, since Emacs is happier if
Wed Feb 25 15:36:50 2004  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkselection-x11.c (gdk_utf8_to_compound_text_for_display):
        Call g_convert(), not g_convert() with fallback, since Emacs is
        happier if we reject the COMPOUND_TEXT request and it can
        then ask for UTF-8. (#114527)

        * gtk/gtkselection.c (gtk_selection_data_set_text): When
        TEXT is requested, if COMPOUND_TEXT fails, fall back to STRING.
2004-02-25 23:05:48 +00:00
Soeren Sandmann
e2e6a5f411 Bug 130790 (Federico Mena Quintero, Owen Taylor)
Sat Feb 21 20:09:53 2004  Soeren Sandmann  <sandmann@daimi.au.dk>

	Bug 130790 (Federico Mena Quintero, Owen Taylor)

	* gdk/x11/gdkevents-x11.c: Add Xft XSETTINGS

	* gtk/gtksettings.c: Add new GtkSettings corresponding to the Xft
	XSETTINGS
2004-02-21 19:17:48 +00:00
Matthias Clasen
add52ebbbf Fixes for #82099:
Thu Feb 19 23:41:06 2004  Matthias Clasen  <maclas@gmx.de>

	Fixes for #82099:

	* gdk/x11/gdkevents-x11.c: Introduce new XSettings "Gtk/ButtonImages"
	and "Gtk/MenuImages" and map them to "gtk-button-images" and
	"gtk-menu-images".

	* gtk/gtkimagemenuitem.c: Add a boolean setting "gtk-menu-images" and use
	it to set the visibility of the embedded image.

	* gtk/gtkbutton.c: Add a boolean setting "gtk-button-images" and use
	it to set the visibility of an embedded image.
2004-02-19 22:39:58 +00:00
Soeren Sandmann
1c51c48606 GC caching, bug #125645 (based on patch by Brian Cameron)
Wed Feb 18 01:44:59 2004  Soeren Sandmann  <sandmann@daimi.au.dk>

	GC caching, bug #125645 (based on patch by Brian Cameron)

	* gdk/gdkscreen.h (struct _GdkScreen): Add GC cache
	* gdk/gdkscreen.c (gdk_screen_dispose): New function. Unref the
	cached GC's here.
	* gdk/gdkdraw.c (_gdk_drawable_get_scratch_gc): New function to
	get a scratch gc.
	* gdk/gdkinternals.h: Declare the function here

	* gdk/gdkdraw.c (gdk_drawable_real_draw_pixbuf): Use
	_gdk_drawable_get_scratch_gc() instead of creating a new GC.
	* gdk/x11/gdkgeometry-x11.c (gdk_window_copy_area_scroll): same
	* gdk/x11/gdkdrawable-x11.c (draw_with_images): same
	* gdk/gdkwindow.c (gdk_window_get_composite_drawable): same
	* gdk/gdkwindow.c (gdk_window_end_paint): same
	* gdk/gdkpixmap.c (gdk_pixmap_colormap_new_from_pixbuf): same
	* gdk/gdkpixbuf-render.c (gdk_pixbuf_render_threshold_alpha): same
	* gdk/gdkpixbuf-render.c (gdk_pixbuf_render_pixmap_and_mask_for_colormap): same
2004-02-18 00:59:14 +00:00
Soeren Sandmann
6c8430c0c4 Fix for #119722, reported by Olexiy Avramchenko, patch by Owen Taylor.
Tue Feb 17 23:02:58 2004  Soeren Sandmann  <sandmann@daimi.au.dk>

	Fix for #119722, reported by Olexiy Avramchenko, patch by Owen
	Taylor.

	* gdk/x11/gdkprivate-x11.h (struct _GdkGCX11): Add a depth field

	* gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): Keep track of the GC's
	depth.

	* gdk/x11/gdkgc-x11.c (_gdk_gc_x11_get_fg_xft_color): First query
	the colormap, if no colormap, special case depth 1,

	* gdk/x11/gdkgc-x11.c (_gdk_x11_gc_get_fg_picture): Use
	_gdk_gc_x11_get_fg_xft_color() to get the foreground color.

	* gdk/x11/gdkdrawable-x11.c (gdk_x11_drawable_get_xft_draw):
	Special-case bitmaps without a colormap.

	* gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_pixbuf): Use inherited
	draw_pixbuf() implementation in the bitmap case.
2004-02-17 22:05:47 +00:00
Manish Singh
7cf055efb3 Assign xtype using gdk_x11_atom_to_xatom_for_display () when type !=
Thu Feb 12 11:05:16 2004  Manish Singh  <yosh@gimp.org>

        * gdk/x11/gdkproperty-x11.c (gdk_property_get): Assign xtype using
        gdk_x11_atom_to_xatom_for_display () when type != GDK_NONE.

        * gtk/gtkselection.c (_gtk_selection_request): Use GDK_NONE in
        gdk_property_get call instead of 0.

        * docs/reference/gdk/tmpl/properties.sgml: Document the above
        as GDK_NONE instead of simply 0.
2004-02-12 19:18:23 +00:00
Matthias Clasen
06d35613f7 Fix misleading debug output.
Thu Feb 12 00:37:00 2004  Matthias Clasen  <maclas@gmx.de>

	* gdk/x11/gdkproperty-x11.c (gdk_property_change): Fix misleading
	debug output.
2004-02-11 23:33:59 +00:00
Owen Taylor
351ebd8bd2 Avoid triggering an X error when the client->manager_window is
Tue Feb 10 12:02:14 2004  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/xsettings-client.c (read_settings): Avoid
        triggering an X error when the client->manager_window
        is None...makes logs look cleaner.

        * gdk/x11/gdkproperty-x11.c (gdk_property_get): Handle
        GDK_NONE to mean AnyPropertyType as documented. (Reported
        by Yu Shao)

        * gdk/x11/gdkevents-x11.c (fetch_net_wm_check_window,
        gdk_x11_screen_get_window_manager_name): Fix error trap
        we've been leaking since 2002... (#129538)
2004-02-10 18:51:19 +00:00
Soeren Sandmann
01440e457e Use a weak reference instead of ref()/unref(). (#60857, reported by Joshua
Tue Feb  3 00:14:36 2004  Soeren Sandmann  <sandmann@daimi.au.dk>

	* gdk/x11/gdkgeometry-x11.c (queue_item_free, gdk_window_queue):
	Use a weak reference instead of ref()/unref(). (#60857, reported
	by Joshua N Pritikin)

	* gdk/gdkimage.c (scratch_image_info_for_depth): Formatting fix.
2004-02-02 23:26:55 +00:00
Soeren Sandmann
d9d3cf5eda Assume gravity works. (Anything else we have to take our chances with).
Mon Feb  2 19:04:17 2004  Soeren Sandmann  <sandmann@daimi.au.dk>

	* gdk/x11/gdkwindow-x11.c: Assume gravity works. (Anything else
	we have to take our chances with).

	(Bug 97510)
2004-02-02 18:18:18 +00:00
Soeren Sandmann
ff364586da Remove unused variable 'result'
Mon Feb  2 18:45:28 2004  Soeren Sandmann  <sandmann@daimi.au.dk>

	* gdk/x11/gdkfont-x11.c (gdk_font_from_description_for_display):
	Remove unused variable 'result'

	* gdk/x11/xsettings-client.[ch]: Add new set_grab/ungrab_func() functions.

	* gdk/x11/gdkevents-x11.c (_gdk_x11_events_init_screen): Use them here
2004-02-02 18:01:27 +00:00
Federico Mena Quintero
a9fbfc99f5 Fixes #132975.
2004-01-30  Federico Mena Quintero  <federico@ximian.com>

	Fixes #132975.

	* gtk/gtkfilesystem.c (gtk_file_system_make_path): Return NULL,
	not FALSE.
	(gtk_file_system_volume_render_icon): Likewise.

	* gtk/gtkfilesystemwin32.c (gtk_file_system_win32_make_path):
	Likewise.

	* gtk/gtktreestore.c (gtk_tree_store_iter_n_children): Return 0,
	not FALSE.

	* gtk/gtktoolbar.c (gtk_toolbar_get_drop_index): Return -1, not
	FALSE.

	* gtk/gtktextiter.c (gtk_text_iter_get_chars_in_line): Return 0,
	not FALSE.
	(gtk_text_iter_get_bytes_in_line): Likewise.

	* gdk/x11/gdkcursor-x11.c (gdk_display_get_default_cursor_size):
	Likewise.

	* gdk/linux-fb/gdkcolor-fb.c (gdk_colors_alloc): Return FALSE, not
	0.
2004-01-30 19:49:40 +00:00
Owen Taylor
1378322fe4 Revert changes from #113476 and go back to using XftDrawSetClip, because
Fri Jan 30 11:37:37 2004  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkdrawable-x11.c: Revert changes from
        #113476 and go back to using XftDrawSetClip, because
        XftDrawSetClipRectangles is buggy in XFree86-4.3.
2004-01-30 16:40:59 +00:00
Federico Mena Quintero
5ebb6b04f2 Fix #105497; constify uses of GdkColor.
2004-01-26  Federico Mena Quintero  <federico@ximian.com>

	Fix #105497; constify uses of GdkColor.

	* gdk/gdkgc.c (gdk_gc_set_rgb_fg_color): Constify.
	(gdk_gc_set_rgb_bg_color): Constify.
	(gdk_gc_set_foreground): Constify.

	* gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): Constify.
	* gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Constify.
	* gdk/linux-fb/gdkcursor-fb.c (gdk_cursor_new_from_pixmap): Constify.

	* gdk/x11/gdkpixmap-x11.c (gdk_pixmap_create_from_data): Constify.
	* gdk/win32/gdkpixmap-win32.c (gdk_pixmap_create_from_data): Constify.
	* gdk/linux-fb/gdkpixmap-fb.c (gdk_pixmap_create_from_data): Constify.

	* gdk/x11/gdkwindow-x11.c (gdk_window_set_background): Constify.
	* gdk/win32/gdkwindow-win32.c (gdk_window_set_background): Constify.
	* gdk/linux-fb/gdkwindow-fb.c (gdk_window_set_background): Constify.

	* gdk/gdkpango.c (gdk_draw_layout_line_with_colors): Constify.
	(gdk_draw_layout_with_colors): Constify.

	* gdk/gdkpixmap.c (gdk_pixmap_colormap_new_from_pixbuf): Constify.
	(gdk_pixmap_colormap_create_from_xpm): Constify.
	(gdk_pixmap_create_from_xpm): Constify.
	(gdk_pixmap_colormap_create_from_xpm_d): Constify.
	(gdk_pixmap_create_from_xpm_d): Constify.

	* gtk/gtkcellview.c (gtk_cell_view_set_background_color): Constify.

	* gtk/gtkclist.c (gtk_clist_set_foreground): Constify.
	(gtk_clist_set_background): Constify.

	* gtk/gtkcolorbutton.c (gtk_color_button_new_with_color): Constify.
	(gtk_color_button_set_color): Constify.

	* gtk/gtkcolorsel.c (gtk_color_selection_set_current_color):
	Constify and add a check for color != NULL.
	(gtk_color_selection_get_current_color): Add a check for color != NULL.
	(gtk_color_selection_set_previous_color): Constify and add a check
	for color != NULL.
	(gtk_color_selection_get_previous_color): Add a check for color != NULL.

	* gtk/gtkctree.c (gtk_ctree_node_set_foreground): Constify.
	(gtk_ctree_node_set_background): Constify.

	* gtk/gtktext.c (gtk_text_insert): Constify.
	(insert_text_property): Constify.
	(text_properties_equal): Constify.
	(new_text_property): Constify.

	* gtk/gtkwidget.c (gtk_widget_modify_color_component): Constify.
	(gtk_widget_modify_fg): Constify.
	(gtk_widget_modify_bg): Constify.
	(gtk_widget_modify_text): Constify.
	(gtk_widget_modify_base): Constify.
2004-01-26 20:21:09 +00:00
Alexander Larsson
465d6e358c Fix typo
2004-01-22  Alexander Larsson  <alexl@redhat.com>

	* gdk/x11/gdkwindow-x11.c (WINDOW_IS_TOPLEVEL):
	Fix typo
2004-01-22 17:13:22 +00:00
13:49 Daniel Rogers
a5f2118818 Fix to allow reasonable pointer behavior in window mode when an extended
2003-12-31 13:49 Daniel Rogers <dsrogers@phasevelocity.org>

        * gdk/x11/gdkinput-x11.c: (gdk_input_translate_coordinates)

        Fix to allow reasonable pointer behavior in window mode when an
        extended input device reports an incorrect resolution of 0.
Fixes
        bug #123546
2003-12-31 22:00:21 +00:00
Matthias Clasen
8a15fe283b Add the missing _get_ to the name of the non-Xcursor version of this
Thu Dec 25 00:26:34 2003  Matthias Clasen  <maclas@gmx.de>

	* gdk/x11/gdkcursor-x11.c (gdk_display_get_default_cursor_size):
	Add the missing _get_ to the name of the non-Xcursor version of
	this function.  (noticed by Torsten Schoenfeld)
2003-12-24 23:28:14 +00:00
Soeren Sandmann
d2e744ca52 Set the right properties when the window becomes a toplevel. When a window
Sun Dec 21 17:34:22 2003  Soeren Sandmann  <sandmann@daimi.au.dk>

	* gdk/x11/gdkwindow-x11.c (gdk_window_reparent): Set the right
	properties when the window becomes a toplevel. When a window that
	was previously a toplevel becomes a toplevel again, restore its
	window type. Also make sure the focus window is removed from the
	XID hash when it is destroyed. (#117579, reported by Morten
	Welinder, patch reviewed by Owen Taylor).
2003-12-21 16:37:43 +00:00
Matthias Clasen
fbb0ba1a3b Do not interpret distant clicks as double-clicks (#116541, Bernhard
Tue Dec 16 01:46:46 2003  Matthias Clasen  <maclas@gmx.de>

	Do not interpret distant clicks as double-clicks  (#116541,
	Bernhard Walle):

	* gdk/gdkdisplay.h (struct GdkDisplay): Add new fields
	double_click_distance, button_x and button_y.
	* gdk/gdkdisplay.c (gdk_display_init): Initialize the new fields.

	* gdk/gdkdisplay.h:
	* gdk/gdkevents.c (gdk_display_set_double_click_distance):
	New function to set the double click distance on a display.

	* gdk/gdkevents.c: Take double click distance into account
	when generating single, double or triple clicks.

	* gtk/gtksettings.c: Add new setting "gtk-double-click-distance".

	* gdk/x11/gdkevents-x11.c: Add the XSetting
	"Net/DoubleClickDistance" and map it to "gtk-double-click-distance".
2003-12-16 00:56:48 +00:00
Matthias Clasen
1014c413c5 Rename from _gdk_x11_register_event_type(), added API docs.
Sun Dec 14 01:28:23 2003  Matthias Clasen  <maclas@gmx.de>

	* gdk/x11/gdkprivate-x11.h:
	* gdk/x11/gdkx.h:
	* gdk/x11/gdkevents-x11.c (gdk_x11_register_standard_event_type):
	Rename from _gdk_x11_register_event_type(), added API docs.
	* gdk/x11/gdkinput-x11.c (_gdk_input_common_init):
	* gdk/x11/gdkimage-x11.c (_gdk_windowing_image_init): Adjust
	all callers.  (#121471, Bill Haneman)
2003-12-14 00:28:57 +00:00
Matthias Clasen
5d8f0a69c4 Documentation updates. 2003-12-11 23:52:59 +00:00
Matthias Clasen
5fb61f3075 Changes to allow "no input" windows (#64613):
Thu Dec 11 00:35:12 2003  Matthias Clasen  <maclas@gmx.de>

	Changes to allow "no input" windows (#64613):

	* gdk/gdkwindow.h (struct _GdkWindowObject): Add a new boolean
	field accept_focus.

	* gdk/gdkwindow.h (gdk_window_set_accept_focus): New function to
	set it.

	* gtk/gtkwindow.[hc]: Add a boolean property "accept_focus"
	and gtk_window_get_focus() and gtk_window_set_focus().

	* gdk/win32/gdkwindow-win32.c (gdk_window_new):
	* gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
	* gdk/x11/gdkwindow-x11.c (gdk_window_set_new):
	Initialize the accept_focus field to TRUE.

	* gdk/win32/gdkwindow-win32.c (gdk_window_set_accept_focus):
	* gdk/linux-fb/gdkwindow-fb.c (gdk_window_set_accept_focus):
	* gdk/x11/gdkwindow-x11.c (gdk_window_set_accept_focus):
	Implementations for the various backends. The Win32 and linux-fb
	implementations set the accept_focus field, but don't use it yet
	to actually implement noinput windows. The X implementation updates
	the WM_HINTS to select the globally active input model (see the
	ICCCM) if accept_focus is FALSE.

	* gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter): Ignore the
	WM_TAKE_FOCUS message if accept_focus is FALSE.
2003-12-10 23:58:23 +00:00
Mark McLoughlin
b79642263f s/gdk_spawn/gdk_spawn_on_screen/.
2003-12-10  Mark McLoughlin  <mark@skynet.ie>

        * gdk/linux-fb/gdkspawn-fb.c,
          gdk/win32/gdkspawn-win32.c,
          gdk/x11/gdkspawn-x11.c: (gdk_spawn_command_line_on_screen):
        s/gdk_spawn/gdk_spawn_on_screen/.
2003-12-10 14:17:07 +00:00
Mark McLoughlin
01fcbc199f Utility functions for multi-screen applications which need to ensure
2003-12-10  Mark McLoughlin  <mark@skynet.ie>

        Utility functions for multi-screen applications which need
        to ensure launched applications appear on a certain screen.
        See bug #95897.

        * gdk/gdkspawn.h: header for multi-screen launching
        support.

        * gdk/Makefile.am: install gdkspawn.h.

        * gdk/x11/Makefile.am:
        * gdk/x11/gdkspawn-x11.c:
        (gdk_spawn_make_environment_for_screen): private function
        to create an environment vector with DISPLAY set appropriately
        for the screen.
        (gdk_spawn_on_screen): multi-screen version of g_spawn_async().
        (gdk_spawn_on_screen_with_pipes): version of g_spawn_async_with_pipes().
        (gdk_spawn_command_line_on_screen): version of g_spawn_command_line_async().

        * gdk/linux-fb/Makefile.am,
          gdk/linux-fb/gdkspawn-fb.c: linux-fb impl.

        * gdk/win32/Makefile.am,
          gdk/win32/gdkspawn-win32.c: win32 impl.
2003-12-10 13:49:58 +00:00
Matthias Clasen
3f6441ea3a Improve the GDK API for dealing with group leaders (#119375):
Wed Dec 10 00:06:24 2003  Matthias Clasen  <maclas@gmx.de>

	Improve the GDK API for dealing with group leaders (#119375):

	* gdk/gdkwindow.h:
	* gdk/x11/gdkwindow-x11.c (gdk_window_get_group): New function to
	get the group leader of a toplevel window as a GdkWindow.

	* gdk/gdkdisplay.h:
	* gdk/x11/gdkdisplay-x11.c (gdk_display_get_default_group): New
	function to get the default group leader as a GdkWindow.

	* gdk/x11/gdkdisplay-x11.h (struct _GdkDisplayX11): Add a field for
	the GdkWindow of the default group leader.

	* gdk/x11/gdkdisplay-x11.c (gdk_display_open): Construct the GdkWindow
	for the default group leader.
2003-12-09 23:12:53 +00:00
Matthias Clasen
cc84041751 Make monitor boundaries visible in fake Xinerama mode.
Fri Nov 21 01:57:21 2003  Matthias Clasen  <maclas@gmx.de>

	* gdk/x11/gdkscreen-x11.c (init_xinerama_support): Make monitor
	boundaries visible in fake Xinerama mode.
2003-11-21 01:02:45 +00:00
Matthias Clasen
b31a2ece5c Introduce a GDK_DEBUG_XINERAMA debug flag, and make it trigger a fake 2x2
Mon Nov  3 20:56:28 2003  Matthias Clasen  <maclas@gmx.de>

	* gdk/gdk.c:
	* gdk/gdkinternals.h:
	* gdk/x11/gdkscreen-x11.c (init_xinerama_support): Introduce a
	GDK_DEBUG_XINERAMA debug flag, and make it trigger a fake 2x2
	Xinerama mode when no actual Xinerama setup is found.
2003-11-03 20:10:34 +00:00
Owen Taylor
6773cabf56 Move the call to gdk_error_trap_pop() to the right place, fixing a problem
Wed Oct 29 15:01:32 2003  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkimage-x11.c (_gdk_x11_copy_to_image): Move
        the call to gdk_error_trap_pop() to the right place,
        fixing a problem where we'd pop() too many times
        when bailing out. (#123302, Thomas Leonard)
2003-10-29 20:05:40 +00:00
Manish Singh
afad91fe8d #include <X11/extensions/Xrandr.h> if we have RandR support, for
Mon Oct 27 15:47:58 2003  Manish Singh  <yosh@gimp.org>

        * gdk/x11/gdkscreen-x11.c: #include <X11/extensions/Xrandr.h> if
        we have RandR support, for XRRUpdateConfiguration declaration.

        * gtk/gtkfilefilter.c: #include "gtkprivate.h" for _gtk_fnmatch
        declaration.

        * gtk/gtkuimanager.c (gtk_ui_manager_add_ui_from_file): Make
        length a gsize variable, since that's what g_file_get_contents()
        expects.
2003-10-27 23:50:34 +00:00
Matthias Clasen
76d7a19436 Actually assign the new leader. (#125168, Mariano Suarez-Alvarez)
Thu Oct 23 20:47:44 2003  Matthias Clasen  <maclas@gmx.de>

	* gdk/x11/gdkwindow-x11.c (gdk_window_set_group): Actually
	assign the new leader.  (#125168, Mariano Suarez-Alvarez)
2003-10-23 18:50:40 +00:00
Matthias Clasen
2baa63a100 Make it work as documented when pixmap or mask is NULL. (#124081)
Mon Oct 13 20:58:07 2003  Matthias Clasen  <maclas@gmx.de>

	* gdk/x11/gdkwindow-x11.c (gdk_window_set_icon): Make it work
	as documented when pixmap or mask is NULL.  (#124081)
2003-10-13 19:00:19 +00:00
Kristian Rietveld
9538b6e57c big patch from Kjartan Maraas to fix numerous typos.
Wed Sep  3 21:38:26 2003  Kristian Rietveld  <kris@gtk.org>

	* gdk/Makefile.am, gdk/linux-fb/gdkfbmanager.c, gdk/x11/gdkcolor-x11.c,
	gdk-pixbuf/io-gif.c, gtk/Makefile.am, gtk/gtkcalendar.c,
	gtk/gtkclist.c, gtk/gtkctree.c, gtk/gtkdnd.c, gtk/gtkentry.c,
	gtk/gtkhandlebox.c, gtk/gtkitemfactory.c, gtk/gtkmenu.c,
	gtk/gtknotebook.c, gtk/gtkrange.c, gtk/gtkrc.h, gtk/gtktree.c,
	gtk/gtktypeutils.h: big patch from Kjartan Maraas
	to fix numerous typos.
2003-09-03 19:56:36 +00:00
Matthias Clasen
ce940e61a5 Improve PointerHint docs. Explain is_hint field in GdkEventMotion.
2003-08-28  Matthias Clasen  <maclas@gmx.de>

	* gdk/tmpl/events.sgml: Improve PointerHint docs.
	* gdk/tmpl/event_structs.sgml: Explain is_hint field in GdkEventMotion.
	(#120542)
	* gdk/x11/gdkkeys-x11.c (gdk_keymap_translate_keyboard_state): Markup
	fix in the docs.
2003-08-27 22:59:47 +00:00
Owen Taylor
d8c62d66c2 Fix variable declaration not at start of block. (#120371, Damien Carbery)
Tue Aug 26 09:57:38 2003  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkkeys-x11.c (update_keymaps): Fix variable
        declaration not at start of block. (#120371, Damien Carbery)
2003-08-26 14:04:52 +00:00
Owen Taylor
378005c65e Fix up CapsLock and NumLock handling for non-XKB. Add a special case hack
Mon Aug 25 16:15:41 2003  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkkeys-x11.c: Fix up CapsLock and
        NumLock handling for non-XKB. Add a special case
        hack for NumLock on Sun servers. (Patch from
        Robert Basch, #115819)
2003-08-25 20:22:39 +00:00
Owen Taylor
c7c5a7ddaa Change the interpretation of consumed_modifiers so that it contains: -
Thu Aug 21 15:17:42 2003  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkkeys-x11.c: Change the interpretation
        of consumed_modifiers so that it contains:
         - Modifiers combinations actually found in
           state.
         - Single modifier modifier combinations.
        But not multi-modifier combinations that aren't
        in event->state. Document. (#100439)
2003-08-21 19:23:39 +00:00
Owen Taylor
ccfd33c5a5 Don't use impl->position_info.clip_rect for toplevels. (#107068, reported
Tue Aug 19 13:58:50 2003  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll):
        Don't use impl->position_info.clip_rect for toplevels.
        (#107068, reported by Thomas Mirlacher)
2003-08-19 18:32:12 +00:00
Owen Taylor
df58bb7f8a Add a fallback for unaligned source data for FORMAT_ARGB_MASK. (#117217)
Mon Aug 18 11:48:51 2003  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkdrawable-x11.c (convert_to_format):
        Add a fallback for unaligned source data for
        FORMAT_ARGB_MASK. (#117217)
2003-08-18 16:02:46 +00:00
Owen Taylor
e44f6a8a00 Fixes for X/Cygwin builds of GTK+ (#107623, Masahiro Sakai):
Fri Aug 15 12:34:04 2003  Owen Taylor  <otaylor@redhat.com>

        Fixes for X/Cygwin builds of GTK+ (#107623, Masahiro Sakai):

        * configure.in (GDK_DEP_LIBS_FOR_X): Make sure that
        we link libgtk against X explicitely, since we
        make GTK+ calls for plug/socket.

        * gtk/queryimmodules.c: Use USE_LA_MODULES and
        G_MODULE_SUFFIX here.

        * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_image): Protect
        XShmPutImage with #ifdef USE_SHM.
2003-08-15 16:50:57 +00:00
Owen Taylor
35f964d54e Add missing break statements (#119494, Soeren Sandmann)
Mon Aug 11 12:07:14 2003  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkevents-x11.c (get_real_window): Add missing
        break statements (#119494, Soeren Sandmann)
2003-08-11 16:08:27 +00:00
Matthias Clasen
424433f1a4 Add support for EWMH "Above" and "Below" window states. (105100, Manuel Clos) 2003-08-10 23:37:37 +00:00
Matthias Clasen
9bfaab6e77 Reset the toplevel->have_* flags before iterating over the _NET_WM_STATE
2003-08-07  Matthias Clasen  <maclas@gmx.de>

	* gdk/x11/gdkevents-x11.c (gdk_check_wm_state_changed): Reset the toplevel->have_* flags before
	iterating over the _NET_WM_STATE atoms.  (#119217)
2003-08-07 21:11:35 +00:00
Owen Taylor
72f1116387 Fix problem where use_xshm was getting set wrong if MIT_SHM wasn't found.
Mon Aug  4 14:53:46 2003  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkimage-x11.c (_gdk_windowing_image_init):
        Fix problem where use_xshm was getting set wrong if
        MIT_SHM wasn't found. (George Lebel)
2003-08-04 19:02:36 +00:00
Matthias Clasen
ee18c33dc9 Improve wording of the docs, avoid the term "virtual screen". (#119030,
2003-08-03  Matthias Clasen  <maclas@gmx.de>

	* gdk/x11/gdkscreen-x11.c (gdk_screen_get_n_monitors):
	(gdk_screen_get_monitor_geometry): Improve wording of the docs, avoid the
	term "virtual screen".  (#119030, Tor Lillquist)
2003-08-03 20:50:58 +00:00
Matthias Clasen
0df78ed774 Use g_setenv() instead of putenv(). 2003-08-02 21:35:44 +00:00
Owen Taylor
88c1c94651 Requires glib-2.3.0, pango-1.2.0.
Sat Aug  2 12:53:16 2003  Owen Taylor  <otaylor@redhat.com>

        * configure.in: Requires glib-2.3.0, pango-1.2.0.

        * configure.in: Require Xft version 2,
        remove code for handling older versions of pango and Xft.
        Many miscellaneous improvements to X checks

        * acinclude.m4: Add GTK_ADD_LIB() macro for adding
        a library to a variable, avoiding dups.

        * gdk/x11/gdkfont-x11.c (gdk_font_from_description_for_display):
        Always load "fixed"

        * gdk/x11/gdk*-x11.[ch]: Remove support for Xft1 and
        for pangox.
2003-08-02 17:50:09 +00:00
Owen Taylor
10a3ddf6cc If the check for missing depths, try actually creating pixmaps of the
Fri Aug  1 16:30:13 2003  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkdrawable-x11.c (_gdk_x11_have_render):
        If the check for missing depths, try actually creating pixmaps
        of the depths to deal with Xinerama not reporting
        all the depths it should. (#115822)
2003-08-01 20:37:56 +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
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
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