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.
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)
Sat Jul 5 09:55:38 2003 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkdnd-x11.c (precache_target_list): Lookup
all the atoms in the target list at once.
* gdk/x11/gdkdnd-x11.c (gdk_drag_get_protocol_for_display):
Local drag short-circuit.
* gdk/x11/gdkdnd-x11.c (gdk_drag_motion): For the
local case, poke the actions in directly instead of
going through xdnd_set_actions.
* gdk/x11/gdkdnd-x11.c (xdnd_read_actions): Short-circuit
the local case.
* gdk/x11/gdkdnd-x11.c (xdnd_manage_source_filter): Don't
XSelectInput()/add a filter if the drag is local.
* gdk/x11/gdkdnd-x11.c (gdk_drag_get_selection):
Simplify handling of "XdndSelection".
* gdk/x11/gdkevents-x11.c (gdk_event_send_client_message_to_all_recurse): Somehow,
a WM_STATE => _NET_WM_STATE change hand been made here.
* gdk/x11/gdkproperty-x11.c (_gdk_x11_precache_atoms): Free
xatom_names, not atom_names.
* tests/testdnd.c (target_drag_motion): Make the trashcan
open again. (Got lost in deprecation cleanup.)
Sat Jul 5 00:49:32 2003 Owen Taylor <otaylor@redhat.com>
* gtk/gtkdnd.c (gtk_drag_begin): Move the grabs up
earlier, so we don't get a big pile of uncompressed
motion events before the grab takes effect.
* gtk/gtkdnd.c (gtk_drag_update_icon): Call
gdk_window_process_all_updates() so that the area
we are dragging over gets a change to redraw.
* gtk/gtkdnd.c (_gtk_drag_dest_handle_event): Use
gdk_window_get_position(), not gdk_window_get_origin().
* gdk/x11/gdkwindow-x11.[ch] (gdk_window_have_shape_ext)
gdkdisplay-x11.h: use XShapeQueryExtension to
avoid duplicate XQueryExtension when we actually
use it. Remove unnecessary caching in GdkDisplayX11.
Fri Jul 4 23:49:22 2003 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkasync.[ch] (_gdk_x11_get_window_child_info):
Function to get a range of information about all the
children of a window in a single pass.
* gdk/x11/gdkdnd-x11.c (get_client_window_at_coords_recurse)
gdk/x11/gdkdnd-x11.c (gdk_window_cache_new): Use
_gdk_x11_get_window_child_info() to greatly reduce
the number of roundtrips.
Fri Jul 4 22:57:18 2003 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkasync.[ch] (_gdk_send_xevent_async): Add
a function to XSendEvent() and call a calback on
failure/success.
* gdk/x11/gdkdnd-x11.c (xdnd_send_xevent): Short-circuit
messages to the same process, use _gdk_send_xevent_async().
Fri Jul 4 22:26:27 2003 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkwindow-x11.[ch] gdkevents-x11.c: Split
toplevel-specific pieces of GdkWindowImplX11 into
a separate GdkToplevelX11 structure.
Fri Jul 4 15:57:52 2003 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter):
Use asynchronously _gdk_x11_set_input_focus_safe
to avoid having to trap errors and XSync().
* gdk/x11/gdkwindow-x11.c (gdk_window_focus): Use
_gdk_x11_set_input_focus_safe() here as well.
* gdk/x11/gdkevents-x11.c (gdk_check_wm_state_changed):
Rework handling of property notifies on _NET_WM_STATE
so that we ignore _NET_WM_DESKTOP notifies unless we
really care.
* gdk/x11/gdkimage-x11.c (gdk_image_check_xshm): Use
XShmQueryExtension() rather than XQueryExtension() to
avoid extra rountrip.
* gdk/x11/gdkwindow-x11.c (_gdk_windowing_window_init):
Remove unused call to XGetWindowAttributes()
* gdk/x11/gdkdisplay-x11.c (gdk_display_open): Remove
unused call to XGetKeyboardControl().
* gdk/x11/gdkdisplay-x11.c gdk/gdk.def (gdk_display_flush):
Add (#99571)
* gdk/win32/gdkevents-win32.c gdk/linux-fb/gdkevents-fb.c
No-op implementations of gdk_display_flush().
* gdk/gdkwindow.c (gdk_window_process_all_updates): Use
gdk_display_flush() rather than gdk_flush() to avoid
XSync().
* gdk/x11/gdkwindow-x11.c (update_wm_hints)
gdk/x11/gdkwindow-x11.h: Centralize all handling of WM_HINTS here
so that we don't have to get the property back from the server.
* gdk/x11/gdkwindow-x11.c (show_window_internal): Store
the serial of when we map a toplevel to allow optimizing
out notifies on _NET_WM_STATE/_NET_WM_DESKTOP.
* gdk/x11/gdkevents-x11.c (gdk_event_translate): Don't
XTranslateCoordinates() for override-redirect windows.
Fri Jul 4 15:59:27 2003 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkwindow-x11.c (gdk_window_set_group): Remove comment
about setting window group after the window is mapped from docs
- nothing the ICCCM forbids that.
* gdk/x11/gdkcursor-x11.c (gdk_display_get_maximal_cursor_size):
Fix g_return_val_if_fail() in void return function.
* configure.in: Fix misplaced comma that was resulting
in XShm always being disabled.
Wed Jul 2 18:00:56 2003 Owen Taylor <otaylor@redhat.com>
* gtk/gtkicontheme.[ch]: Implement a loader for
named themed icon based on from gnome-desktop library
by Alex Larsson.
* gtk/gtkiconthemeparser.[ch]: .ini file parsing code
from gnome-desktop.
* gtk/gtkiconfactory.[ch]: Add
gtk_icon_source_set/get_icon_name() to allow stock icons
to be based off of named theme icons.
* gtk/gtkiconfactory.c: Rework sources so that the source
is *either* a pixbuf, or a filename, or an icon name,
instead of the pixbuf/filename mix it was before. Put a
workaround for get_pixbuf() so that it can return the
filename pixbuf, e.g, for render_icon().
* gtk/gtkiconfactory.c: Make the default setup use
themed icons, and add builtin icons to the default
icon theme for all the standard pixbufs, so we
don't rely on actually having an icon theme on disk.
* gtk/gtkrc.c: Add support for @"icon-name" to specify
a themed icon for a stock icon source.
* tests/Makefile.am test/testicontheme.c: Add a test
program from gnome-desktop.
* gdk/x11/gdkevents-x11.c gtk/gtksettings.c: Add
Net/IconThemeName / gtk-icon-theme-name setting.
* gtk/gtkiconfactory.c (ensure_cache_up_to_date): Actually
update the icon cache serial so we don't continually
* gtk/gtkwidget.c: Fix a couple of references in doc comments
to ::direction_set that should have been to ::direction-changed
2003-07-01 Matthias Clasen <maclas@gmx.de>
* configure.in: Check for Xcursor.
* gdk/x11/gdkcursor-x11.c:
* gdk/gdkdisplay.h:
* gdk/gdkcursor.h: RGBA cursor support based on Xcursor. New functions:
gdk_cursor_new_from_pixbuf(), gdk_display_supports_cursor_alpha(),
gdk_display_supports_cursor_color(), gdk_display_get_default_cursor_size() and
gdk_display_get_maximal_cursor_size(). (#69436)
Sun Jun 8 22:03:09 2003 Owen Taylor <otaylor@redhat.com>
* tests/testdnd.c: Use application/x-rootwindow-drop for
root window drops. (#108670, Alex Larsson)
* gdk/x11/gdkdnd-x11.c (gdk_drag_motion) gtk/gtkdnd.c (gtk_drag_drop):
Accept either application/x-rootwin-drop (what GTK+ has always used)
or application/x-rootwindow-drop (what the XDND standard specifies).
Wed Jun 4 19:24:28 2003 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkgc-x11.c gdk/x11/gdkprivate-x11.h: Keep
track of when we have a clip mask set for the GC,
and when we unset it, or switch to a clip region,
immediately call XSetClipMask (..., None) to avoid
Xlib caching stale data. (#111806)
* gtk/gtktextdisplay.c: Don't set a clip mask
when drawing alpha pixmaps; it isn't necessary any more.
(#111806)
Tue Jun 3 18:32:30 2003 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter): Don't
respond to pings on a root window; prevents infinite
loops if we are selecting for SubstructureNotify on the
root window. (#111945, Sergey V. Udaltsov)
Tue Jun 3 15:05:47 2003 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkdrawable-x11.c (convert_to_format): Remove
bad optimization for src_rowstride == dest_stride.
(Didn't consider the case where we were copying only
partial widths of a wider source buffer)
(#113034, reported by Hans Petter Jansson)
Tue May 20 15:09:29 2003 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkdnd-x11.c gdk/x11/gdkwindow-x11.c: Comprehensively
zero all unused parts of client messages (Mainly Motif DND
and EWMH). Also, fix a couple places where we were putting
contents into Motif DND messages that didn't belong.
(#113361, EWMH problem reported by Lubos Lunak)
* gtk/gtkselection.c (_gtk_selection_request): Handle the
case where the property type for the multiple atoms is
ATOM_PAIR by doing the conversions ourselve. This is
needed for Xt inter-operation.
Tue May 6 16:50:52 2003 Owen Taylor <otaylor@redhat.com>
Patch from James Henstridge to update to automake-1.7
(#109542)
* autogen.sh: update to call newer tools.
* configure.in: various updates, to use M4 macros to put
variables that change each release at the top.
Use AC_HELP_STRING to format help strings.
Use AC_CONFIG_COMMANDS to generate gdkconfig.h.
* Makefile.am: require Automake 1.7. Remove gdk-2.0.pc and
gtk+-2.0.pc on uninstall. Pass --enable-gtk-doc to configure
during distcheck.
* docs/reference/*/Makefile.am: simplify to use the gtk-doc.make
makefile fragment.
* */Makefile.am: don't use STRIP_BEGIN/STRIP_END.
Use BUILT_SOURCES where appropriate.
Build generated files in builddir rather than srcdir.
Fix uninstall and distclean targets to satisfy distcheck.
===
* gdk/*/Makefile.am: Remove the hacks to get gdkenumtypes.h
built first, since we are now using BUILT_SOURCES.
* gdk/Makefile.am: Remove an outdated comment about gdk_headers.
* demos/gtk-demo/Makefile.am: Fix srcdir != buildd problem
with geninclude.pl.
* configure.in: Update versions to 2.3.0.
Mon Apr 21 18:13:46 2003 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkdnd-x11.c (gdk_window_cache_filter): Patch
from Alex Larsson fixing problem with restacking during
DND. (#108671)
Mon Apr 21 15:07:29 2003 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkdisplay-x11.c (gdk_display_keyboard/pointer_ungrab):
Calling XFlush() after ungrabbing, to avoid problems if
the app subsequently blocks on a long-running operation.
(#106520, reported by Rajkumar Siva)
Fri Apr 18 17:42:45 2003 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkwindow-x11.c (set_initial_hints): Add
SKIP_TASKBAR/SKIP_PAGER to set of properties we
might set on map. (#110019, problem reported
by Loban Rahman)
Fri Apr 18 16:31:49 2003 Owen Taylor <otaylor@redhat.com>
* configure.in gdk/x11/gdkdisplay-x11.c modules/input/Makefile.am:
Check for XAddConnectionWatch()/X11R6, and if found, disable XIM and
use of XAddConnectionWatch. Remove --enable-xim config option.
Should fix building on X11R6 (#110523, Albert Chin
Fri Apr 18 15:56:46 2003 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkdisplay-x11.[ch] gdk/x11/gdkdrawable-x11.[ch]:
Patch from Morten Welinder to catch Sun servers with a
broken implementation of the RENDER extension. (#108309)
Fri Apr 18 15:30:38 2003 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkwindow-x11.c (set_text_property): Use
gdk_free_compound_text(), not g_free(). (#107643,
Michael Zucchi)
Fri Apr 18 14:15:09 2003 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkdisplay-x11.c (gdk_display_open):
* gdk/x11/gdkevents-x11.c (gdk_event_translate): You
don't get a XkbMapNotify event if you get a XkbNewKeyboardNotify
event, so select for both. (#108406, Egmont Koblinger)
Mon Apr 7 19:43:15 2003 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkdisplay-x11.c (gdk_x11_display_ungrab): Flush
after ungrabbing the server.
* gdk/x11/gdkimage-x11.c: Remove some no-longer-needed
calls to XFlush().
* gdk/x11/gdkwindow-x11.c (_gdk_windowing_window_at_pointer):
Use gdk_x11_display_grab/ungrab.
Wed Jan 22 14:18:46 2003 Manish Singh <yosh@gimp.org>
* gdk/x11/gdkevents-x11.c (translate_key_event): add a "return" at
the end of the function, so there is a statement following the "out"
label in all cases (fixes#101961)
Wed Jan 8 18:43:03 2003 Manish Singh <yosh@gimp.org>
* gdk/x11/gdkdisplay-x11.c: #include <stdlib.h> for putenv,
<string.h> for strlen.
* gdk/x11/gdkscreen-x11.c: #include <stdlib.h> for getenv,
<string.h> for strrchr.
* tests/testgtk.c (create_saved_position): "x" and "y" properties
for widgets no longer exist, use gtk_window_move instead.
* test/testtextbuffer.c (check_get_set_text): cast strlen to
int for g_error.
Thu Dec 19 11:42:00 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkevents-x11.c (gdk_event_translate): Call
the filters on the window where the event is received,
not on the window the event is "about". (#101512,
Bolian Yin.)
Sat Dec 14 22:18:45 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkwindow-x11.c (gdk_window_get_frame_extents):
Fix a bug with checking the private flag on the wrong
window; improve the answer on failure a bit; push
an error trap around the X operations. (#100933)
Tue Dec 10 15:46:01 PST 2002 Manish Singh <yosh@gimp.org>
* gdk/x11/gdkwindow-x11.c (set_initial_hints):
gdk_x11_get_xatom_by_name_for_display takes a GdkDisplay *,
not an XDisplay * (obvious typo fix for the previous commit)
* gdk/x11/gdkwindow-x11.c (set_initial_hints): Delete EWMH
properties if no private->state flags are set. (#66754)
* gtk/gtkwidget.c (gtk_widget_class_find_style_property):
* gtk/gtkcontainer.c (gtk_container_class_find_child_property):
Doc typo fixes.
* gtk/tmpl/gtktextview.sgml: Add docs.
* gtk/tree_widget.sgml: Fix some links.
* gtk/tmpl/gtkwindow.sgml: Add docs.
* gtk/tmpl/gtkeditable.sgml: Document GtkEditable as an interface,
not as an abstract base class.
* gtk/gtk-docs.sgml: Move GtkEditable from "Abstract Base Classes"
to "Numeric/Text Data Entry".
Tue Dec 10 14:37:41 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkevents-x11.c (gdk_event_translate)
gdk/x11/gdkwindow-x11.h: Separate out tracking of the X server
focus window from tracking our idea of what the focus window is,
because the PointerRoot code needs to know the real pointer
window. (Mostly accidentally committed a bit earlier.)
Mon Dec 9 18:50:31 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkinput-x11.c (_gdk_input_common_find_events):
Remove selection for DeviceButtonRelease, we no longer need
it now that gxi is gone. (#32617, reported by Garry
Osgood)
Tue Dec 10 00:49:35 2002 Kristian Rietveld <kris@gtk.org>
* gdk/gdkpixmap.h (gdk_pixmap_new), (gdk_bitmap_create_from_data),
(gdk_pixmap_create_from_xpm), (gdk_pixmap_colormap_create_from_xpm),
(gdk_pixmap_create_from_xpm_d),
(gdk_pixmap_colormap_create_from_xpm_d): update to allow a
GdkDrawable instead of a GdkWindow.
* gdk/gdkpixmap.c (gdk_pixmap_colormap_create_from_xpm),
(gdk_pixmap_create_from_xpm), (gdk_pixmap_colormap_create_from_xpm_d),
(gdk_pixmap_create_from_xpm_d): update to allow a GdkDrawable
instead of a GdkWindow.
* gdk/linux-fb/gdkpixmap-fb.c (gdk_pixmap_new),
(gdk_bitmap_create_from_data), (gdk_pixmap_create_from_data): update
to allow a GdkDrawable instead of a GdkWindow.
* gdk/x11/gdkpixmap-x11.c (gdk_pixmap_new),
(gdk_bitmap_create_from_data), (gdk_pixmap_create_from_data): likewise
Mon Dec 9 10:44:59 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkcolor-x11.c (gdk_colormap_alloc_colors_private):
Fix a bug in one of my earlier changes. (From Naofumi Yasufuku,
#100023)
Sun Dec 8 21:43:31 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkcolor-x11.c: Fix spacing in a bunch of
for (i=0; i<ncolors; i++).
* gdk/x11/gdkcolor-x11.c: Various g_return_if_fail()
cleanup.
Sun Dec 8 21:29:10 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkcolor-x11.c (gdk_colormap_alloc1): Fix
a lost refcount in the case where we get a duplicate
back from the X server.
* gdk/x11/gdkcolor-x11.c (gdk_colormap_alloc_colors_writeable):
Set success[] for all colors when allocation of colors
cells via XAllocColorCells succeeds.
* gdk/x11/gdkcolor-x11.c (gdk_colormap_alloc_colors_private):
Don't match against colors cells allocated writeable.