Wed Mar 20 10:55:56 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkevents-x11.c (gdk_event_translate): Fix assignment
of time in scroll events. (Sven Neumann, #75574)
Sat Mar 16 23:54:56 2002 Kristian Rietveld <kris@gtk.org>
* gdk/x11/gdkwindow-x11.c (gdk_window_set_static_bit_gravity): just
return when we have an input_only window (fix by Owen Taylor)
* gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): add
scroll_sync_timer
* gtk/gtktreeview.c (install_scroll_sync_handler): new function,
(scroll_sync_handler): ditto,
(gtk_tree_view_unrealize): take scroll_sync_timer into account
(gtk_tree_view_row_deleted): install scroll_sync_timer instead of
calling top_row_to_dy/dy_to_top_row directly
-- this greatly speeds up clearing the model (#73199)
* gtk/gtktreemodelsort.c
(gtk_tree_model_sort_convert_path_to_child_path): fix up this function,
for some reason I really screwed it up (fixes#74663)
Fri Mar 15 15:37:01 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkdrawable-x11.c (convert_to_format):
Fix byte shift arithmetic for big-endian. (Tracked
down with help from Tuomas Kuosmanen)
* gdk/x11/gdkkeys-x11.c (update_keymaps): Fudge keymap to have lower
upper case variants if there is only a single keysym per keycode and
the key symbol has upper and lower case variants (#74512)
Mon Mar 4 12:43:48 2002 Owen Taylor <otaylor@redhat.com>
Fixes for non XKB operation. (#73103)
* gdk/x11/gdkkeys-x11.c (gdk_keymap_translate_keyboard_state):
Fix problem where GDK_Tab was converted to GDK_ISO_Left_Tab
always, not just if Shift was pressed.
* gdk/x11/gdkkeys-x11.c gdk/x11/gdkprivate-x11.c
gdk/x11/gdkevents-x11.c: Move determination of group
to _gdk_x11_get_group_for_state(), fix to handle non-XKB.
* gdk/x11/gdkkeys-x11.c (gdk_keymap_translate_keyboard_state): Only
add in SHIFT_MASK | LOCK_MASK to consumed_modifiers if the shifted
and unshifted keysyms are different. Only add in group_switch_mask
if the group-switched and non-group-switched keysyms are diferent.
* gdk/x11/gdkkeys-x11.c (gdk_keymap_translate_keyboard_state):
When calling XKeycodeToKeysym, use group * keysyms_per_keycode / 2
not group * keysyms_per_keycode. (Tor Lillquist)
* gdk/x11/gdkkeys-x11.c (gdk_keymap_translate_keyboard_state):
Remove the hack to fudge the return value for GDK_Tab + Shift
since that didn't work -- it didn't affect the reverse mapping.
Instead fudge the non-XKB keymap instead.
Fri Mar 1 18:39:44 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/{gdkevents-x11.c,gdkmain-x11.c,gdkprivate-x11.h,
gdkwindow-x11.c}: Robustify tracking of pointer grab window.
* gdk/x11/gdkmain-x11.c: Keep track of current keyboard
grab window.
* gdk/x11/gdkmain-x11.c (gdk_pointer_grab_info_libgtk_only,
gdk_keyboard_grab_info_libgtk_only): Private libgtk => libgtk
API for finding out current grab information.
* gtk/gtkmain.c (rewrite_event_for_grabs): Rewrite events
so that the effective behavior of owner_events = TRUE is changed
to "deliver events to same window group normally" instead
of "deliver events to same application normally. #69934
* gtk/gtkrange.c: Use an explicit gtk_grab_add() so that
it works within the GtkList combo, where there is a
owner_events = FALSE gdk_pointer_grab() already in effect.
(#65006, reported by Damon Chaplin)
2002-03-01 Tor Lillqvist <tml@iki.fi>
* gdk/gdkkeys.c (gdk_keyval_convert_case)
* gdk/x11/gdkkeys-x11.c (gdk_keyval_convert_case): If the keyval
to be converted is one of those that consist of a Unicode
character plus our special flag bit, use the
g_unichar_to{lower,upper} functions (Bug#73112).
* gdk/gdkkeys.c (gdk_keyval_convert_case): Drop the #ifdefs for
the GDK keysym symbols. As we include gdkkeysyms.h, we know they
are there. And if GDK keysyms some day are added/removed, this
function needs changes, too, anyway.
Thu Feb 28 14:49:08 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): Initialize
private->event_mask from attributes we retrieved for
the window.
Wed Feb 27 12:34:21 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkiconfactory.c: Register all stock icons
"unscaled" so that we don't have icons only available
at some sizes. (#68896)
Wed Feb 27 11:59:05 2002 Owen Taylor <otaylor@redhat.com>
Some ASCII vs. locale fixes from Darin Adler (#55837)
* gtk/gtkcombo.c (gtk_combo_find): Implement real
case-insensitive comparison using g_utf8_casefold().
* gtk/gtkaccellabel.c (gtk_accel_label_refetch): Fix
assignment of gunichar to char by replacing g_unichar_totitle
with g_ascii_toupper ... the contents would only be ascii
here anyways.
* gdk/x11/gdkim-x11.c (_gdk_x11_initialize_locale)
* gtk/gtkfontsel.c (gtk_font_selection_show_available_fonts):
Replace a calls to g_strcasecmp() with g_ascii_strcasecmp().
Tue Feb 26 19:16:28 2002 Owen Taylor <otaylor@redhat.com>
* gdk/win32/gdkkeys-win32.c (gdk_keyval_name):
* gdk/x11/gdkkeys-x11.c (gdk_keyval_name):
Make sure Page_Up, Page_Down get those names, not Prior,
Next.
Sun Feb 24 23:23:28 2002 Owen Taylor <otaylor@redhat.com>
* tests/testselection.c (main): Convert over to using
an GtkInvisible - selections don't work properly
with now NO_WINDOW GtkToggleButton. (Example really
should be using GtkClipboard.)
* gdk/x11/gdkselection-x11.c (gdk_selection_property_get):
Fix problems if sizeof(GdkAtom) != sizeof(Atom). (Unlikely)
* gdk/x11/gdkproperty-x11.c (gdk_property_get): Set
actual_length when converting atoms as well.
(Gregory Merchan, #72074)
2002-02-24 Alexander Larsson <alla@lysator.liu.se>
* gdk/x11/gdkwindow-x11.c (gdk_window_set_background):
Always NULL out bg_pixmap, even when it used to be None
or parent relative.
Sat Feb 23 20:59:05 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkstyle.c gtk/gtkrc.[ch]: gtk/gtksettings.c gtk/gtkstyle.c:
Patch from Richard Hestilow to add a gtk-font-name GtkSetting.
* gdk/x11/gdkevents-x11.c: Add Gtk/FontName XSETTING.
Fri Feb 22 18:36:45 2002 Owen Taylor <otaylor@redhat.com>
Fixes for AIX compilation from Miroslaw Dobrzanski-Neumann,
#72182.
* demos/gtk-demo/main.c gtk/gtktreeview.c gtk/gtktoolbar.c
gtk/gtkpaned.c gtk/gtkobject.c gtk/gtkcontainer.c
gtk/gtkcolorsel.c gtk/gtkcellrender.c gdk/x11/xsettings-client.h:
Squash trailing commas on enumerations.
* gdk/gdktypes.h: Drop GDK_RELEASE_MASK to 1 << 30 instead
of 1 << 31 to work around AIX compiler problem. (C standard
seems to imply that compiler is required to use an unsigned
type for the enum value in this case.)
* gdk/gdkpixbuf-drawable.c: Fix lvalue casts.
* gtk/gtkwindow.h: Fix use of enum types for bitfields ...
compilers may choose to use a signed type for bitfields.
Wed Feb 20 14:26:47 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkkeyhash.[ch]: Implement "fuzzy" key binding lookups;
allow matches on key and level but not group. Also, implement
ignoring "consumed modifiers correctly."
* gtk/gtkaccelgroup.c gtk/gtkbindings.c: Convert to using
GtkKeyHash.
* gtk/gtkdebug.h gtk/gtkmain.c: Support GTK_DEBUG=keybindings
* gdk/x11/gdkevents-x11.c (gdk_event_translate): Fill in
the group for key release events as well as key press events.
* gdk/gdkkeys.h gdk/x11/gdkkeys-x11.c (gdk_keymap_translate_keyboard_state):
Rename unused_modifiers to consumed_modifiers, make the docs and
non-Xkb implementation match the Xkb implementation.
* gdk/linux-fb/gdkkeyboard-fb.c gdk/win32/gdkkeys-win32.c: Propagate
doc and parameter name changes.
* gdk/x11/gdkkeys-x11.c (gdk_keymap_translate_keyboard_state):
XkbTranslateKeyCode doesn't handle LockMask, we need to handle
it ourselves.
* gdk/x11/gdkkeys-x11.c (gdk_keymap_translate_keyboard_state): Force
<Shift>Tab to give GDK_ISO_Left_Tab, since we need consistency
to allow dealing with ISO_Left_Tab.
* gtk/gtkwindow.c gtk/gtktextview.c gtk/gtkscrolledwindow.c
gtk/gtkpaned.c gtk/gtkcombo.c gtk/gtknotebook.c:
Remove inappropriate uses of GDK_ISO_Left_Tab. (GDK_ISO_Left_Tab
or <Shift>Tab both are equivalent as a binding specifier.)
* gtk/gtkbutton.c (gtk_button_class_init): Make ::activate
GTK_RUN_ACTION, so you can bind an accelerator to it.
* gtk/gtklabel.c (gtk_label_set_uline_text_internal): Call
gdk_unicode_to_keyval on the mnemonic character.
* tests/testgtk.c: Add a test for the new fuzzy key binding matching.
Wed Feb 20 21:52:13 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkselection.c (gtk_selection_request): Set the property
as type ATOM_PAIR, not ATOM. (#72074, Gregory Merchan.)
* gdk/x11/gdk{property,selecton}-x11.c: Auto-convert properties
of type ATOM_PAIR as well as properties of type ATOM.
Wed Feb 20 16:19:49 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkevents-x11.c: Add a XSETTING mapping for
gtk-can-change-accels. (#70218, Thomas Leonard.)
Wed Feb 13 12:41:44 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkmain.c (gtk_init_check): g_warning() if setting
the local fails, like gdk_set_locale() did.
* gdk/x11/gdkselection-x11.c (gdk_text_property_to_utf8_list):
Don't free local_list if local_count == 0. (#71241, reported
by Kevin Vandersloot.)
* gdk/x11/gdkselection-x11.c (gdk_text_property_to_text_list):
Clean up list == NULL handling and failure.
Sat Feb 9 00:16:31 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkimage-x11.c (_gdk_x11_copy_to_image):
XCopyArea with subwindow_mode = IncludeInferiors.
(#70999)
* demos/testpixbuf-save.c (configure_cb): Fix a minor
memory management problem.
Tue Feb 5 19:13:42 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkgeometry-x11.c (gdk_window_queue): Keep
the length of the anti-expose queue finite, by if
it gets too long, first doing a XSync() and checking
the event queue, and if that doesn't work, simply
discarding all anti-expose items in the queue.
* gdk/x11/gdkdnd-x11.c (gdk_window_cache_filter): Fix ordering
on ConfigureNotify (#56349, Thomas Leonard)
Thu Jan 31 11:33:52 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkproperty-x11.c (insert_atom_pair): Fix
another missing static.
* gtk/gtkimmodule.c (n_loaded_contexts): And another.
* gdk/x11/Makefile.am gdk/x11/gxid_lib.c: Don't
build gxid sources at all except in the vanishingly
rare case of --with-xinput=xfree.
2002-01-29 Sven Neumann <sven@gimp.org>
* gdk/x11/gdkimage-x11.c (_gdk_x11_copy_to_image): fixed a segfault
that showed up when using the color picker.
Thu Jan 17 13:08:34 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkmain-x11.c (gdk_error_trap_push): Move
here, and save/restore the X error handler to allow
people using GTK+ to set the X error handler to something
custom without disturbing the operation of GDK.
* gdk/linux-fb/gdkmain-fb.c (gdk_error_trap_push)
* gdk/win32/gdkmain-win32.c (gdk_error_trap_pop): Add
dummy implementations.
* gdk/x11/gdkmain-x11.c gdk/x11/gdkevents-x11.c
gdk/x11/gdkdnd-x11.c: Use gdk_error_trap_push()/pop()
for all error trapping.
* gdk/x11/gdkdnd-x11.c: Remove '#if 0' code.
* gdk/x11/gdkdnd-x11.c (gdk_window_cache_new): Fix
problem where we would add the results anyways,
and then add it again if no error occurred, and problem
where we could leave _gdk_error_warnings() unset.
Mon Jan 14 17:14:13 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkselection-x11.c (sanitize_utf8): Don't
mangle sequences of consecutive \n or \r.
Wed Jan 9 20:56:42 2002 Jonathan Blandford <jrb@redhat.com>
* gdk/x11/gdkkeys-x11.c (get_xkb): get the types as well as the
symbols because we need them in MyEnhancedXkbTranslateKeyCode.
Wed Jan 9 10:20:16 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkdrawable-x11.c gdk/x11/gdkgc-c11.c: Check for
RENDER before trying to use it... XRenderFindFormat() prints
warnings if called when extension isn't present.
Mon Jan 7 22:19:32 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkdrawable-x11.c (draw_with_pixmaps): Fix a
problem where were the offset into the image was passed
into convert_to_format() wrong.
* gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_pixbuf): Call
gdk_x11_drawable_update_picture_clip () before using
the picture; allow update_picture_clip() to take a NULL gc
to mean no clipping.
Fri Jan 4 01:36:48 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkdrawable-x11.c (convert_to_format): Optimize
a little bit. (More for consistency than because it
makes much of a difference.)
Thu Jan 3 22:18:15 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkdrawable-x11.c gdk/x11/gdkprivate-x11.h
(_gdk_x11_have_render): Private function to tell if we have RENDER
extension.
* gdk/x11/gdkgc-x11.c (_gdk_x11_gc_get_fg_picture): Return
None if we don't have RENDER extension.
* gdk/x11/gdkpango-x11.c (gdk_pango_context_get): Don't
use Xft unless we have render extension.
* gdk/x11/gdkdrawable-x11.c (gdk_x11_drawable_get_picture):
Handle missing render extension.
* gdk/gdkdraw.c gdk/gdkdrawable.h gdk/gdkpixmap.c gdk/gdkwindow.c
gdk/gdkinternals.h: Add a private copy_to_image() virtual function
to the GdkDrawable vtable that extends get_image() to allow
copying onto existing images. Make the default implementation of
get_image() use this so that backends don't have to implement
both. Add private wrapper _gdk_drawable_copy_to_image().
* gdk/x11/gdkimage-x11.c gdk/x11/gdkprivate-x11.c
gdk/x11/gdkdrawable-x11.c (_gdk_x11_copy_to_image): Implement
copy_to_image() semantics, speed up by using ShmPixmaps and
XCopyArea when possible, XFlush() after ungrabbing the server,
generally redo the logic once again.
* gdk/gdkinternals.h gdk/x11/gdkimage-x11.c
_gdk_windowing_bits_per_depth(): Function to convert from depth to
bits-per-pixel. (We assume only one bpp per depth - X requires
this.)
* gdk/gdkinternals.h gdk/gdkrgb.c gdk/gdkimage.c: Move the GdkRGB
scratch image code into a generic _gdk_image_get_scratch() chunk
of code that we can use other places we need scratch images.
* gdk/gdkimage.c gdk/x11/gdkimage.c gdk/gdkinternals.h:
Add _gdk_image_new_for_depth() as the backend
to _gdk_image_new() to allowing creating images with
a depth and no visual.
* gdk/gdkpixbuf-drawable.c: Fix so that getting
parts of images not at 0,0 actually works.
* gdk/gdkdrawable.h gdk/gdkinternals.h gdk/gdkdraw.c
gdk/gdkwindow.c gdk/gdkpixmap.c gdk/gdkpixbuf-render.c:
- Add a new GdkDrawableClass vfunc _draw_pixbuf, and
_gdk_draw_pixbuf() [ will be made public later ], to allow
backends to accelerate drawing pixbufs.
- Move the implementation of gdk_pixbuf_render_to_drawable_alpha()
to be the default implementation.
- Update docs for gdk_pixbuf_render_to_drawable_alpha().
- Optimize the default implementation by using
_gdk_image_copy_to_pixmap() and scratch shared images, and
special casing the compositing.
* gdk/x11/gdkdrawable-x11.c: Accelerate _gdk_draw_pixbuf()
with alpha using the RENDER extension.
* gdk/gdkpixbuf-drawable.c (gdk_pixbuf_get_from_drawable):
Optimize by _gdk_image_copy_to_pixmap() and scratch images.
* tests/testrgb.c: Add test for speed of alpha composition,
reduce the number of iterations since alpha composition
can be a bit slow.
* gdk/x11/gdkimage-x11.c gdk/gdkprivate-x11.h (_gdk_x11_image_get_shm_pixmap):
Private function to get a ShmPixmap for an image, if possible.
Thu Dec 27 18:12:55 2001 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkproperty-x11.c (gdk_property_get): Fix
problem where retrieved atoms weren't properly returned.
2001-12-07 Havoc Pennington <hp@pobox.com>
* gdk/x11/gdkcursor-x11.c (gdk_cursor_new): fix up my list of
"cursors that are actually useful" in gdk_cursor_new() docs
Wed Nov 28 19:34:15 2001 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkproperty-x11.c (gdk_property_change, gdk_property_get):
Convert atoms to and from atoms for properties of type XA_ATOM.
(#65555, patch from Hidetoshi Tajima)
Sun Nov 25 21:19:02 2001 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkgeometry-x11.c: Add long, but horribly sketchy
comment about what is going on in this file.
* gdk/x11/gdkgeometry-x11.c (gdk_window_compute_position): Fix
x/y problem.
Sun Nov 25 23:18:39 2001 Kristian Rietveld <kristian@planet.nl>
* gtk/gtktexttag.c (gtk_text_tag_set_property): free font_desc
when finished (#65266)
Sun Nov 25 23:16:29 2001 Kristian Rietveld <kristian@planet.nl>
* gdk/x11/gdkwindow-x11.c (gdk_window_set_icon_list): free
data after we set the property. (#65264)
Sun Nov 25 23:14:06 2001 Kristian Rietveld <kristian@planet.nl>
* gtk/gtkbutton.c: add destroy method so label_text gets freed
if it has been allocated (#65268)
Mon Nov 19 13:56:45 2001 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkwindow-x11.c (gdk_window_focus): Use
RevertToParent, not RevertToNone. (#64613,
Matthias Clasen)
Mon Nov 19 11:30:03 2001 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkproperty-x11.c (get_atom_name): Fix a
memory leak when retrieving atom names. (Michael Meeks,
#64508)
Sat Nov 17 21:07:46 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkenums.h: Include glib-object.h instead of
gobject/gsignal.h
* gdk/{gdkinternals.h,gdkwindow.c,gdkwindow.[ch],
x11,{fb,win32,x11/gdkwindow-*.c}: Add a dummy GdkScreen
argument to the window_at_pointer() field of
GdkPointerHooks. (Patch from Erwann Chenede)
* gdk/gdkdrawable.h (struct _GdkDrawableClass ): Up
to 6 pointers.
Mon Nov 5 12:46:44 2001 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkdrawable-x11.[ch] gdk/x11/gdkgc-x11.c
gdk/x11/gdkpixmap-x11.c gdk/x11/gdkprivate-x11.h
gdk/x11/gdkwindow-x11.c: Redo Xft support to go
directly to Picture objects instead of using XftDraw.
This fixes the problem where we weren't able to
properly destroy XftDraw objects before destroying
the accompanying windows, and probably improves
efficiency a bit too. (#50214)
Mon Nov 5 10:01:49 2001 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkgeometry-x11.c (gdk_window_compute_position):
Clamp max window width/height to 32767, not 32768 since
we have to be able to deal with a dx/y of -32768 without
getting a width of 65536 when guffaw scrolling.
* gdk/x11/gdkgeometry-x11.c: Implement gdk_window_scroll()
for the guffaw scrolling case, fixing some problems with
copy-area case as well. Fix BadValue bug with moving windows
by large amounts.
* gdk/x11/gdkgeometry-x11.c (gdk_window_clip_changed): Update
clip in window structue before calling gdk_window_invalidate_region
since that trims new invalidations to the window's visible
region.
* gdk/x11/gdkwindow-x11.c (gdk_window_set_static_gravities):
Really set the static window gravity on the children, not
repeatedly on the window.
* gtk/testgtk.c: Add a torture test for big windows and
gdk_window_scroll().
Sun Nov 4 19:16:23 2001 Owen Taylor <otaylor@redhat.com>
* gdk/gdkcolor.c (gdk_color_parse): Implement gdk_color_parse()
in terms of pango_color_parse().
* gdk/{linux-fb,win32,x11}/gdkcolor-*.c: Remove port-specific
gdk_color_parse() implementations.
* gdk/x11/gdkinput.c: Typo fix.
* gdk/tmpl/input_devices.sgml: Updates.
* gtk/tmpl/gtkrc.sgml: Document the special values <none> and
<parent> for bg_pixmap.
2001-10-27 Anders Carlsson <andersca@gnu.org>
* gdk/x11/gdkmain-x11.c: Replace int and guint with
long and gulong in some places to make the code 64-bit
clean.
(_gdk_windowing_init_check): Replace gint with gulong.
This patch was made by George Lebl and fixes bug #62113.
Tue Oct 23 17:31:42 2001 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkwindow-x11.c gdk/win32/gdkwindow-win32.c: Always
set window->parent (except or the root window itself); if
the window's parent is not a GdkWindow, or is a window of
type GDK_WINDOW_FOREIGN, set window->parent to the root parent.
* gdk/gdkwindow.c (gdk_window_get_toplevels): Don't include
windows of type GDK_WINDOW_FOREIGN.
Tue Oct 23 11:53:00 2001 Owen Taylor <otaylor@redhat.com>
* gtk/Makefile.am (INCLUDES): Remove G_DISABLE_CONST_RETURNS.
* gtk/gtkfontsel.[ch]: Make gtk_font_selection_get_font()
G_CONST_RETURN. (Murray Cumming)
* gtk/gtkfontsel.c (gtk_font_selection_dialog_get_preview_text):
Make G_CONST_RETURN.
* gtk/gtkfilesel.c (open_user_dir): Fix bug with freeing
results of g_get_home_dir().
* gtk/gtkfilesel.c: Make filesel->fileop_file a duplicated
copy. Storing the return from gtk_entry_get_text() is evil.
* gtk/gtkcombo.c gtk/gtkcellrenderertext.c gtk/gtkbindings.c
gtk/gtkfilesel.c gtk/gtkfontsel.c gtk/gtkimmodule.c
gtk/gtkobject.c gtk/gtkoldeditable.c gtk/gtktreedatalist.c
gtk/gtksignal.c: Add const.
* gdk/x11/gdkkeys-x11.c (get_direction): Add missing const.
* gtk/gtktreeview.c: Namespace object data keys to be safe, even
if we are setting them on private widgets.
* gtk/gtktreeview.c (gtk_tree_view_real_start_interactive_search):
Duplicate entry->text before setting it as object data.
Mon Oct 22 14:08:26 2001 Jonathan Blandford <jrb@redhat.com>
* demos/gtk-demo/appwindow.c: Remove handle_box from App demo.
* gtk/gtktreeview.c (size_allocate): Move to a different drawing
system. Instead of having a window the size of the tree, we have
a window the size of widget->allocation, and simply draw with the
offset.
(coords_are_over_arrow): ditto. Move to window coordinates.
(do_prelight): ditto
(do_unprelight): ditto
* gtk/gtktreemodelsort.c (gtk_tree_model_sort_rows_reordered):
Minor fix from Kristian Rietveld to fix unsorted case.
Sun Oct 21 23:27:00 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkwidget.c (gtk_widget_translate_coordinates): Fix
problem with g_return_if_fail return value.
* gdk/x11/gdkproperty-x11.c docs/Changes-2.0.txt: Move over the
virtual atom code from the gdk-multihead branch, removing the per-display
part. Virtualizing atoms needs to be done now to prevent compat
breakage in direct Xlib accessing code in the future. (#62208)
* gdk/x11/gdkx.h: gdk/gdk/x11/gdkproperty-x11.c: Export
gdk_x11_xatom_to_atom, gdk_x11_atom_to_xatom().
* gdk/gdktypes.h docs/Changes-2.0.txt: Make GdkAtom
an opaque pointer type so the compiler catches attempts
to mingle it with X atoms.
* gdk/x11/{gdkdnd-x11.c,gdkevents-x11.c,gdkglobals-x11.c,
gdkkeys-x11.c, gdkmain-x11.c, gdkprivate-x11.c,
gdkproperty-x11.c, gdkselection-x11.c, gdkwindow-x11.c}
gtk/{gtkclist.c,gtkctree.c,gtkdnd.c,gtkplug.c,gtksocket.c}
tests/testdnd.c,tests/testselection.c:
Fix up for above atom changes.
* gdk/gdkselection.h (GDK_SELECTION_CLIPBOARD): Add, since we
now have the ability to add custom predefines.
* gtk/{gtkentry.c,gtklabel.c,gtkoldeditable.c,gtktextview.c}:
Use GDK_SELECTION_CLIPBOARD instead of GDK_NONE in calls
to gtk_clipboard_get().
* gdk/win32/gdkproperty-win32.c: Add CLIPBOARD, fix up
for GdkAtom => pointer change.
* gdk/linux-fb/gdkproperty-fb.c: Fix handling of predefined
atoms, fix for GdkAtom => pointer change.
Tue Oct 16 17:04:44 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkwidget.c: Rename ACTIVATE_MNEMONIC enum to
MNEMONIC_ACTIVATE; signal was changed a long time
ago.
* gdk/x11/gdkim-x11.c (_gdk_x11_initialize_locale):
Fix wrong return statement. (Reported by HideToshi
Tajima and others.)
* gtk/gtklabel.h (struct _GtkLabelClass): Remove
left over select_all vfunc.
Wed Oct 10 12:48:38 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkmain.c (gtk_init_check): Call setlocale (LC_ALL, "").
(#60606)
* gtk/gtkmain.c (gtk_disable_setlocale): Add function
to disable calling setlocale (LC_ALL, "").
* gtk/gtkmain.c (gtk_set_locale): Indicate in the
docs that this function is not typically useful.
* gdk/x11/{gdkim-x11.c,gdkmain-x11.c,gdkprivate-x11.h}:
Automatically initialize GDK for the current locale
on gdk_init(). Don't reset locale to C when
XSupportsLocale() fails.
* gdk/linux-fb/gdkim-fb.c (gdk_set_locale): Remove
useless checks for UTF-8 locale breakage that mattered
only for X.
* examples/calendar/calendar.c
tests/{testgtk.c,testtext.c,testcalendar.c}: Remove calls to
gtk_set_locale().
* gtk/gtkiconfactory.c gtk/gtkitemfactory.c:
gdk_pixbuf_new_from_stream => gdk_pixbuf_new_from_inline.
2001-10-02 Havoc Pennington <hp@redhat.com>
Throughout: assorted docs
* gdk/gdkwindow.h: deprecate gdk_window_set_hints(), it's broken,
gdk_window_set_geometry_hints() should be used instead.
* gdk/gdkimage.h: deprecate gdk_image_ref, gdk_image_unref, and
document them
* gdk/x11/gdkx.h: remove gdk_get_client_window() since it doesn't
seem to exist in any .c files
* gdk/x11/gdkcolor-x11.c (gdk_colormap_query_color): docs,
g_return_if_fail (pixel < colormap->size).
Mon Sep 24 12:48:25 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtknotebook.h: Add a compat macro that got lost.
* gtk/gtktreestore.c: Doc fixes.
* gdk/x11/gdkevents-x11.c (gdk_event_translate): Fix reference
leak for windows that receive events after being destroyed.
(#60863, Joshua N. Pritikin)
* gtk/gtktable.c (gtk_table_remove): Use gtk_widget_queue_resize
rather than gtk_container_queue_resize().
* gtk/{gtkcontainer.c,gtkwidget.c,gtkwindow.c}: _gtk prefix
gtk_container_queue_resize, gtk_container_queue_resize_widgets,
gtk_container_child_composite_name. (#60217.)
Wed Sep 19 17:59:27 2001 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkwindow-x11.c (gdk_window_new): Set
_NET_WM_PID and WM_CLIENT_MACHINE properties on each
window, not just on the client leader. (#58463)
Sat Sep 8 16:19:02 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkmain.c: Implement a search path for GTK+ modules.
* configure.in gtk/gtkrc.c gtk/Makefile.am: Look for modules
in gtk-2.0/<type>/major.minor.(micro-binary_age) rather
than in gtk-2.0/major.minor.micro/<type>/. This
works better for a search path for modules.
* gtk+-2.0.pc.in gtk+-2.0-uninstalled.pc.in: Add
gtk_binary_version variable holding major.minor.(micro-binary_age).
* modules/input/Makefile.am (moduledir): Fix installation
directory to match change in lookup location.
* gtk/gtkmain.c (gtk_init_check): Remove OS/2 code for dll
suffixes. Needs to be handled in g_module_build_path().
* gtk/gtkrc.c gtk/queryimmodules.c: Use g_build_filename() where
appropriate.
Sat Sep 8 01:49:22 2001 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkmain-x11.c (_gdk_windowing_init_check): Prevent a
false alarm constness warning with a cast.
* gdk/x11/gdkx.h: Undefine GDK_ROOT_PARENT before redefining it
for the inside-gdk case.
Fri Sep 7 18:17:47 2001 Owen Taylor <otaylor@redhat.com>
* gdk/gdk.h gdk/x11/gdkmain-x11.c: Deprecate gdk_set/get_use_xshm,
make gdk_set_use_xshm a noop. Remove --no-xshm command line
option. If we aren't autodetecting properly, we need
to fix the problem, or at least make it an environment
variable setting, to avoid problems with propagating
to embedded children, plugins, etc.
* gdk/gdkcolor.h: Deprecate gdk_colormap_get_system_size().
* gdk/gdkpixbuf-render.c gdk/gdkpixbuf.h
(gdk_pixbuf_render_pixmap_and_mask_for_colormap):
New function to render a pixmap and mask for a particular colormap.
* gtk/gtkwindow.c (get_pixmap_and_mask): Change to use
gdk_pixbuf_render_pixmap_and_mask_for_colormap () instead
of internal implementation of the same.
Fri Sep 7 11:51:44 2001 Owen Taylor <otaylor@redhat.com>
Make gdkx.h the only installed header from gdk/x11.
All structures in gdk/x11 are opaque.
* gdk/x11/Makefile.am gdk/x11/gdkx.h gdk/x11/gdkprivate-x11.h:
Don't install gdk{drawable,pixmap,window}-x11.h.
* gdk/x11/{gdkcolormap-x11.c, gdkfont-x11.c, gdkx.h, gdkvisual-x11.c:
Move GdkColormapPrivateX11, GdkFontPrivateX GdkImagePrivateX11,
GdkVisualClass into C files.
* gdk/gdkpixmap-x11.[ch]: Make gdk_pixmap_impl_get_type() static.
* gdk/x11/{gdkcolor-x11.c, gdkcursor-x11.c, gdkdrawable-x11.c,
gdkfont-x11.c, gdkgc-x11.c, gdkx.h, gdkimage-x11,gdkvisual-x11.c}
Add public functions to replace previously exported direct
structure access.
gdk_x11_colormap_get_{xdisplay,xcolormap}
gdk_x11_cursor_get_{xdisplay,xcursor},
gdk_x11_drawable_get_{xdisplay,xcursor,gdk_x11_visual_get_xvisual,
gdk_x11_font_get_{xdisplay,xfont}, gdk_x11_image_get_{xdisplay,ximage},
gdk_x11_gc_get_{xdisplay,ximage}
* gdk/gdkprivate.h gdk/gdkinternals.h: Move GdkColorInfo,
GdkEventFilter, GdkClientFilter, GdkFontPrivate to gdkinternals.
Fix a number of variables and functions that were exported
"accidentally" from GDK.
* gdk/**.[ch]: gdk => _gdk for gdk_visual_init,
gdk_events_init, gdk_input_init, gdk_dnd_init, gdk_image_exit,
gdk_input_exit, gdk_windowing_exit, gdk_event_func, gdk_event_data,
gdk_event_notify, gdk_queued_events, gdk_queued_tail,
gdk_event_new, gdk_events_queue, gdk_events_unqueue,
gdk_event_queue_find_first, gdk_event_queue_remove_link,
gdk_event_queue_append, gdk_event_button_generate,
gdk_debug_flags, gdk_default_filters, gdk_parent_root.
* gdk/x11/{gdkevents-x11.c, gdkglobals-x11.c, gdkimage-x11.c,
gdkmain-x11.c, gdkprivate-x11.h, gdk/x11/gdkwindow-x11.c}:
gdk => _gdk for gdk_event_mask_table, gkd_nevent_masks,
gdk_wm_window_protocols, gdk_leader_window, gdk_xgrab_window,
gdk_use_xshm, gdk_input_ignore_core.
* gdk/x11/xsettings-common.h (xsettings_list_insert): Add
#defines to namespace functions into the private _gdk_
namespace.
* gdk/gdkwindow.[ch] gdk/x11/gdkx.h: Add gdk_get_default_root_window ()
to replace gdk_parent_root exported variable. Adjust and
deprecate GDK_ROOT_PARENT().
* demos/{testpixbuf-drawable.c,testpixbuf-save.c}: Fix
GDK_ROOT_PARENT usage, remove includes of port-specific
headers.
* gdk/{win32,x11,fb}/gdkinput*.[ch]: s/gdk/_gdk/ for
_gdk_input_gxid_host, _gdk_input_gxid_port, _gdk_input_ignore_core,
gdk_input_devices, _gdk_input_windows, gdk_init_input_core.
* gdk/x11/{gdkevents-x11.,c gdkglobals-x11.c, gdkmain-x11.c}
docs/Changes-2.0.txt: Remove gdk_wm_protocols,
gdk_wm_delete_window functions, gdk_wm_take_focus,
use gdk_atom_intern() instead.
* gdk/linux-fb/{gdkselection-fb.c, gdkmain-fb.c, gdkprivatefb.h}
gdk/win32/{gdkselection-win32.c, gdkmgdkwin32.h, gdkprivate-win32.h}
gdk/x11/{gdkselection-x11.c gdkx.h, gtkprivate-x11.h}
gtk/gtkselection.c
Unexport gdk_selection_property, just use
gdk_atom_intern ("GDK_SELECTION").
* gdk/x11/{gdkprivate-x11.h,gdkdrawable-x11h,gdkgc-x11.c,gdkx.h}:
Unexport gdk_drawable_impl_x11_get_type, gdk_gc_x11_get_type,
GDK_GC_X11 cast macros, GdkGCX11 structures, GdkCursorPrivate,
GdkVisualprivate, gdk_x11_gc_flush.
Make a number of public exports of variables into functions
to increase encapsulation.
* gdk/gdkinternals.h gdk/gdkinput.h gdk/gdkevents.h
gdk/linux-fb/gdkmouse-fb.c: gdk_core_pointer => _gdk_core_pointer,
move to gdkinternals.h. Add gdk_device_get_core_pointer ().
* gdk/gdkprivate.h gdk/gdkpango.c gdk/gdkinternals.h
docs/Changes-2.0.txt: Unexport gdk_parent_root, gdk_error_code,
gdk_error_warnings.
* gdk/x11/{gdkcolormap-x11.c, gdkmain-x11.c, gdkx.h}
docs/Changes-2.0.txt:
s/gdk_screen/_gdk_screen/, add gdk_x11_get_default_screen()
s/gdk_root_window/_gdk_root_window/, add gdk_x11_get_default_root_xwindow()
Add gdk_x11_get_default_xdisplay().
* gdk/gdk.h gdk/gdk.c linux-fb/gdkfb.h linux-fb/gdkglobals-fb.c
win32/gdkwin32.h x11/gdkglobals-x11.c gdk/x11/gdkmain-x11.c
gdk/x11/gdkx.h: gdk/gdk.def: Add gdk_get/set_program_class,
Don't export gdk_progclass, move --class command line
option and handling to common portion of GDK.
Miscellaneous fixes:
* gdk/x11/gdkwindow-x11.c (gdk_window_set_icon_list): Fix
g_return_val_if_fail that should have been g_return_if_fail.
* gdk/gdkinternals.h gdk/gdkprivate.h: Move
gdk_synthesize_window_state() to the semi-public gdkprivate.h.
* gtk/gtkdnd.c (_gtk_drag_source_handle_event): Remove uneeded
X11 dependency.
* gdk/linux-fb/gdkmain-fb.c gdk/win32/gdkmain-win32.c gdk/TODO:
Remove unused gdk_key_repeat_disable/restore.
* linux-fb/gdkglobals-fb.c win32/gdkglobals-win32.c
x11/gdkglobals-x11.c x11/gdkprivate-x11.h gdk/gdk.def:
Remove unused gdk_null_window_warnings variable.
* gdk/Makefile.am (DIST_SUBDIRS) nanox/*: cvs remove nanox;
it can be retrieved from the repository; it is too far
from functional to be worth having people check out;
it would be easier to start from scratch, I suspect.
* gdk/x11/gdkpixmap-x11.c: Fix lvalue usage of GDK_PIXMAP_XID().
* gdk/x11/gdkkeys-x11.c gdk/gdkrgb.c gdk/gdkwindow.c
gdk/x11/gdkpango-x11.c gdk/x11/gdkselection-x11.c:
Fix some accidentally global variables and unused global variables.
* gdk/x11/gdkkeys-x11.c gdk/gdkrgb.c gdk/gdkwindow.c
gdk/x11/gdkpango-x11.c gdk/x11/gdkselection-x11.c:
Fix some accidentally global variables and unused global variables.
Add some space for future expansion to multihead.
* gdk/gdkdrawable.h: Add four reserved function pointers
for future expansion of GdkDrawableClass.
* gtk/gtkwindow.h gtk/gtkinvisible.h: Add reserved pointer
where we can put a GdkScreen * later.
Sun Sep 2 21:41:21 2001 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkkeys-x11.c (update_keymaps): Set current serial
so that we don't eternally update the keymap after we
get a change notification.
* gtk/gtkmenuitem.c (gtk_menu_item_set_right_justified): Fix
incorrect cast.
2001-08-28 Havoc Pennington <hp@pobox.com>
* demos/gtk-demo/main.c (setup_default_icon): add default icon
* gtk/gtkradiobutton.c (gtk_radio_button_new_with_mnemonic):
warning fix
(gtk_radio_button_new_with_label): warning fix
* gtk/gtkdnd.c: used some random GtkImage private structs,
update to reflect GtkImage changes
* gdk/x11/gdkwindow-x11.c (gdk_window_set_icon_list): don't check
whether the hint is supported, just always set the icon. A task
list might want to use it even if the WM doesn't, and the WM may
change over time. Also, XDeleteProperty() if list == NULL.
* gtk/gtkwindow.c (gtk_window_set_icon_list)
(gtk_window_get_icon_list)
(gtk_window_set_icon)
(gtk_window_get_icon)
(gtk_window_set_default_icon_list)
(gtk_window_get_default_icon_list):
new functions
* gtk/gtk-boxed.defs (GtkIconSet): add GtkIconSet
* gtk/gtkimage.c: Implement property support, bug #59408
* gtk/gtkcontainer.c (gtk_container_add): make the warning message
on reparent-without-removing-first a bit more helpful.
Let's just destroy this FAQ.
2001-08-07 Havoc Pennington <hp@pobox.com>
* gtk/gtkfilesel.c (open_ref_dir): fix a typo.
* gtk/gtkplug.c (gtk_plug_init): remove setting of auto_shrink;
some fixage is needed here, but nothing simple. Owen understands
it. ;-)
* gtk/gtkwindow.h, gtk/gtkwindow.c: Rework code and API for window
sizing and positioning. Also, fix bug in compute_geometry_hints
(width/height confusion for setting min size).
(gtk_window_move): new function
(gtk_window_resize): new function
(gtk_window_get_size): new function
(gtk_window_get_position): new function
(gtk_window_parse_geometry): new function
* gtk/gtkwidget.c (gtk_widget_set_size_request): new function
(gtk_widget_get_size_request): new function
(gtk_widget_get_usize): delete, that was a short-lived function
;-)
(gtk_widget_set_usize): deprecate
(gtk_widget_set_uposition): deprecate, make it a trivial
gtk_window_move() wrapper
(gtk_widget_class_init): remove x/y/width/height properties,
add width_request height_request
* demos/*: update to avoid deprecated functions
* gtk/gtklayout.c: add x/y child properties
* gtk/gtkfixed.c: add x/y child properties, and get rid of
uses of "gint16"
* tests/testgtk.c (create_window_sizing): lots of tweaks to window
sizing test
* gdk/x11/gdkevents-x11.c (gdk_event_translate): Ensure that
configure events on toplevel windows are always in root window
coordinates, following ICCCM spec that all synthetic events
are in root window coords already, while real events are
in parent window coords. Previously the code assumed that
coords of 0,0 were parent window coords, which was
really broken.
* gtk/gtkcontainer.c (gtk_container_get_focus_chain): fix
warning
* gdk/gdkwindow.h (GdkWindowHints): add GDK_HINT_USER_POS
and GDK_HINT_USER_SIZE so we can set USSize and USPosition
hints in gtk_window_parse_geometry()
* gdk/x11/gdkwindow-x11.c (gdk_window_set_geometry_hints): support
new USER_POS USER_SIZE hints
* gtk/gtkclipboard.c (request_text_received_func): ask apps for
COMPOUND_TEXT instead of TEXT
* gdk/x11/gdkselection-x11.c (gdk_utf8_to_compound_text): correctly
interpret the return value of g_string_to_compound_text()
(#55152)
2001-08-06 Havoc Pennington <hp@pobox.com>
* gdk/x11/gdkimage-x11.c (_gdk_x11_get_image): The whole
GDK_IS_WINDOW() branch of this was a bit screwed up, because
it was expecting a GdkWindow, not a GdkWindowImplX11.
Also, we were getting the window rect in screen coords
and the screen rect in window coords then intersecting
them; instead, get window rect in window coords.
Finally, there were codepaths that resulted in a stuck server grab
(when the window was fully onscreen, or on gdk_image_new()
failure); make the server ungrab thing a bit more
robust/consistent.
* gdk/gdkprivate.h:
* gdk/x11/gdkx.h:
Put all mentions of GdkFont inside #ifndef GDK_DISABLE_DEPRECATED.
* demos/gtk-demo/menus.c: (do_menus): Cast to G_OBJECT, not
GTK_OBJECT.
* gdk/gdkdraw.c: Added a check on the colormap depth to
gdk_drawable_set_colormap()
* gdk/x11/gdkimage-x11.c: combination of Mathias Hasselmann's
patch to fix colorsel and my patch to fix gdk_drawable_get_image()
for pixmaps without visuals (more specifically, bitmaps)
* gdk/x11/gdkpixmap-x11.c: Fixed gdk_pixmap_new() so it
doesn't set a colormap with the wrong depth
* gtk/gtkiconfactory.c: (gtk_icon_size_register): Reorder code so
that we don't get a g_warning message every time we register a new
icon size.
* gdk/x11/gdkcolor-x11.c: (gdk_colormap_alloc1): Fix warning by
using pixel variable of the correct type.
Thu Jul 12 13:53:28 2001 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkevents-x11.c (gdk_event_translate): Properly
clean up when handling events for move-resize emulation.
(Problem traced down by Matthias Clasen, #57271)
* gtk/gtkwidget.c (gtk_widget_class_init):
G_SIGNAL_TYPE_STATIC_SCOPE GtkSelectionData to
restore some workingness.
* gdk/x11/gdkwindow-x11.c (gdk_window_new): Fix
handle of window type for input-only windows.
Mon Jul 2 01:09:37 2001 Owen Taylor <otaylor@redhat.com>
* gdk/gdkwindow.[ch] gdk/gdkinternals.h gdk/x11/gdkwindow-x11.c
gdk/linux-fb/gdkwindow-fb.c gdk/x11/gdkwindow-x11.c gdk/gdk:
Add gdk_set_pointer_hooks() to allow pointer-querying to
be hooked by an event record/playback system like GERD.
(#56914)
Wed Jul 4 22:35:40 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtklabel.c gtk/gtkmenubar.c gtk/gtktreeviewcolumn.c
gtk/gtkwidget.c:
Check GTK_WIDGET_TOPLEVEL(gtk_widget_get_toplevel (widget)),
not GTK_WIDGET_GET_ANCESTOR ... see
http://mail.gnome.org/archives/gtk-devel-list/2001-July/msg00072.html.
Indicate the best practice in the docs for gtk_widget_get_toplevel().
* gtk/gtkwidget.[ch]: Expose a private _gtk_widget_hierarchy_changed(),
so GtkPlug can give the correct signals when transforming
from a child to a toplevel.
* gtk/gtkdnd.c (gtk_drag_dest_hierarchy_changed): Handle
reparentation correctly.
* gtk/gtkwidget.c (gtk_widget_propagate_hierarchy_changed):
Propagate the previous_toplevel argument down properly.
* gtk/gtklabel.c (gtk_label_finalize): Fix unrefing
of wrong atr list.
* gtk/gtkplug.[ch]: Add an "embedded" signal.
* gtk/gtksocket.[ch]: Add "child_added", "child_removed"
signals.
* gtk/gtkplug.[ch] gtk/gtksocket.[ch]: Add
functions gtk_plug_get_id(), gtk_socket_get_id(),
to avoid the user having to worry about realization,
and gdkx.h.
* tests/testsocket.c: Extend to try out the new signals
and gtk_plug/socket_get_id().
* gtk/gtklabel.c (gtk_label_set_pattern_internal): Fix
setting of underline attributes.
* gdk/x11/gdkevents-x11.c (gdk_event_translate): Ignore
DestroyNotify events from SubstructureNotifyMask
* gdk/x11/gdkwindow-x11.c (gdk_window_reparent):
Switch GDK_WINDOW_TYPE (window) as needed.
* gdk/x11/gdkwindow-x11.c (gdk_window_new): Clean up,
allow creation of toplevel windows as children of
foreign windows.
* gtk/gtkplug.c: Remove hacks involving changing private
fields of GdkWindow.
* gtk/gtkplug.[ch] gtk/gtksocket.c: Work to make
exactly the same signals and notification
be emitted for local embedding as for inter-process
embedding.
Mon Jul 2 16:53:25 2001 Owen Taylor <otaylor@redhat.com>
* gtk/xembed.h gtk/gtkplug.c gtk/gtksocket.c: For
XEMBED embedding add a _XEMBED_INFO property to the
client with version number and a "mapped" flags.
Use the mapped flag instead of the racy MapRequestEvent
* gtk/gtksocket.c: Clean up the gtk_socket_steal()
code to reliably set things (when the child is a passive
embedder participating in the XEMBED protocol) intead
of just being a hack for embedding non-participating
programs. Fix various bugs and race conditions.
* gtk/gtksocket.[ch] gtk/gtkplug.[ch]: Make local embedding
work by simply making the GtkSocket the gtk parent
of the GtkPlug. Set a flag in this case and make
the GtkPlug work like a normal container by overriding
methods such as check_resize and "chaining past" GtkWindow
to GtkBin.
* gtk/gtkentry.c (gtk_entry_real_activate)
gtk/gtkmain.c (gtk_propagate_event):
Eliminate use of gtk_widget_get_ancestor (widget, GTK_TYPE_WINDOW).
* gtk/gtkwidget.c (gtk_widget_get_toplevel,
gtk_widget_get_ancestor):
Explain why gtk_widget_get_ancestor (widget, GTK_TYPE_WINDOW)
might not give the expected result and recommend
an alternative.
* tests/testsocket.c tests/testsocket_child.c
tests/testsocket_common.c tests/Makefile.am: Extended
to test different type of adding plugs to sockets
(local,active,passive), and to test mapping/unmapping
the plug.
* gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): Don't
mark the window as destroyed until after we
called _gdk_windowing_window_destroy().
(_gdk_windowing_window_destroy() may use GDK functions
on the window.)
* gdk/x11/gdkinput.c: Remove the check for finalization -
devices can be finalized under some circumnstances.
* gdk/x11/gdkinput-x11.c (gdk_input_device_new): Fix
small problem with GDK_TYPE_DEVICE.
Tue Jun 26 19:39:03 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkwidget.c (gtk_widget_set_style): Allow %NULL
for style to mean "revert to default style"
* gtk/gtkwidget.[ch] (gtk_widget_set_rc_style,
gtk_widget_restore_default_style): Make this functions
deprecated aliases for gtk_widget_set_style (widget, NULL).
* gtk/gtkwidget.[ch]: Remove:
gtk_widget_set_default_style ()
gtk_widget_push_style ()
gtk_widget_pop_style ()
These functions interact are overriden by RC files, and
thus virtually useless, and complicated.
Fri Jun 22 18:49:48 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkrc.c: Add a GtkRcContext structure to hold
most of the previous global variables in gtkrc.c. This is
in preparation for multi-head, since each screen can
have different GtkSettings and RC information.
* gtk/gtkrc.[ch]:
* gtk/gtkrc.h (struct _GtkRcStyleClass): Add a
GtkSettings parameter to GtkRcStyle::parse.
* gdk/x11/gdkevents-x11.c gtk/gtksettings.c gtk/gtkrc.c:
Add two new settings gtk-theme-name, gtk-key-theme-name,
for RC files that are loaded by name after reading
the default RC files.
* gtk/gtkrc.c: Allow priorities for styles, as wll as
bindings.
* gtk/gtkenums.h gtk/gtkrc.c: Add GTK_PATH_PRIO_THEME,
and use it by default for RC files loaded via
gtk-theme-name, gtk-key-theme-name.
* gtk/gtkiconfactory.c (gtk_icon_source_set_filename)
gtk/gtkrc.c (gtk_rc_parse_pixmap_path_string)
tests/testgtkrc: Require pathnames to be absolute.
* gtk/gtkrc.c gtk/gtkiconfactory.c: Look up the full filename for
the source when parsing, since the operation of looking up a
pixmap from an RC file depends on the parsing context.
* gtk/gtkrc.c (gtk_rc_context_reparse_all): Automatically
reset RC styles on all widgets when files are reparsed.
* tests/testgtk.c (create_rc_file)
gtk/gtkwindow.c (gtk_window_read_rcfiles):
Simplify, now that gtk_rc_reparse_all() resets styles on
all widgets itself.
* gtk/gtkmain.c (gtk_get_default_language): Fix broken
return value.
* gtk/gtksettings.[ch] (gtk_settings_install_property[_ch]): Remove
GtkSettings argument.
* gtk/gtksettings.[ch] (gtk_settings_get_default): Rename from
gtk_settings_get_global().
* gtk/gtkwidget.[ch]: Add a function gtk_widget_Get_settings()
to get the appropriate GtkSettings for a widget. (For now,
just gets the default GtkSetttings.)
* gtk/gtkcolorsel.c gtk/gtkentry.c gtk/gtkmenu.c gtk/gtkmenubar.c
gtk/gtktextview.c gtk/gtktoolbar.c: Fixes for GtkSettings
changes.
* gtk/gtkrc.[ch]: Add gtk_rc_get_style_by_paths() to allow
getting a style for a path without actually having a widget.
(Allows using a style for a subpart of a widget, for
example.)
* gtk/gtkrc.[ch]: Add gtk_rc_reparse_all_for_setting() to allow forcing
the RC files to be reloaded for just one GtkSettings
(not sure how useful this really is.)
* gtk/gtkrc.h: Deprecate
gtk_rc_add_widget_name/widget_class/class_style
2001-06-28 Havoc Pennington <hp@pobox.com>
* gdk/x11/gdkimage-x11.c (_gdk_x11_get_image): Clip the retrieved
image data to the screen, using a server grab to avoid race
conditions.
* gtk/gtkitemfactory.c (gtk_item_factory_create_item): remove
check for NULL return from gtk_image_new_from_stock(), it never
returns NULL.
(gtk_item_factory_create_item): fix bug where we parsed the stock
ID as an inline pixbuf
* gtk/gtktext.c (gtk_text_key_press): numeric keypad support
* gtk/gtkspinbutton.c (gtk_spin_button_key_press): numeric keypad
support (should be using binding set here)
* gtk/gtkoptionmenu.c (gtk_option_menu_key_press): numeric keypad
support (should be using binding set here)
* gtk/gtkmenushell.c (gtk_menu_shell_class_init): numeric keypad
support
* gtk/gtkmenu.c (gtk_menu_class_init): numeric keypad support
* gtk/gtkmenubar.c (gtk_menu_bar_class_init): numeric keypad
* gtk/gtklistitem.c (gtk_list_item_class_init): numeric keypad
* gtk/gtkimcontextsimple.c
(gtk_im_context_simple_filter_keypress): keypad
* gtk/gtkfilesel.c (gtk_file_selection_key_press): keypad
* gtk/gtkentry.c (gtk_entry_class_init): numeric keypad fixes
* gtk/gtkctree.c (gtk_ctree_class_init): numeric keypad support
* gtk/gtkcolorsel.c (palette_activate): keypad support (of course,
should be binding-setted)
* gtk/gtkwindow.c (gtk_window_class_init): numeric keypad fixes
* gtk/gtkclist.c (gtk_clist_class_init): numeric keypad fixes
* gtk/gtkcalendar.c: numeric keypad fixes
* gtk/gtktextview.c (gtk_text_view_class_init): numeric keypad
support
* gdk/gdkwindow.c (gdk_window_get_clip_region): fix infinite loop
screwup
* gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
clip the render area to the drawable's clip region in advance,
so we don't get data from the server that we don't need.
* gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
check return value of gdk_pixbuf_get_from_drawable(), fall back
to bilevel alpha if we can't get the pixbuf to composite against.
* gdk/gdkdraw.c (gdk_drawable_get_image): set the image colormap
* gdk/gdkimage.c (gdk_image_get_colormap): add
gdk_image_set_colormap, gdk_image_get_colormap
* gdk/gdkpixbuf-drawable.c (rgbconvert): Change all converters to
take a region of the image, instead of converting the entire
image.
* gtk/gtkwidget.h (struct _GtkWidgetClass): add show_help
keybinding signal. Add default bindings for it. Add default
handler for show_help that shows the tooltip for the widget.
* gtk/gtkdialog.c (gtk_dialog_class_init): add binding set and
"close" keybinding signal, remove key press handler.
* gtk/gtktooltips.c (gtk_tooltips_set_colors): Just remove this,
it's not our usual practice to leave a deprecated function around
with a runtime warning, plus we don't want it to appear in docs,
plus if we make them yellow no one will want to change them
anyhow.
2001-06-19 Havoc Pennington <hp@pobox.com>
* gdk/x11/gdkwindow-x11.c (gdk_window_show_unraised): new function
for mapping a window without fooling with stacking order, but
updating the "withdrawn" flag
* gdk/x11/gdkevents-x11.c (gdk_event_translate): Do event
filtering as soon as possible, moving move resize and wmspec_check
handling after the event filter. Make default filter apply to all
events, not just those with no GdkWindow wrapped around the X
window. Fix a FIXME about how the window could be a pixmap using
RTTI; this of course assumes GDK_IS_WINDOW() is optimized.
Also, be robust against events not on a known GdkWindow.
* gdk/x11/gdkmain-x11.c (gdk_x11_grab_server,
gdk_x11_ungrab_server): export reference-counted server grabs, so
other people can grab server over a GDK function that also does
so.
Sun Jun 24 11:29:35 2001 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkimage-x11.c (gdk_image_new): Fix stupid error
introduced last night that was making things decidedly not work.
* gtk/*.[ch]: Patch from Kristian Rietveld adding 80 getters
so that we have getter/setter pairing everywhere it makes
sense. (#55767)
* gtk/gtkradiobutton.[ch] gtk/gtktoolbar.c tests/testgtk.:
Rename gtk_radio_button_group to gtk_radio_button_get_group, add a
deprecated compat macro. (#55516)
* gtk/gtklabel.[ch]: Add functions
gtk_label_set/get_use_underline(), gtk_label_set/get_use_markup(),
gtk_label_set_label(), which mirror the property API for GtkLabel.
Make gtk_label_get_attributes() only reflect the attributes
set by gtk_label_set_attributes.
* gtk/gtknotebook.c (gtk_notebook_set_current_page) gtk/gtkcompat.h: Rename
from gtk_notebook_set_page().
Sat Jun 23 18:02:46 2001 Owen Taylor <otaylor@redhat.com>
* configure.in: Fix tests for XShm.h.
* gdk/x11/gdkimage-x11.c: Cleanup error handling in
gdk_image_new() by use of goto, properly use g_object_unref().
Sat Jun 23 22:03:20 2001 Tim Janik <timj@gtk.org>
* gdk/x11/gdkimage-x11.c (gdk_image_init): disabled g_free (image)
calls, as GdkImage is an object. these should be g_obejct_unref()
instead but that won't work because of the g_error() statement
in gdk_x11_image_destroy(). so for now, i did s/g_free/LEAK_IMAGE/
to spot these places.