+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.
+
+ * gtk/gtk.def: Remove obsolete entries.
+
+Fri Nov 15 19:12:56 2002 Jonathan Blandford <jrb@gnome.org>
+
+ * gtk/gtksettings.c: Allow g_object_set to work with GtkSettings.
+
+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.
+
+ 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.
+
+Thu Nov 14 14:58:21 2002 Owen Taylor <otaylor@redhat.com>
+
+ * gdk/x11/gdkwindow-x11.c (gdk_window_set_icon_name):
+ Fix display/window typo. (#98511, Soeren Sandmann)
+
+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 13:50:25 2002 Eric Warmenhoven <warmenhoven@yahoo.com>
+
+ * gdk/linux-fb/gdkinput.c: add gdk_display_get_devices to fix
+ compilation
+
+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)
+
+2002-11-13 Matthias Clasen <maclas@gmx.de>
+
+ * 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)
+
+Wed Nov 13 10:53:37 2002 HideToshi Tajima <hidetoshi.tajima@sun.com>
+
+ * 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.
+
+Tue Nov 12 17:10:10 2002 Owen Taylor <otaylor@redhat.com>
+
+ * 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. (Well, that is in the stable branch, I
+ haven't really tested HEAD. Only checked that gdk/win32 compiles.)
+
+ 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 16:51:04 2002 Owen Taylor <otaylor@redhat.com>
+
+ * gtk/gtkinputdialog.c: Make multihead aware (#80283)
+
+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