Wed Nov 20 19:29:50 2002 Kristian Rietveld <kris@gtk.org>
* gtk/gtkrbtree.c (gtk_rbtree_reorder_sort_func): return a value
in the range of [-1, 1] instead [0, 1],
(gtk_rbtree_reorder_invert_func): ditto,
This makes treeview reordering working on platforms as FreeBSD and
solaris, thanks go to Heiner Eichmann for finding this out and
sending in a patch (#98251).
Wed Nov 20 19:27:07 2002 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreestore.c (node_free): only free the data list if
node->data is not NULL,
(gtk_tree_store_remove): free the data list from the node if
needed. (#94728, pointed out by Peter Bloomfield).
Wed Nov 20 19:23:13 2002 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreeview.c (gtk_tree_view_remove_column): stop editing
and set the edited_column to NULL if edited_column is set.
(#91288, modified patch from Josh Parsons).
Wed Nov 20 19:20:34 2002 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreeview.c (gtk_tree_view_size_allocate): do a full
redraw if vadjustment->value is bigger than tree_view->priv->height,
(gtk_tree_view_row_deleted): free the row ref if it isn't valid
anymore. (#83726, reported by Robert Kinsella).
Tue Nov 19 17:05:51 2002 Manish Singh <yosh@gimp.org>
* gtk/Makefile.am: add -DGTK_DISABLE_DEPRECATED. #undef it at the
top of gtktypebuiltins.c.
* gtk/gtkclist.c
* gtk/gtkcombo.c
* gtk/gtkctree.c
* gtk/gtklist.c
* gtk/gtklistitem.c
* gtk/gtkoldeditable.c
* gtk/gtkpixmap.c
* gtk/gtkpreview.c
* gtk/gtksignal.c
* gtk/gtktext.c
* gtk/gtktipsquery.c
* gtk/gtktree.c
* gtk/gtktreeitem.c
* gtk/gtktypeutils.c: #undef GTK_DISABLE_DEPRECATED, deprecated widgets
and compat code.
* gtk/gtkcolorsel.c: move gtk_color_selection_set_color implementation
to set_color_internal, and use that. The deprecated function now
merely wraps it.
* gtk/gtkfontsel.c: same as above, except with
gtk_font_selection_get_font.
* gtk/gtknotebook.c: same as above, except with
gtk_notebook_set_homogeneous, and gtk_notebook_set_tab_{border,
hborder,vborder}.
* gtk/gtkprogressbar.c: same as above, except with
gtk_progress_bar_set_{bar_stype,discrete_blocks,activity_step,
activity_blocks}.
* gtk/gtkstyle.c: same as above, except with gtk_style_get_font.
* gtk/gtkwidget.c: same as above, except with gtk_widget_set_usize.
* gtk/gtkitemfactory.h: declare compatibility functions for deprecated
GtkMenuFactory stuff if GTK_COMPILATION, since they are used
internally by the compat code.
* gtk/gtkitemfactory.c (gtk_item_factory_create_item): remove
use of deprecated gtk_check_menu_item_set_show_toggle (it is a noop
now).
* gtk/gtkmain.c: replaced deprecated GTK_TYPE_* with G_TYPE_*.
* gtk/gtkobject.c: replaced various deprecated functions. In set and
get_property, use g_object_{set,get}_data with "user_data" instead
of gtk_object_{set,get}_user_data.
* gtk/gtkprogress.h: API declared if GTK_COMPILATION
* gtk/gtkprogress.c: port get_type to GObject API.
* gtk/gtktypeutils.h: declare GtkArg stuff and gtk_type_init,
if GTK_COMPILATION.
* gtk/gtkwidget.c: define gtk_widget_queue_clear in terms of
gtk_widget_queue_draw instead of the other way around.
* tests/Makefile.am: define -DGTK_DISABLE_DEPRECATED
* tests/testgtk.c
* tests/testselection.c
* tests/testsocket.c: #undef GTK_DISABLE_DEPRECATED, makes use of
deprecated stuff.
* tests/testgtk.c (do_bench):
(do_real_bench):
(bench_iteration): Add a dummy widget and pass it as first
argument to the various create functions when in --bench mode,
since these call gtk_widget_get_screen () on their first argument.
Tue Nov 19 00:45:34 2002 Kristian Rietveld <kris@gtk.org>
* docs/RELEASE-HOWTO: new file describing the release process.
* docs/Makefile.am: added RELEASE-HOWTO to EXTRA_DIST.
Mon Nov 18 20:42:27 2002 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreeview.c (gtk_tree_view_expand_to_path): modify and
free tmp instead of path ... (patch from #97927).
Mon Nov 18 20:31:20 2002 Kristian Rietveld <kris@gtk.org>
* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_start_editing):
only _set_text if celltext->text is not NULL. (#97815, reported
and testcase provided by Vitaly Tishkov).
Mon Nov 18 20:28:28 2002 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreeselection.c (gtk_tree_selection_real_modify_range):
also update the anchor_path, makes behaviour consistent with the
other selection modification functions. (#96801, reported and
testcase provided by Vitaly Tishkov).
Mon Nov 18 20:17:56 2002 Kristian Rietveld <kris@gtk.org>
Hrm, this fixes up lots of mistakes in my swap/move code ... Some
of these mistakes where pointed out by Vitaly Tishkov in bugs
#97403, #97404, #97412, #97618.
* gtktreestore.[ch]: gtk_tree_store_move is now private, use
gtk_tree_store_move_{before,after} instead now. Lots of fixes
(more like a rewrite :) in the _move and _swap functions.
* gtkliststore.[ch]: likewise.
2002-11-18 Abigail Brady <morwen@evilmagic.org>
* gtk/gtkimmodule.c: (_gtk_im_module_list): Sort the list of Input
Modules by name, keeping Default at top.
Sun Nov 17 10:49:28 2002 Jonathan Blandford <jrb@gnome.org>
* gtk/gtksettings.c (gtk_settings_get_property): remove bogus
gvalue initialization/freeing.
2002-11-16 Tor Lillqvist <tml@iki.fi>
* gdk/gdk.def: Add missing entries, needed by gtk.
* gdk/win32/gdkcolor-win32.c (gdk_screen_get_system_colormap):
Remove g_return_val_if_fail call. This function is called from
gdk_display_open() with the _gdk_screen it just created, but when
gdk_screen_get_default() still returns NULL.
* gdk/win32/gdkdisplay-win32.c
* gdk/win32/gdkscreen-win32.c: Make more like the linux-fb
versions. For instance, don't call
gdk_display_manager_set_default_display() from gdk_display_open().
* gdk/win32/gdkglobals-win32.c: Move _gdk_display, _gdk_screen and
_gdk_parent_root here.
* gdk/win32/gdkinput.c (gdk_display_list_devices): New function.
* gdk/win32/gdkmain-win32.c (gdk_get_display): New function.
* gdk/win32/gdkvisual-win32.c (gdk_screen_get_system_visual):
Don't require that the screen parameter is non-NULL. It can be,
and the linux-fb version doesn't check either.
* gdk/win32/gdkwindow-win32.c (gdk_window_set_skip_taskbar_hint,
gdk_window_set_skip_pager_hint, gdk_window_fullscreen,
gdk_window_unfullscreen): Implement as no-ops.
2002-11-15 Tor Lillqvist <tml@iki.fi>
* gdk/gdk.def: Reflect recent renamings and removals of functions.
Merge from stable:
Start implementing all fill styles (i.e. tiled, stippled, and
opaque stippled in addition to the plain solid style) in the Win32
backend in an elegant and generic way. For now only did the
draw_rectangle() and draw_glyphs() methods. The rest will
follow. Previously some of the drawing methods implemented opaque
stippling, but not tiles or non-opaque stippling.
Seems to work fine, now the check marks show up in check buttons,
the stippled background and stippled text in gtk-demo's Text
Widget look as they should, and GtkText's line wrap arrow shows
correctly instead of an ugly rectangle. [This refers to the stable
branch, haven't actually checked HEAD.]
The implementation does do a lot of pixmap handling and blitting
back and forth, especially on Win9x. But performance is hopefully
not an issue. I don't think many applications do a lot of tiled or
stippled drawing.
* gdk/win32/gdkprivate-win32.h: Define a new macro, GDI_CALL, that
calls a GDI function and prints a warning if it failed. Also
API_CALL for non-GDI calls. Cleans all the the if (!BlaBla())
WIN32_GDI_FAILED ("BlaBla") snippets, these can now be written
GDI_CALL (BlaBla, ()). Declare new functions.
* gdk/win32/gdkdrawable-win32.c: Use GDI_CALL macro in lots of places.
(generic_draw): New function that handles all the blitting
necessary to implement tiles and stipples. A function that
actually draws stuff is passed as a parameter to
generic_draw(). If the fill style is solid, it is called
directly, to draw on the destination drawable. Otherwise it is
called to draw on a temporary mask bitmap, which then is used in
blitting operations. The tiles and/or stipples are rendered into
another temporary pixmap. If MaskBlt() is available (on NT/2k/XP),
it is used, otherwise a sequence of BitBlt() is used to do the
final composition onto the destination drawable.
(draw_tiles_lowlevel, draw_tiles): Some renaming and code
reorg. Use BitBlt() to blit each tile, not gdk_draw_drawable().
(rop2_to_rop3): New function, does binary->ternary rop mapping.
(blit_from_pixmap, blit_inside_window, blit_from_window): Use
rop2_to_rop3(). Previously used SRCCOPY always...
(draw_rectangle, gdk_win32_draw_rectangle, draw_glyphs,
gdk_win32_draw_glyphs): Split functionality into two functions,
with generic_draw() doing its magic inbetween.
* gdk/win32/gdkevents-win32.c: Remove the TrackMouseEvent code, it
was ifdeffed out and wouldn't have done anything even if
enabled. Remove the GDK_EVENT_FUNC_FROM_WINDOW_PROC code, didn't
have any effect any more anyway after all the changes GTK+ has
gone through in the last years. Remove some #if 0 code.
* gdk/win32/gdkgc-win32.c (gdk_gc_copy): Set the copy's hdc field
to NULL in case a GC is copied while it has a Windows DC active.
* gdk/win32/gdkprivate-win32.h
* gdk/win32/gdkglobals-win32.c: Remove gdk_event_func_from_window_proc.
* gdk/win32/gdkmain-win32.c: Remove -event-func-from-window-proc
option. If there is a PRETEND_WIN9X envvar, set windows_version as
if on Win9x.
* gdk/win32/gdkpixmap-win32.c (_gdk_win32_pixmap_new,
gdk_pixmap_new): Combine these two, _gdk_win32_pixmap_new() wasn't
used or exported. Make a bit more like the X11 version. Hopefully
I didn't break the fragile palettized display ("pseudocolor")
code.
* gdk/win32/gdkgc-win32.c: Various debugging output improvements.
(predraw_set_foreground): Check whether
tile/stipple origins are valid when calling SetBrushOrgEx().
(gdk_win32_hdc_get): Ifdef out code that tries to handle the
stipple by converting it into a region, and combining the clip
region with that. A stipple shouldn't work like that, it should
replicate in x and y directions. Stipples are now handled by
generic_draw() in gdkdrawable-win32.c.
* gdk/win32/gdkmain-win32.c: (gdk_win32_gcvalues_mask_to_string,
gdk_win32_rop2_to_string): New debugging functions.
(gdk_win32_print_dc): Print also DC's rop2 and text color.
Fri Nov 8 18:04:16 2002 Owen Taylor <otaylor@redhat.com>
* gdk/{linux-fb,win32,11}/Makefile.am: Try a different
hack to force gdkenumtypes.h to be updated before
building the subdir, last hack caused contents
to be rebuilt on every make.
Wed Nov 13 21:45:36 2002 Manish Singh <yosh@gimp.org>
* gtk/gtkhsv.c: get rid of deprecated gdk_rgb_gc_set_foreground
usage in favor of gdk_gc_set_rgb_fg_color.
Thu Nov 14 00:33:26 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkmenu.c (attach_widget_screen_changed): Monitor
the screen of the attach widget continually, rather than only
setting the screen only on popup (#85710)
* gtk/gtkmenu.c (gtk_menu_set_screen): Allow %NULL to
go back to getting the screen from the attach widget.
Wed Nov 13 17:03:19 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkcombo.c: Change so that updates of selection
don't take effect immediately, but only when popdown
is closed with a button release within the combo
or Return/Enter.
* gtk/gtkcombo.c: Support Alt-Down to pop down the
combo, Alt-Up to pop it back up, Space to immediately
select current item.
* gtk/gtkcombo.c (gtk_combo_entry_key_press): Don't
move the focus when we get to the ends of the list
entries.
* gtk/gtkcombo.c: Fix handling of state in ad-hoc
keybinding handling to be a bit more reasonable.
* gtk/gtkcombo.c (gtk_combo_popup_list): Clear
last_focus_child when no item is selected so we
don't start focusing from some random place.
* gtk/gtkcombo.c (gtk_combo_init): Make
gtk_combo_set_use_arrows_always, enable_arrows_always
properties have no effect, they were an awful idea.
Always behave as if enable_arrows_always is true.
* gtk/gtknotebook.c: Fix a warning.
Wed Nov 13 15:52:53 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkcombo.c (gtk_combo_activate): Fix warning.
* gtk/gtkcombo.c: Fix code that was meant to delay
grabbing events on the list until we had an enter-notify.
(#54353, reported by Mike Fulbright, others)
* gtk/theme-bits/decompose-bits.c (do_part): Add a const here.
* gtk/gtkcolorsel.c:
* gtk/gtkimcontextsimple.c:
* gtk/gtkstyle.c: Mark constant data as const to give the compiler
a chance to put it in a readonly section. (#75754)
* modules/input/gtkimcontextxim.c:
Fix#90661: add im_info->im switch at the top of setup_im() and
get_ic_real().
Fix#97674: make sure only one status window for the focused
input context should be shown.
Wed Nov 13 11:55:25 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtknotebook.c (gtk_notebook_button_press):
When clicking on a non-active tab, focus the first
widget in the tab, not the tab itself. (#98322)
* gtk/gtknotebook.c (gtk_notebook_focus_changed):
Eliminate synchronous drawing, just call redraw_tabs.
* gtk/gtknotebook.c (gtk_notebook_init): Don't set
the RECEIVES_DEFAULT flag, we no longer do anything
with Return/Enter key.
* gtk/gtkcombo.c: Fix up grabs to be robust; grab
the keyboard as well as the pointer so we won't
leave the window behind if the user switches desktops
with a keyboard combination. (Based on a patch
from Matthias Clasen, #82525)
Wed Nov 13 14:01:44 2002 Soeren Sandmann <sandmann@daimi.au.dk>
* gtk/gtkstyle.c:
- comment out check_inconsistent_aa_bits[].
- use fg/bg with a generated aa color to draw check and option
marks in menu items.
- use text/base to draw check and option buttons, except when
state is ACTIVE, in which case we use fg/bg with a generated
aa color.
* tests/testgtk.c (menu_items): Add three check items.
2002-11-12 Tor Lillqvist <tml@iki.fi>
* gdk/win32/gdkprivate-win32.h
* gdk/win32/*.c: Rename all global variables and functions to
start with underscore.
Merge from stable:
More work on the Win32 backend. The cause of some scrolling
problems was that SetWindowPos() and ScrollWindowEx() don't blit
those parts of the window they think are invalid. As we didn't
keep Windows's update region in synch with GDK's, Windows thought
those areas that in fact had been updated were invalid. Calling
ValidateRgn() in _gdk_windowing_window_queue_antiexpose() seems to
be an elegant and efficient solution, removing from Windows's
update region those areas we are about to repaint proactively.
In some cases garbage leftover values were used for the clip
origin in GdkGCWin32. This showed up as odd blank areas around the
pixmaps included in the Text Widget in gtk-demo.
Having the clip region either as a GdkRegion or a HRGN in
GdkGCWin32 was unnecessary, it's better to just use a HRGN.
The translation and antiexpose queue handling in
gdkgeometry-win32.c seems unnecessary (and not implementable in
the same way as on X11 anyway, no serial numbers) on Windows,
ifdeffed out.
Don't (try to) do guffaw scrolling as there is no static window
gravity on Windows. Guffaw scrolling would be unnecessary anyway,
as there is the ScrollWindow() API. This improves the behaviour of
the Text Widget demo in gtk-demo a lot. But I have no idea how the
lack of static win gravity should be handled in other places where
the X11 code uses it. Especially _gdk_window_move_resize_child().
There is still some problem in expose handling. By moving an
obscuring window back and forth over testgtk's main window, for
instance, every now and then you typically get narrow vertical or
horizontal strips of pixels that haven't been properly redrawn
after being exposed. A fencepost error somewhere?
Otherwise, all of testgtk and gtk-demo except "big windows" now
seem to work pretty well.
Bug #79720 should be fixed now.
* gdk/win32/gdkcolor-win32.c (gdk_win32_color_to_string,
gdk_win32_print_paletteentries, gdk_win32_print_system_palette,
gdk_win32_print_hpalette)
* gdk/win32/gdkdrawable-win32.c (gdk_win32_drawable_description)
* gdk/win32/gdkevents-win32.c (gdk_win32_message_name):
Move all debugging helper functions to gdkmain-win32.c.
* gdk/win32/gdkdrawable-win32.c (_gdk_win32_draw_tiles):
Rewrite. Make static. Must take tile origin parameters, too.
(gdk_win32_draw_rectangle): Pass the tile/stipple origin to
_gdk_win32_draw_tiles(). Remove #if 0 code.
(blit_inside_window): Don't call ScrollDC(), that didn't work at
all like I thought. A simple call to BitBlt() is enough.
* gdk/win32/gdkevents-win32.c (gdk_event_translate) Remove unused
latin_locale_loaded variable.
(_gdk_win32_get_next_tick): New function. Used to make sure
timestamps of events are always increasing, both in events
generated from the window procedure and in events gotten via
PeekMessage(). Not sure whether this is actually useful, but it
seemed as a good idea.
(real_window_procedure): Don't use a local GdkEventPrivate
variable. Don't attempt any compression of configure or expose
events here, handled elsewhere.
(erase_background): Accumulate window offsets when traversing up
the parent chain for GDK_PARENT_RELATIVE_BG, in order to get
correct alignment of background pixmaps. Don't fill with
BLACK_BRUSH if GDK_NO_BG.
(gdk_event_get_graphics_expose): A bit more verbose debugging output.
(gdk_event_translate): Use _gdk_win32_get_next_tick(). In the
WM_PAINT handler, don't check for empty update rect. When we get a
WM_PAINT, the update region isn't empty. And if it for some
strange reason is, that will be handled later anyway. Call
GetUpdateRgn() before calling BeginPaint() and EndPaint() (which
empty the update region).
* gdk/win32/gdkdnd-win32.c
* gdk/win32/gdkinput-win32.c:
Use _gdk_win32_get_next_tick().
* gdk/win32/gdkfont-win32.c: Use %p to print HFONTs.
(gdk_text_size): Remove, unused.
* gdk/win32/gdkgc-win32.c: Set clip origins to zero
when appropriate.
(gdk_gc_copy): Increase refcount on colormap if present.
(gdk_win32_hdc_get): Handle just hcliprgn. If we have a stipple,
combine it with clip region after selecting into the DC.
(_gdk_win32_bitmap_to_hrgn): Rename from _gdk_win32_bitmap_to_region.
(_gdk_win3_gdkregion_to_hrgn): New function, code snippet
extracted from gdk_win32_hdc_get().
* gdk/win32/gdkgeometry-win32.c: Ifdef out the translate_queue
handling.
(gdk_window_copy_area_scroll): Increase clipRect to avoid
ScrollWindowEx() not scrolling pixels it thinks are invalid.
Scroll also children with the ScrollWindowEx() call. No need to
call gdk_window_move() on the children.
(gdk_window_scroll): Don't do guffaw scrolling.
(gdk_window_compute_position): Fix typo, used win32_y where x was
intended.
(gdk_window_premove, gdk_window_postmove,
gdk_window_clip_changed): Add debugging output.
(_gdk_windowing_window_queue_antiexpose): Just call ValidateRgn()
on the region.
(_gdk_window_process_expose): No use for the serial number
parameter now. Instead of a rectangle, take a region parameter, as
Windows gives us one in WM_PAINT.
* gdk/win32/gdkmain-win32.c (_gdk_win32_lbstyle_to_string,
_gdk_win32_pstype_to_string, _gdk_win32_psstyle_to_string,
_gdk_win32_psendcap_to_string, _gdk_win32_psjoin_to_string,
_gdk_win32_rect_to_string, _gdk_win32_gdkrectangle_to_string,
_gdk_win32_gdkregion_to_string): New debugging functions.
(static_printf): Helper function for the above. sprintfs into a
static circular buffer, return value should be used "soon".
* gdk/win32/gdkwindow-win32.c (gdk_propagate_shapes): Plug memory
leak, free list after use.
(gdk_window_gravity_works): Remove, we know that there is no such
thing on Windows.
(gdk_window_set_static_bit_gravity,
gdk_window_set_static_win_gravity): Ditto, remove, they didn't do
anything anyway.
(_gdk_windowing_window_init, gdk_window_foreign_new): Call
_gdk_window_init_position() like in the X11 backend.
(gdk_window_reparent): Don't call the now nonexistent
gdk_window_set_static_win_gravity(). No idea what should be done
instead.
(gdk_window_get_geometry): The returned x and y should be relative
to parent. Used to be always zero..
(gdk_window_set_static_gravities): Return FALSE if trying to set
static gravity.
* gdk/win32/gdkprivate-win32.h: Drop the clip_region field from
GdkGCWin32. Only use the HRGN hcliprgn. Declare new
functions.
* gdk/win32/*.c: Use new debugging functions.
* gdk/win32/rc/gdk.rc.in: Update copyright year.
Tue Nov 12 15:13:58 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkwidget.c gtk/gtkwindow.[ch]: Add
_gtk_window_unset_focus_and_default(), use to clear
the focus and default out of parts of the widget
heirarchy that we are hiding.
* gtk/gtkwidget.c (gtk_widget_propagate_screen_changed_recurse):
Fix typo that was resulting in missed screen-change
notifies.
* gtk/gtkwindow.c (do_focus_change): Allow for
widget->window == NULL.
* gtk/gtklabel.c (gtk_label_screen_changed): Clear the
layout here not in hierarchy changed to handle the case
where the toplevel was moved between screens.
Tue Nov 12 14:20:53 2002 Soeren Sandmann <sandmann@daimi.au.dk>
* gtk/gtkmenu.c (gtk_menu_enter_notify): Do not return when
menu_shell->ignore_enter is TRUE.
* gtk/gtkstatusbar.c (gtk_statusbar_button_press): Don't start
a drag on double click. (#98189)
* tests/testgtk.c (grippy_button_press): Also test moving.
Sun Nov 10 22:55:39 2002 Soeren Sandmann <sandmann@daimi.au.dk>
* gtk/gtkmenu.c (gtk_menu_enter_notify): Don't return after
calling gtk_menu_handle_scrolling() when
!menu_shell->ignore_enter.
Sun Nov 10 21:29:03 2002 Soeren Sandmann <sandmann@daimi.au.dk>
* gtk/gtkcheckbutton.c (gtk_real_check_button_draw_indicator):
* gtk/gtkradiobutton.c (gtk_radio_button_draw_indicator)
Make sure check and option marks are drawn insensitive when the
widgets are insensitive.
(#92548, patch from Tim Evans)
Sun Nov 10 21:25:04 2002 Soeren Sandmann <sandmann@daimi.au.dk>
* gtk/gtkwidget.h (struct _GtkWidgetClass): Remove _gtk_reserved8
to restore binary compatibility.
Sat Nov 9 14:42:53 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkmenu.c (gtk_menu_button_*): Block
button presses/releases over the scroll arrows
to avoid popping down the menu. (#73444, Ettore Perazzoli)
* gtk/gtkmenu.c (gtk_menu_enter_notify): Obey the
ignore_enter flag for scrolling as well.
* gtk/gtkmenu.c (gtk_menu_stop_scrolling): Clear
the upper_arrow_prelight, lower_arrow_prelight
flags.
* gtk/gtkmenu.c: Tweak the scroll speeds,
timeouts, and fast-scroll area to make things
zippier. (#73445, Ettore Perazzoli)
Fri Nov 8 19:07:39 2002 Owen Taylor <otaylor@redhat.com>
* demos/Makefile.am (test-inline-pixbufs.h): Depend
on gdk-pixbuf.loaders as well as gdk-pixbuf.csource.
(#97096, Jeff Waugh)
* gdk/x11/gdkfont-x11.c (gdk_text_extents_wc):
(gdk_text_extents):
* gdk/gdkfont.c (gdk_string_extents): Reformulate doc comments to
work around gtk-doc limitations.
Fri Nov 8 18:04:16 2002 Owen Taylor <otaylor@redhat.com>
* gdk/{linux-fb,win32,11}/Makefile.am: Add in a awful
hack to force gdkenumtypes.h to be updated before
building the subdir. (#86587)
Fri Nov 8 17:49:54 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkwindow.c (gtk_window_check_screen): Access
window->screen through a function so we can provide
an informative warning window window->screen is NULL.
(#85703)
Fri Nov 8 17:08:54 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkwindow-x11.c (gdk_window_new): Use
g_get_application_name() instead of g_get_prgname()
as the default window title when set.
* gdk/x11/gdkwindow-x11.c gdk/x11/gdkdisplay-x11.[ch]:x
Set g_get_application_name() as the title for the
leader window the first time we create a window
pointing to it.
* tests/testgtk.c (main): Call g_set_application_name();
* configure.in (GDK_PIXBUF_VERSION): Require GLib-2.1.3
Fri Nov 8 21:15:25 2002 Soeren Sandmann <sandmann@daimi.au.dk>
* tests/Makefile.am: add testmenus.c, a program to test menus when
items are dynamically added and removed.
Thu Nov 7 18:50:38 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkwidget.c (gtk_widget_get_pango_context): Note
that get_pango_context() is not "until death does us
part", but "until the screen changes".
* gtk/gtkwidget.c (gtk_widget_create_pango_context): Add
a MULTIHEAD warning.
* gtk/gtkwidget.c (do_screen_change): Clear pango context
for widget if set.
Thu Nov 7 18:09:42 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkfilesel.c (open_new_dir): Escape invalid
filename before printing it out, since it isn't
a valid UTF-8 string. (#94676)
Thu Nov 7 17:18:06 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_pixbuf):
Don't try to use render if we can't get a picture for
the drawable. (Fixes#97220, reported by
Jamie Zawinski)
* gtk/gtkimage.c: Force requisition calculation
when we get a expose prior to size_request().
(#91711, reported by Sven Neumann, debugging
help from Matthias Clasen, Soeren Sandmann)
Thu Nov 7 16:45:54 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkx.h: Fix misplaced display_grab()/display_ungrab();
they shouldn't have been deprecated.
Thu Nov 7 15:42:12 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkfontsel.c (gtk_font_selection_get_font_description):
If called when fontsel->face is NULL, just return
"Sans 10". (#82745, Vitaly Tishkov)
Thu Nov 7 15:29:43 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkimcontextsimple.c (check_hex): Use '_'
not '-' in signal name to be consistent with
what we do elsewhere (#97151, TOKUNAGA Hiroyuki)
Thu Nov 7 14:24:45 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkhandlebox.c: Add a snap_edge_set property to
deal with the fact that we have an unset state for
the snap_edge property. (Reported by Matthias Clasen
#97505)
Thu Nov 7 12:53:08 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkwidget.[ch] gtk/gtkwindow.c gtk/gtkinvisible.c:
Add ::screen-changed signal.
* gtk/gtkfontsel.c gtk/gtktoolbar.c: Use ::screen-changed
signal to simplify logic.
Sun Nov 3 21:26:20 2002 Kristian Rietveld <kris@gtk.org>
Bah, and of course I broke something ...
* gtk/gtktreeselection.c (gtk_tree_selection_selected_foreach): fix
up the mess I caused with my commit of Oct 23 fixing #50263, things
should be fine now.
Sun Nov 3 13:03:29 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkfilesel.c configure.in: Remove check for
winsock.h since it might show up on Linux+Wine.
Instead just conditionalize of G_OS_WIN32.
(#97396, Gaute Lindkvist)
Sun Nov 3 01:39:20 2002 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreemodel.c (release_row_references): took out the useless
check for refs->list (#97353, reported by Morten Welinder).
* gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_get_size):
check if width isn't zero instead of calc_width ...
Sat Nov 2 23:48:52 2002 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreemodelsort.c (gtk_tree_model_sort_set_model): remove
the second ref command on the child_model, we only have to ref it
once here. (#96851, reported by Jorn Baayen).
Sat Nov 2 00:22:33 2002 Owen Taylor <otaylor@redhat.com>
Add startup notification hooks - mostly based on patch
by Havoc Pennington in #96772.
* gdk/gdk.h gdk/x11/gdkdisplay-x11.c
gdk/{win32,linux-fb}/gdkmain-*.c: (gdk_notify_startup_complete):
new function that indicates an application has finished starting
up.
* gdk/x11/gdkmain-x11.c gdk/x11/gdkdisplay-x11.c
(_gdk_windowing_set_default_display): store value of
DESKTOP_STARTUP_ID on the default screen, and clear it from the
environment.
* gdk/x11/gdkdisplay-x11.c:
Set _NET_STARTUP_ID hint on display's group leader window.
* gtk/gtkwindow.c (gtk_window_set_auto_startup_notification):
function to toggle whether we automatically broadcast that we've
started up, after mapping the first toplevel window.
(gtk_window_map): call gdk_screen_notify_startup_complete() by
default, unless enabled by above.
* gtk/gtkmain.c gtk/gtkcombo.c gtk/gtktoolbar.c:
Couple of warning fixes.
Fri Nov 1 21:03:59 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkfilesel.c: Add a mnemonic to the "selection"
label. (More of #74267)
* configure.in: Version 2.1.2
* NEWS: Updates.
Thu Oct 31 17:41:12 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtktooltips.c (gtk_tooltips_update_screen): Fix
from Nam SungHyun for crashes when tooltips->active_tips_data
is NULL.
Tue Oct 29 20:39:16 2002 Soeren Sandmann <sandmann@daimi.au.dk>
* gtk/gtkmenu.c: Change NAVIGATION_REGION_OVERSHOOT back to 50,
and create stay-up regions by flipping a fourth quadrant triangle
as appropriate.
2002-10-28 Tor Lillqvist <tml@iki.fi>
* gdk/win32/gdkwindow-win32.c (gdk_window_set_decorations,
gdk_window_set_functions): Don't call GetWindowLong for
GWL_EXSTYLE, the extended window style wasn't used or
changed. After setting the window style with SetWindowLong, call
SetWindowPos with the SWP_FRAMECHANGED flag for the window to
actually be updated, as Platform SDK docs say one should. (#95812,
huzheng)
Sun Oct 27 15:58:30 2002 Kristian Rietveld <kris@gtk.org>
This fixes a scrolling bug. Shouldn't cause problems, but you
never know ... (#81627, testcase by Timo Sirainen).
* gtk/gtktreeview.c (validate_visible_area): add a temporary
implemention for non use_align, always update dy and ->top_row
if we scroll here,
(gtk_tree_view_clamp_node_visible): reimplement using
_scroll_to_cell (#73895).
Sun Oct 27 11:41:37 GMT 2002 Tony Gale <gale@gtk.org>
* docs/tutorial/gtk-tut.sgml:
minor cleanups, remove refs to gtk_menu_append
*docs/faq/gtk-faq.sgml: remove ref to gtk_menu_append
Fri Oct 25 17:56:24 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtknotebook.c (gtk_notebook_switch_focus_tab):
Always switch to the page with the focused tab
label. (#82108, Matt Wilson.)
Fri Oct 25 17:46:18 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtknotebook.c (gtk_notebook_button_press):
Don't handle button 2/3 on the tabs. (#82118,
Matt Wilson.)
Fri Oct 25 17:32:44 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtktoolbar.c: Don't insert mnemonics for stock
items (#72918, reported by Mikael Hallendal)
Fri Oct 25 14:51:34 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkfilesel.c: Fix sensitivity of file operation
buttons and buttons inside fileop dialogs to update
properly based on the contents of the entries.
(#74267, based on part of a patch from Muktha
Narayan)
* gtk/gtkitemfactory.c (gtk_item_factory_create_item):
Warn if loading <ImageItem> image fails.
* tests/testgtk.c: Fix data for "apple" inline pixbuf
to be valid.
Fri Oct 25 18:17:39 2002 Soeren Sandmann <sandmann@daimi.au.dk>
* gtk/gtkpaned.[ch]: New GtkPaned keyboard navigation. (Shift-)F8
now cycles the available handles instead of toggling focus on and
off. Fixes#87160, reported by Calum Benson.
Fri Oct 25 10:50:37 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkitemfactory.c (gtk_item_factory_create_item):
Warn if loading <ImageItem> image fails.
* tests/testgtk.c: Fix data for "apple" inline pixbuf
to be valid.
Wed Oct 23 17:06:02 2002 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreemodel.c: s/NULL/0/ on the g_signal_emit lines to
fix up yesterdays commit (reported by Morten Welinder).
Tue Oct 22 20:02:22 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkcombo.c: When popping up the list without
any selected items, hack the focus on the list to
avoid triggering a bug in GtkList when clicking
on focused-but-not-selected items (#86700,
Zimler Attila, Matthias Clasen) and to keep
GtkWindow from selecting the first item.
* tests/testgtk.c (create_list): Make the initial
setting of the selection mode correspond to the option
menu.
Wed Oct 23 01:03:43 2002 Kristian Rietveld <kris@gtk.org>
Another feature to create truly ugly TreeViews!: style properties
for the even/odd colors used for row hinting. (#71595, reported
by Owen Taylor).
* gtk/gtktreeview.c (gtk_tree_view_class_init): add even_row_color
and odd_row_color style properties.
* gtk/gtkstyle.c (get_darkened_gc): support darken_count == 0 case,
(gtk_default_draw_flat_box): rework cell coloring code to support
user-provided even/odd row colors.
Wed Oct 23 01:01:52 2002 Kristian Rietveld <kris@gtk.org>
Cache signal IDs to speed up signal emission. This is a good speedup
because GtkTreeModel emits a big number of signals.
* gtk/gtktreemodel.c (gtk_tree_model_base_init): save IDs returned
by g_signal_new,
(gtk_tree_model_row_changed): use g_signal_emit instead of
g_signal_emit_by_name,
(gtk_tree_model_row_inserted): ditto,
(gtk_tree_model_row_has_child_toggled): ditto,
(gtk_tree_model_row_deleted): ditto,
(gtk_tree_model_rows_reordered): ditto.
Wed Oct 23 00:56:15 2002 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreeselection.c (model_changed): new function,
(gtk_tree_selection_selected_foreach): monitor changes in the model,
bail out if the model has been changed from the foreach func.
(#50263, reported by Havoc Pennington).
* gtk/gtktreeselection.c (_gtk_tree_selection_internal_select_node):
free anchor if applicable (#94868, reported and testcase provided by
Daniel Elstner).
Tue Oct 22 16:37:12 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtktooltips.c: Multihead safety fixes, handle
displays being closed. (#81651, based on patch
from Erwann Chenede)
* gtk/gtktoolbar.c (gtk_toolbar_init): Fix typo
from the last commit.
Tue Oct 22 15:55:08 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtktoolbar.c: Fix handling of getting the
default style/icon size from the correct
GtkSettings. (#82184, reported by Vitaly Tishkov,
help from Soeren Sandmann)
Tue Oct 22 15:32:31 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkwindow.c: Actively monitor the screen of the
parent. (#80281)
* gtk/gtkentry.c: Fix missing prototype from the
last commit.
Tue Oct 22 15:46:09 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkentry.c (gtk_entry_unrealize): Reset the
layout, since it holds a reference to the font on
a particular screen.
Tue Oct 22 15:03:41 2002 Owen Taylor <otaylor@redhat.com>
* gtk/fnmatch.h: When compiling our on fnmatch.c,
#define fnmatch _gtk_fnmatch (#92890, Jacob Berkman)
Fri Oct 18 16:47:02 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkevents-x11.c (translate_key_event): Produce
C-m, not C-j for return. Handle Escape.
* gtk/gtkstatusbar.c (gtk_statusbar_get_type):
(gtk_statusbar_class_init): It is called GtkStatusbar, not
GtkStatusBar. This was changed accidentally during deprecation
cleanup and caused links in the API docs to break. (#96390)
Mon Oct 21 14:04:39 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkentry.c (gtk_entry_get_public_chars): Return
"" for entry->invisible_char == 0, otherwise N copies
of entry->invisible_char. (#95486, Vitaly Tishkov)
* gtk/gtkentry.c: Fix a bunch of places where entry->text
instead of layout->text was being used for computation
of offsets/indices in the layout. Using layout->text
is necessary because when the entry is invisible, it
doesn't correspond to entry->text.
Sun Oct 20 23:58:03 2002 Soeren Sandmann <sandmann@daimi.au.dk>
* gtkmenu.c, gtkmenubar.c, gtkmenuitem.c, gtkmenushell.c,
gtkmenushell.h, gtkmenushell.h
- make the delay before submenus appear below menu bars a
GtkSetting
- make the delay before submenus pops up a GtkSetting
- make the stay up triangle slightly larger
- don't pop up the first submenu immediately.
- make the default delay for submenus 225 ms, and 0 for menubars.
- make the default delay before popping down inside the stay-up
triangle 1000 ms
Fixes#74950
Sun Oct 20 14:58:02 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkscrolledwindow.c (gtk_scrolled_window_class_init):
Add a scrollbar_spacing style property (#81396, based
on a patch from Anders Carlsson)
Fri Oct 18 15:38:50 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkprogressbar.c (gtk_progress_bar_set_text):
Reset use_text_format to %TRUE for a %NULL text string.
(#94157, once again).
Thu Oct 17 17:17:05 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkcheckbutton.c (gtk_check_button_size_request):
Fix use of uninitialized variable.
Thu Oct 17 14:38:37 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkaccellabel.c (gtk_accel_label_expose_event):
Align the baseline of the accelerator label with the
first baseline of the main label of the menu item. (#76593)
Wed Oct 16 18:25:24 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkevents-x11.c (translate_key_event):
Use gdk_keymap_translate_keyboard_state() rather than
XLookupString() to get the keysymbol, since XLookupString
can confuse the input method handling. (#93575)
* gdk/x11/gdkkeys-x11.c: Rewrite the handling of
key translation for the non-XKB case to properly
handle Shift_Lock, Caps_Lock, Num_Lock according
to the Xlib spec. (#67066)
2002-10-16 Havoc Pennington <hp@redhat.com>
* gdk/x11/gdkscreen-x11.c (gdk_screen_get_monitor_geometry): add
g_return_if_fail for monitor number <= 0
* gtk/gtkmenu.c (gtk_menu_position): handle case where pointer
is outside the screen.
* gtk/gtkwindow.c (get_monitor_center): factor out
the code to position a window in center
(gtk_window_compute_configure_request): use here
(gtk_window_constrain_position): use here, the
code here wasn't multihead-aware
* gdk/x11/gdkevents-x11.c (get_real_window): function to
return the window the event describes, rather than the window
that received the event.
(gdk_event_translate): use result of that function for
filling in GdkEvent::window, which only matters for
MapNotify/UnmapNotify and ConfigureNotify, in practice.
Unbreaks various things using SubstructureNotifyMask.
Thu Oct 17 16:13:28 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkcheckbutton.c gtk/gtkradiobutton.c: Make
the widgets work reasonably when they don't have
children -- draw the focus around the indicator,
and position the indicator symmetrically.
(#74830, Dave Camp)
* tests/testgtk.c: Add no-child portions to check and radio
button tests.
Thu Oct 17 22:09:05 2002 Soeren Sandmann <sandmann@daimi.au.dk>
* gtk/gtkmenu.c (gtk_menu_scroll_to): Take arrows into
account when clamping the offset. Fixes#95758.
Tue Oct 15 17:25:47 2002 Owen Taylor <otaylor@redhat.com>
* modules/input/gtkimcontextxim.c (get_im): Don't use
connect_swapped() when the function being connected
has a non-swapped signature.
Tue Oct 15 09:54:54 2002 Owen Taylor <otaylor@redhat.com>
* modules/input/gtkimcontextxim.c (get_im): Initialize
info->ics to NULL. (Hidetoshi Tajima.)
* modules/input/gtkimcontextxim.c (status_window_get):
Call set_resizable on the window, not on the structure.
Tue Oct 15 00:53:14 2002 Kristian Rietveld <kris@gtk.org>
Behaviour change, apply changes if the entry of the editable gets
a focus out event (#82405).
* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_focus_out_event):
new function,
(gtk_cell_renderer_text_start_editing): stop editing and apply
changes on focus-out.
Tue Oct 15 00:47:35 2002 Kristian Rietveld <kris@gtk.org>
Fixes an *evil* GtkTreeModelSort bug, #93629.
* gtk/gtktreemodel.c (release_row_references): return if the
refs->list is NULL.
* gtk/gtktreemodelsort.c (gtk_tree_model_sort_row_changed): if we
are swapping two rows (re-insertion on row_changed), also *emit*
a rows_reordered signal. oops.
Tue Oct 15 00:45:03 2002 Kristian Rietveld <kris@gtk.org>
* gtk/gtkliststore.c (gtk_list_store_remove_silently): free
the actual link after the node has been removed (#92014).
* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_column_finalize):
free the cell_list and the child if the exists (#92014).
Tue Oct 15 00:40:25 2002 Kristian Rietveld <kris@gtk.org>
Don't accept drops if the model has been sorted, #93758)
* gtk/gtkliststore.c (gtk_list_store_row_drop_possible): return
FALSE if the list has been sorted.
* gtk/gtktreestore.c (gtk_tree_store_row_drop_possible): check
if drag_dest is a TreeStore, return FALSE if the tree has been
sorted.
Tue Oct 15 00:33:59 2002 Kristian Rietveld <kris@gtk.org>
Compiler warning fixage, (#85858, #85859, #85860, #85872)
* gtk/gtkcellrendererpixbuf (gtk_cell_renderer_pixbuf_render):
s/guint/GtkCellRendererState/.
* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_render):
ditto.
* gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render),
(gtk_cell_renderer_toggle_activate): ditto.
* gtk/gtkliststore.c (gtk_list_store_get_flags): a
s/guint/GtkTreeModelFlags/ on the return type.
Mon Oct 14 15:10:34 2002 Owen Taylor <otaylor@redhat.com>
* modules/input/gtkimcontextxim.c:
- Make GtkXIMInfo structures per-screen (they were
a mix between per-display and per-context before)
- Make signal connections info->settings one-per-info
- Handle a GdkDisplay being closed, by destroying
all XIC, calling XCloseIM on the XIM. (#87482)
Sun Oct 13 12:29:15 2002 Manish Singh <yosh@gimp.org>
* gtk/gtkcolorsel.[ch] gtk/gtkcombo.[ch] gtk/gtkplug.[ch]
gtk/gtksocket.[ch] gtk/gtktreeview.[ch] gtk/gtktreeviewcolumn.[ch]:
Deprecation cleanup
* gtk/gtkcolorseldialog.c: make window not resizable (lost
accidently in the previous cleanup)
Sun Oct 13 20:20:51 2002 Soeren Sandmann <sandmann@daimi.au.dk>
* gtk/gtktooltips.c (gtk_tooltips_force_window): Make tooltip
window not resizable. Fixes#95675.
Sun Oct 13 17:41:53 2002 Soeren Sandmann <sandmann@daimi.au.dk>
* gtk/gtkwidget.c (gtk_widget_queue_clear_area): Don't invalidate
a widget if it or one of its ancestors isn't mapped.
Sat Oct 12 15:44:29 2002 Manish Singh <yosh@gimp.org>
* gtk/gtkitemfactory.c: use GTK_IS_RADIO_MENU_ITEM instead
of comparing the type directly. This handles possible subclasses
too. (Recommended by Tim Janik)
Thu Oct 10 14:35:31 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkscrolledwindow.[ch]: Privately export
_gtk_scrolled_window_get_scrollbar_spacing().
* gtk/gtkcombo.c: Properly account from scrollbar
spacing when computing the size of the popup window.
(#84955, Marco Pesenti Gritti)
Wed Oct 9 17:06:21 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkiconfactory.c (add_size_and_dir_with_fallback):
Add GO_FORWARD and GO_BACK with both left and right
arrows depending on the direction. (#92211,
Kenneth Christiansen)
* tests/testgtk.c (create_flipping): Add forward/back button
pairs in default, RTL, LTR configurations.
2002-10-09 Stanislav Brabec <sbrabec@suse.cz>
* gtk/gtkimcontextsimple.c: Added support for hungarian characters
(addition to bug #91258). Only via dead keys, because compose key
combinations in X are erratic.