+2003-08-11 Matthias Clasen <maclas@gmx.de>
+
+ * acinclude.m4: Copy newer versions of JH_CHECK_XML_CATALOG and JH_PATH_XML_CATALOG from
+ gtk-doc to enable configuring without xmlcatalog in PATH. (#119115)
+
+2003-08-10 Matthias Clasen <maclas@gmx.de>
+
+ * gtk/gtkwidget.h (struct _GtkWidget): Mark some members as public. (#119463)
+
+2003-08-09 Noah Levitt <nlevitt@columbia.edu>
+
+ * gdk/gdkevents.h:
+ * docs/reference/gdk/tmpl/windows.sgml: Elaborate a bit more in the
+ docs on GdkFilterFunc and GdkFilterReturn.
+
+2003-08-09 Matthias Clasen <maclas@gmx.de>
+
+ * gtk/gtkcalendar.c: Add and hook in gtk_calendar_scroll,
+ to let the mouse wheels select the month. Scrolling down
+ moves forward in time. (#53134, Abigail Brady)
+
+ * gtk/gtkcalendar.c: Complete the RTL flipping support for GtkCalendar, make it
+ possible to flip the headings using the "magic translated string" technique.
+ Translators, note the comment in gtk_calendar_init() explaining this. (#102416)
+
+ * gtk/gtkcalendar.c: Get the information about the first day of the week from
+ the locale using another instance of the "magic translated string" technique.
+ Ignore the display option GTK_CALENDAR_WEEK_START_MONDAY with a warning. (#87977)
+
+ * gtk/gtkcalendar.c: Add DND support to GtkCalendar. The selected date is dragged
+ as text, formatted via strftime %x. Text drops are accepted if g_date_set_parse()
+ can make sense of the text. A dedicated data format for date DND has not been
+ introduced yet, since there didn't seem to be sufficient consensus on such a format
+ on xdg-list. (#117297)
+
+2003-08-08 Matthias Clasen <maclas@gmx.de>
+
+ * gdk/gdkregion-generic.c (gdk_region_spans_intersect_foreach): Fix
+ a segfault. (#115284, Jan Kratochvil)
+
+2003-08-08 Tor Lillqvist <tml@iki.fi>
+
+ * gdk/win32/gdkevents-win32.c (print_event): Print also the root
+ coordinates for events that have such. Print coordinates for enter
+ and leave events.
+
+ (gdk_event_translate): Don't use event uninitialixed in the
+ return_exposes branch of the WM_PAINT handler.
+
+ * gdk/win32/gdkwindow-win32.c (gdk_window_new,
+ _gdk_windowing_window_get_pointer, _gdk_windowing_window_at_pointer):
+ Must offset top-level window coordinates here, too.
+
+2003-08-08 Matthias Clasen <maclas@gmx.de>
+
+ * demos/gtk-demo/appwindow.c (do_appwindow): Hide the resize grip when maximized or fullscreen.
+
+2003-08-07 Tor Lillqvist <tml@iki.fi>
+
+ * gdk/win32/gdkinput-win32.h
+ * gdk/win32/gdkinput-win32.c (_gdk_input_configure_event,
+ _gdk_input_enter_event): Drop the GdkEvent* parameter, it wasn't
+ used.
+
+ * gdk/win32/gdkevents-win32.c (gdk_event_translate): Adapt caller
+ accordingly, in fact an uninitialised variable was dereferenced.
+
+
+ [Win32] Add support for multiple monitors.
+
+ * gdk/win32/gdkprivate-win32.h
+ * gdk/win32/gdkglobals-win32.c: New global variables for
+ multiple-monitor info: _gdk_num_monitors, _gdk_monitors, and
+ _gdk_offset_x and _gdk_offset_y.
+
+ * gdk/win32/gdkdisplay-win32.c (count_monitor, enum_monitor): New
+ functions, enumeration functions passed to EnumDisplayMonitors().
+
+ (gdk_display_open): If the EnumDisplayMonitors() and
+ GetMonitorInfo() API is present (on Win98, Win2000 and newer), use
+ if to find out monitor info.
+
+ Calculate the offset between Win32 coordinates (relative to the
+ primary monitor's origin (and thus negative on monitors to the
+ left of or above it), and GDK's (visible coordinates should be
+ non-negative).
+
+ * gdk/win32/gdkscreen-win32 (gdk_screen_get_n_monitors,
+ gdk_screen_get_monitor_geometry): Use information collected above.
+
+ (gdk_window_move, gdk_window_move_resize_window_get_geometry):
+ Subtract _gdk_offset_{x,y} from GDK root window coordinates.
+
+ (gdk_window_get_geometry, gdk_window_get_origin,
+ gdk_window_get_frame_extents): For top-level windows, add
+ _gdk_offset_{x,y} to GDK root window coordinates
+
+ Still need to handle multiple monitors in
+ gdk_window_fullscreen(). Probably should make the window
+ fullscreen on the monitor where the cursor is?
+
+ * gdk/win32/gdkevents-win32.c: Add _gdk_offset_{x,y} to all GDK
+ root window coordinates in GdkEvents.
+
+
+ [Win32] Fix geometry hint handling. Add support for resize
+ increment and base size, and aspect ratio geometry hints. The
+ "gridded geometry" test in testgtk now works beautifully.
+
+ * gdk/win32/gdkwindow-win32.c (gdk_window_set_geometry_hints):
+ Turns out this function shouldn't actually ever modify the
+ window's size, just store the hints. (Old code kept for a while
+ inside #if 0.)
+
+ (gdk_window_set_hints): Remove presumably broken code that handles
+ the position hints, this function is obsolete anyway.
+
+ * gdk/win32/gdkevents-win32.c: Drop the current_{x,y}_root
+ variables, not used.
+
+ (adjust_drag): New function, used to implement resize increment
+ hints.
+
+ (gdk_event_translate): Handle WM_SIZING, implement resize
+ increment and base size, and aspect ratio geometry hints here. The
+ WM_GETMINMAXINFO handler takes care of the minimum and maximum
+ size hints as before. Fix the WM_GETMINMAXINFO handler to take
+ into account window decorations. No need to modify the
+ ptMaxPosition and ptMaxSize fields in the MINMAXINFO struct,
+ the defaults are fine.
+
+ * gdk/win32/gdkprivate-win32.h
+ * gdk/win32/gdkwindow-win32.c (_gdk_win32_adjust_client_rect,
+ _gdk_win32_get_adjusted_client_rect): New helper functions.
+
+2003-08-07 Matthias Clasen <maclas@gmx.de>
+
+ * gdk/x11/gdkevents-x11.c (gdk_check_wm_state_changed): Reset the toplevel->have_* flags before
+ iterating over the _NET_WM_STATE atoms. (#119217)
+
+Thu Aug 7 16:49:29 2003 Owen Taylor <otaylor@redhat.com>
+
+ * gtk/gtkwidget.c (gtk_widget_set_style_internal):
+ Fix a bug where on theme change, resize/redraw wasn't
+ properly getting queued on toplevel windows. (#116346,
+ Rajkumar Siva)
+
+ * gtk/gtkwidget.c (gtk_widget_invalidate_widget_windows):
+ Fix bug where wrong coordinates were used for toplevel
+ window.
+
+Thu Aug 7 16:40:21 2003 Owen Taylor <otaylor@redhat.com>
+
+ * gtk/gtknotebook.c (gtk_notebook_remove): Remove leftover
+ page_num variable (Archit Baweja)
+
+2003-08-07 Matthias Clasen <maclas@gmx.de>
+
+ * gtk/gtkspinbutton.c (gtk_spin_button_default_input): Use g_strtod() to cope with C libraries with
+ crippled locale support. (#115293)
+
+2003-08-07 Hans Breuer <hans@breuer.org>
+
+ * gdk/win32/gdkevents-win32.c : finally use TrackMouseEvent
+ (only if the new window not known to Gdk) to get proper
+ leave notification, and get rid of the wrong placed
+ tooltips, bug #102283
+
+ (gdk_event_translate) : small code reordering to not get
+ GDK_MOTION_NOTIFY for still mouse and get back tooltips on
+ menus, bug #117367
+
+2003-08-07 Tor Lillqvist <tml@iki.fi>
+
+ * gdk/gdk.def
+ * gdk/win32/gdkfont-win32.c (gdk_fontset_load_for_display): Add
+ missing function, trivially implement.
+
+2003-08-07 Matthias Clasen <maclas@gmx.de>
+
+ * gtk/gtkspinbutton.c (gtk_spin_button_default_input): Use g_strtod(), not strtod() to cope with
+ C libraries with crippled locale support. (#115293)
+
+ * gtk/gtkctree.c (draw_row): Don't cut descenders when rendering. (#118646, Charles Kerr)
+
+2003-08-06 Hans Breuer <hans@breuer.org>
+
+ * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_new) :
+ initialize bits to 0 (probably default on NT)
+
+ * gdk/win32/gdkwindow-win32.c (gdk_window_set_icon) :
+ now it works as intended ;-)
+
+2003-08-04 Hans Breuer <hans@breuer.org>
+
+ * gdk/win32/gdkwindow-win32.c(gdk_window_set_modal_hint) :
+ set HWND_NOTOPMOST for modal==FALSE, fixes bug #118435
+
+ * gdk/win32/gdkwindow-win32.c : implement gdk_window_[un]fullscreen
+ (gdk_window_{move,resize,move_rezize})) : noop if FULLSCREEN
+
+ * gdk/win32/gdkwindow-win32.c (gdk_window_set_icon) :
+ against all expectations it is basically ony a call with WM_SETICON
+ needed (the visual effect is there, though colors or mask are
+ still somewhat wrong).
+ * gdk/win32/gdkwindow-win32.h : place to store the HICON
+
+ * gdk/win32/gdkdrawabke.win32.c : readded the conditional end
+ pixel drawing as it was fixed at 1999-08-23
+
+ gtk/gtk.def : updated
+
+Tue Aug 5 10:07:08 2003 Owen Taylor <otaylor@redhat.com>
+
+ * gtk/gtkmessagedialog.c (gtk_message_dialog_get_property):
+ Add a missing break. (#119156, Callum McKenzie)
+
+Tue Aug 5 00:24:13 2003 Soeren Sandmann <sandmann@daimi.au.dk>
+
+ * gtk/gtkmenu.c (gtk_menu_position): New positioning
+ algorithm.(#116649)
+
+Fri Aug 1 15:26:46 2003 Soeren Sandmann <sandmann@daimi.au.dk>
+
+ * gtk/gtktoolbar.c, gtk/toolitem.c: add new "is_important"
+ property
+
+ * gtk/gtkradiotoolbutton.c
+ (gtk_radio_tool_button_new_from_widget): Don't take a stock id
+
+ * gtk/gtkradiotoolbutton.c
+ (gtk_radio_tool_button_new_with_stock_from_widget): make this
+ function take a stock_id.
+
+ * gtk/toolbar: documentation
+
+Mon Aug 4 14:53:46 2003 Owen Taylor <otaylor@redhat.com>
+
+ * gdk/x11/gdkimage-x11.c (_gdk_windowing_image_init):
+ Fix problem where use_xshm was getting set wrong if
+ MIT_SHM wasn't found. (George Lebel)
+
+2003-08-04 Tor Lillqvist <tml@iki.fi
+
+ * gdk/win32/gdkevents-win32.c (apply_filters): Fix braino:
+ actually use the passed-in filter list. The function also needs a
+ GdkWindow parameter, as filter functions expect
+ GdkEvent::any.window to be valid. (#119034, Hans Breuer)
+
+2003-08-03 Matthias Clasen <maclas@gmx.de>
+
+ * gdk/x11/gdkscreen-x11.c (gdk_screen_get_n_monitors):
+ (gdk_screen_get_monitor_geometry): Improve wording of the docs, avoid the
+ term "virtual screen". (#119030, Tor Lillquist)
+
+2003-08-02 Matthias Clasen <maclas@gmx.de>
+
+ * tests/testtext.c (test_init):
+ * tests/testgtk.c (test_init):
+ * tests/testdnd.c (test_init):
+ * demos/pixbuf-init.c (pixbuf_init):
+ * demos/gtk-demo/main.c (main): Use g_setenv().
+
+ * gdk/x11/gdkdisplay-x11.c (_gdk_windowing_set_default_display): Use g_unsetenv().
+
+Sat Aug 2 12:53:16 2003 Owen Taylor <otaylor@redhat.com>
+
+ * configure.in: Requires glib-2.3.0, pango-1.2.0.
+
+ * configure.in: Require Xft version 2,
+ remove code for handling older versions of pango and Xft.
+ Many miscellaneous improvements to X checks
+
+ * acinclude.m4: Add GTK_ADD_LIB() macro for adding
+ a library to a variable, avoiding dups.
+
+ * gdk/x11/gdkfont-x11.c (gdk_font_from_description_for_display):
+ Always load "fixed"
+
+ * gdk/x11/gdk*-x11.[ch]: Remove support for Xft1 and
+ for pangox.
+
+2003-08-02 Matthias Clasen <maclas@gmx.de>
+
+ * gtk/gtkcolorsel.c (color_sample_drop_handle)
+ (palette_drop_handle):
+ * gtk/gtkcolorbutton.c (gtk_color_button_drag_data_received): Accept drops with the
+ wrong format, since the KDE color chooser incorrectly drops application/x-color with
+ format 8. (#118810)
+
+ * gtk/gtkcolorsel.c (color_sample_drop_handle) (palette_drop_handle):
+ * gtk/gtkcolorbutton.c (gtk_color_button_drag_data_received):
+ Accept drops with the wrong format, since the KDE color chooser
+ incorrectly drops application/x-color with format 8. (#118810)
+
+2003-08-02 Tor Lillqvist <tml@iki.fi>
+
+ Fix gdk/win32 window geometry handling again. The window position
+ in a GDK_CONFIGURE event should be that of the client area, not of
+ the window decorations. (I was confused by the term "window
+ border" in X11. It does *not* mean the window manager
+ decorations. There are no X11-style window borders in Win32.)
+ Also, this time do take the geometry hints into account
+ appropriately when moving windows. Now testgtk's gravity test's
+ move buttons work OK. There are stil problems with taking gravity
+ into account when showing a hidden window.
+
+ * gdk/win32/gdkwindow-win32.h: Keep a whole GdkGeometry as hints
+ instead of separate fields.
+
+ * gdk/win32/gdkevents-win32.c (handle_configure_event): Don't
+ adjust for decorations.
+
+ * gdk/win32/gdkwindow-win32.c (get_outer_rect,
+ adjust_for_gravity_hints): New functions.
+ (gdk_window_move, gdk_window_resize, gdk_window_move_resize): Use
+ above functions, take geometry hints into account.
+ (gdk_window_set_geometry_hints): Size hints specicy client area,
+ not including decorations.
+
+Fri Aug 1 17:10:22 2003 Owen Taylor <otaylor@redhat.com>
+
+ * gtk/gtkfilesel.c (cmpl_completion_fullname): Always
+ return an absolute path (#115590), fix a problem where
+ you could crash the file selector with a looong name
+ by returning a newly allocated buffer.
+
+Fri Aug 1 16:44:51 2003 Owen Taylor <otaylor@redhat.com>
+
+ * gtk/gtkfilesel.c (update_cmpl): Fix obvious reallocation
+ bug in rarely or never hit code path (#118071,
+ Tor Lillqvist)
+
+Fri Aug 1 16:30:13 2003 Owen Taylor <otaylor@redhat.com>
+
+ * gdk/x11/gdkdrawable-x11.c (_gdk_x11_have_render):
+ If the check for missing depths, try actually creating pixmaps
+ of the depths to deal with Xinerama not reporting
+ all the depths it should. (#115822)
+
+Fri Aug 1 15:33:59 2003 Owen Taylor <otaylor@redhat.com>
+
+ * gtk/gtksocket.c: Patch from Denis Mikhalkin to
+ forward KeyRelease events as well as KeyPress events.
+ (#115597)
+
+Fri Aug 1 15:06:25 2003 Owen Taylor <otaylor@redhat.com>
+
+ * gdk/gdk.c (gdk_parse_args): g_set_prgname("<unknown>")
+ if argc is 0 as well, instead of leaving it unset.
+ (#116023, Michael Meeks)
+
+Thu Jul 31 23:09:02 2003 Soeren Sandmann <sandmann@daimi.au.dk>
+
+ * gtk/gtktoolbar.c (gtk_toolbar_class_init): make show_arrow
+ default to TRUE; ignore the property when api_mode != NEW_API
+
+2003-07-31 Matthias Clasen <maclas@gmx.de>
+
+ * gtk/gtkwindow.c (gtk_window_set_default_icon): Rename parameter pixbuf to icon, to
+ pacify gtk-doc.
+
+ * gtk/gtkwidget.c (gtk_widget_class_init): Fix formatting of drag-motion example.
+
+Thu Jul 31 15:33:33 2003 Soeren Sandmann <sandmann@daimi.au.dk>
+
+ * gtk/gtk*tool*.h: add padding to subclasses of GtkToolItem
+
+Thu Jul 31 15:29:28 2003 Soeren Sandmann <sandmann@daimi.au.dk>
+
+ * gtk/gtktoolitem.c (struct _GtkToolItemPrivate): remove unused
+ overflow_item field.
+
+Wed Jul 30 21:11:13 2003 Soeren Sandmann <sandmann@daimi.au.dk>
+
+ * gtk/gtktoolitem.h: make _gtk_tool_item_toolbar_reconfigured()
+ an internal function
+
+ * gtk/gtktoolitem.h: remove unused declaration of
+ _gtk_tool_item_get_drag_window().
+
+Wed Jul 30 17:03:58 2003 Soeren Sandmann <sandmann@daimi.au.dk>
+
+ * gtk/gtktoolbutton.[ch]:
+ (gtk_tool_button_new): swap icon_widget and label arguments to
+ match BonoboUIToolbarButton.
+
+ * gtk/gtktoolbar.h: un-deprecate gtk_toolbar_{set|unset}_style().
+
+2003-07-30 Matthias Clasen <maclas@gmx.de>
+
+ * gtk/gtkwidget.c (gtk_widget_class_init): Some updates to the DND signal docs.
+
+2003-07-29 Tor Lillqvist <tml@iki.fi>
+
+ Fix for #108007, #112402, #117042: There was confusion in
+ gdk/win32 at various places whether a window position refers to
+ the decoration position or the client area position. Also whether
+ window size includes decorations or not.
+
+ The correct interpretation apparently is that in GDK (like in
+ X11), a top-level window position means the decoration's position,
+ but size means the window's inner size (client area size). In the
+ Win32 API, the window size usually includes the decorations,
+ though.
+
+ * gdk/win32/gdkevents-win32.c (decode_key_lparam): Move inside
+ #ifdef G_ENABLE_DEBUG.
+ (handle_configure_event): New function, generates GDK_CONFIGURE
+ events from WM_SIZE and WM_MOVE messages. Even if no event is
+ generated because of the event mask, still set the private
+ position and size fields. Calculate position and size correctly.
+ (gdk_event_translate): Call handle_configure_event().
+
+ * gdk/win32/gdkgeometry-win32.c: Cosmetics.
+
+ * gdk/win32/gdkwindow-win32.c: Use GDI_CALL() and API_CALL()
+ macros. Cosmetic debugging output changes.
+ (SafeAdjustWindowRectEx): Remove. If an application wants to
+ locate a window outside of the screen, it's not GDK's business to
+ prevent it. And anyway, with multiple monitors, negative
+ coordinates are perfectly normal.
+ (gdk_window_new): Adjust the window size for decorations after
+ _gdk_window_init_position() has done its job. (But the big window
+ code currently is presumably broken on Win32 anyway.)
+ (gdk_window_move): The position passed in is supposed to be that
+ of the window border, so don't need to adjust for decorations.
+ (gdk_window_resize, gdk_window_move_resize): Simplify somewhat.
+
+Tue Jul 29 13:55:44 2003 Soeren Sandmann <sandmann@daimi.au.dk>
+
+ * gtk/gtktoolbar.c (gtk_toolbar_set_style,
+ gtk_toolbar_prepend_element, gtk_toolbar_append_element,
+ gtk_toolbar_insert_space, gtk_toolbar_prepend_space,
+ gtk_toolbar_append_space, gtk_toolbar_insert_item,
+ gtk_toolbar_prepend_item, gtk_toolbar_append_item,
+ gtk_toolbar_set_tooltips, gtk_toolbar_set_orientation,
+ gtk_toolbar_new, gtk_toolbar_prepend_item):
+
+ Move documentation inline from template files.
+
+ * gtk/gtktoolbar.c (gtk_toolbar_insert_element,
+ gtk_toolbar_insert_widget, gtk_toolbar_prepend_widget,
+ gtk_toolbar_append_widget, gtk_toolbar_remove_space,
+ gtk_toolbar_insert_stock, gtk_toolbar_unset_icon_size,
+ gtk_toolbar_get_icon_size, gtk_toolbar_set_icon_size,
+ gtk_toolbar_get_tooltips, gtk_toolbar_unset_style,
+ gtk_toolbar_get_style, gtk_toolbar_get_orientation)
+
+ Copy documentation from stable that was added after the EggToolbar
+ branched.
+
+ * gtk/gtktoolbar.h: deprecate gtk_toolbar_unset_icon_size()
+
+Mon Jul 28 18:21:34 2003 Soeren Sandmann <sandmann@daimi.au.dk>
+
+ * gtk+/docs/: Commit autogenerated changes, so patches will make
+ sense.
+
+2003-07-27 Tor Lillqvist <tml@iki.fi>
+
+ * gdk/win32/gdkevents-win32.c (build_key_event_state): On Win9x,
+ the keyboard state returned by GetKeyboardState() doesn't
+ distinguish between the left and right Control and Alt keys. Thus
+ we cannot detect AltGr (which is supposed to be left Control +
+ right Alt) the same way as on NT-based systems, but have to accept
+ either Control + either Alt as AltGr.
+
+2003-07-27 Matthias Clasen <maclas@gmx.de>
+
+ * gtk/gtktreeselection.c (gtk_tree_selection_selected_foreach):
+ Fix function name in warning message. (#118156, Tim-Philipp
+ Müller)
+
+ * gtk/gtkcellrenderer.c (gtk_cell_renderer_get_property):
+ is-expander and is-expanded are boolean properties, not ints.
+ (#118359, Josh Parsons)
+
+Sat Jul 26 15:21:27 2003 Soeren Sandmann <sandmann@daimi.au.dk>
+
+ * gtk/gtkimagemenuitem.c
+ (gtk_image_menu_item_toggle_size_request): don't request
+ toggle_space when the image width is 0.
+
+2003-07-25 Tor Lillqvist <tml@iki.fi>
+
+ * gdk/win32/gdkprivate-win32.h
+ * gdk/win32/gdkglobals-win32.c: New flags _gdk_input_locale_is_ime
+ and _gdk_keyboard_has_altgr.
+
+ * gdk/win32/gdkevents-win32.c: Lots of changes. Most important
+ ones detailled here.
+
+ Code that has been ifdeffed out for a long time removed. Remove
+ some really old doc comments that were left behind for some public
+ functions, the official ones are in the X11 backend anyway. Change
+ GDK_WINDOW_OBJECT() calls to GdkWindowObject casts. Reformat
+ multi-line boolean expressions to have the operators at ends of
+ lines.
+
+ As mouse capture with SetCapture() indeed seems to work OK, no
+ need to have the correspoinding macro USE_SETCAPTURE and ifdefs.
+
+ Ifdef out the gdk-ping-msg stuff. I don't remember why it was
+ needed at some time, and things seem to work fine now without
+ (knock on wood).
+
+ Ifdef out the search for some Latin locale keyboard layout being
+ loaded. Not used currently, but might be needed after all, if we
+ decide that we want to be able to generate ASCII control character
+ events with a non-Latin keyboard.
+
+ (assign_object): New helper function, handles the g_object_ref()
+ and unref() calls when assigning GObject pointers.
+
+ (generate_crossing_events): Also generate the GDK_NOTIFY_INTERIOR
+ enter event when the pointer has moved to an ancestor window. Was
+ left out by mistake.
+
+ (gdk_window_is_ancestor): Renamed from gdk_window_is_child().
+
+ (gdk_pointer_grab, gdk_pointer_ungrab): Implement the confine_to
+ functionality, using ClipCursor().
+
+ (find_window_for_mouse_event): Splice part of code into new
+ function find_real_window_for_grabbed_mouse_event().
+
+ (fixup_event, append_event, apply_filters): New functions, code
+ refactored out from elsewhere.
+
+ (synthesize_enter_or_leave_event, synthesize_leave_event,
+ synthesize_enter_event,
+ synthesize_leave_events,synthesize_enter_events): Also take a
+ GdkCrossingMode parameter, in preparation to generating
+ GDK_CROSSING_GRAB and GDK_CROSSING_UNGRAB events.
+
+ (fixup_event, append_event, fill_key_event_string): New functions,
+ code refactoring.
+
+ (vk_from_char, build_keypress_event, build_keyrelease_event):
+ Removed as part of dropping WM_CHAR handling.
+
+ (build_key_event_state,gdk_event_translate): Call
+ GetKeyboardState(), once, for each keyboard message, instead of
+ several calls to GetKeyState() here and there.
+
+ (gdk_event_translate): Fix bugs #104516, #104662, #115902. While
+ at it, do some major refactoring, and some fixes for potential
+ problems noticed while going through the code.
+
+ Don't handle WM_CHAR at all. Only handle WM_KEYDOWN and
+ WM_KEYUP. Don't need the state variables related to whether to
+ wait for WM_CHAR or not, and whether the current key is
+ AltGr. Remove lots of complexity. Thus don't need the
+ use_ime_composition flag.
+
+ Not handling WM_CHAR means dead key handling will have to be taken
+ care of by GTK, but that seems to work fine, so no worry.
+
+ Another side-effect is that Alt+keypad digits don't work any
+ longer, but it's better to learn to use GTK's ISO14755 support is
+ anyway.
+
+ Be more careful in checking whether AltGr is involved. Only
+ attempt to handle it if the keyboard actually has it. And
+ explicitly check for *left* Control plus *right* Alt being
+ pressed. Still, allow (left) Alt and/or (right) Control with AltGr
+ chars.
+
+ Handle keys using similar code as in the X11 backend. As we have
+ built a keymap in gdkkeys-win32.c anyway, use it by calling
+ gdk_keymap_translate_keyboard_state() to look up the keysym from
+ the virtual key code and keyboard state. Build the key event
+ string in exactly the same way as the X11 backend.
+
+ If an IME is being used, don't generate GDK events for keys
+ between receiving WM_IME_STARTCOMPOSITION and
+ WM_IME_ENDCOMPOSITION, as those keys are for the IME.
+
+ For WM_IME_COMPOSITION, handle all the Unicode chars returned from
+ the IME, not just the first one.
+
+ gdk_event_translate() is still quite complex, could split the
+ message handler cases out into separate functions.
+
+ On mouse events, when the mouse is grabbed, use
+ find_real_window_for_grabbed_mouse_event() in order to be able to
+ generate correct crossing events.
+
+ No longer take a pre-allocated GdkEvent as parameter. Instead,
+ allocate events as needed and append them to the queue. (This is
+ different from how gdk_event_translate() in the X11 backend
+ works.) This change made the code much clearer, especially in the
+ cases where we have to generate several GDK events for one Windows
+ message. Return FALSE if DefWindowProc() should be called, TRUE
+ if not. If DefWindowProc() should not be called, also return the
+ value to be returned from the window procedure.
+
+ (Previously, the interaction with gdk_event_translate()'s caller
+ was much more complex, when we had to indicate whether the
+ already-queued event should be left in the queue or removed, and
+ in addition also had to indicate whether to call DefWindowProc()
+ or not, and what value to return from the window procedure if
+ not.)
+
+ Don't use a separate "private" variable required to be pointing to
+ the GdkWindowObject of the "window" variable at all times. Just
+ use casts, even if looks a bit uglier.
+
+ Notice destroyed windows as early as possible, and break out of
+ the messsage switch.
+
+ Use _gdk_pointer_root as current_window when the pointer is
+ outside GDK's top-level windows.
+
+ On WM_INPUTLANGCHANGE, set _gdk_input_locale_is_ime as
+ appropriate, based on ImmIsIME().
+
+ (gdk_event_translate, gdk_event_send_client_message_for_display,
+ gdk_screen_broadcast_client_message): Implement client messages.
+ Use a registered Windows message to pass GDK client messages. Note
+ that the amount of user data is restricted to four bytes, as it is
+ carried in the LPARAM. (The WPARAM is used for the message type
+ "atom".)
+
+ (real_window_procedure): Adapt for new gdk_event_translate()
+ interface.
+
+ * gdk/win32/gdkmain-win32.c (_gdk_windowing_init): Set
+ _gdk_input_locale_is_ime initially.
+
+ * gdk/win32/gdkwindow-win32.c: Use g_object_ref()/unref() instead
+ of g_colormap_ref()/unref().
+
+ (gdk_window_new): Made code a bit more like the X11 one, pretend
+ to handle screens (although we just have one for now).
+
+ * gdk/x11/gdkevents-x11.c
+ (gdk_event_send_client_message_for_display,
+ gdk_screen_broadcast_client_message): Document the user data
+ limitation on Win32.
+
+ * gdk/win32/gdkevents-win32.c (print_event): More complete enter
+ and leave notify detail output.
+
+ * gdk/win32/gdkkeys-win32.c (update_keymap): Make dead keys
+ visible to GDK and GTK. Store the corresponding GDK_dead_* keysym
+ for those, so that the GtkIMContextCimple compose tables will
+ work. Deduce if the keyboard layout has the AltGr key, and set the
+ above flag accordingly.
+
+2003-07-26 Matthias Clasen <maclas@gmx.de>
+
+ * gtk/gtkwidget.c: Document DND signals.
+
+2003-07-24 Matthias Clasen <maclas@gmx.de>
+
+ * gtk/gtktextview.c (popup_targets_received): Make the "Input Methods" insensitive
+ when editing isn't possible. (#118150)
+
+2003-07-23 Matthias Clasen <maclas@gmx.de>
+
+ * gtk/gtkcolorsel.c (gtk_color_selection_init): Make the hue
+ spinbutton wrap. (#118097, John Darrington)
+
+ * docs/faq/gtk-faq.sgml: Mention Xnest as a way to debug GTK+ apps.
+
+2003-07-20 Hans Breuer <hans@breuer.org>
+
+ * makefile.msc : new file to build it all
+ * Makefile.am : ... added to EXTRA_DIST
+
+ * gdk/makefile.msc gtk/stock-icons/makefile.msc
+ gtk/makefile.msc.in tests/makefile.msc : updated
+
+ * gdk/gdk.def gtk/gtk.def : export a bunch of new
+ functions
+
+ * gtk/gtkbbox.c : use g_return_val_if_fail() if
+ there is a value to return
+
+ * gtk/gtkfontsel.c gtk/gtkiconfactory.c :
+ static correctness
+
+ * gtk/gtkicontheme.c : ported to use GTimeVal instead of
+ struct timeval and GTK_DATA_PREFIX instead of GTK_DATADIR
+
+ * gtk/gtkicontheme.c : use HAVE_LC_MESSAGES
+
+ * gtk/gtkimmulticontext.c : use gtkprivate.h
+
+ * gtk/stock-icons/stock_color_picker_25.png
+ gtk/stock-icons/stock_jump_to_rtl_16.png
+ gtk/stock-icons/stock_jump_to_rtl_24.png
+ gtk/stock-icons/stock_redo_rtl_16.png
+ gtk/stock-icons/stock_redo_rtl_24.png
+ gtk/stock-icons/stock_undelete_rtl_16.png
+ gtk/stock-icons/stock_undelete_rtl_24.png
+ gtk/stock-icons/stock_undo_rtl_16.png :
+ gtk/stock-icons/stock_undo_rtl_24.png :
+ readded as binary
+
+Sat Jul 19 22:39:24 2003 Soeren Sandmann <sandmann@daimi.au.dk>
+
+ * gtk/gtktoolitem.c (gtk_tool_item_size_request): remove
+ leftover request of {xy}thickness
+
+Sat Jul 19 16:26:02 2003 Soeren Sandmann <sandmann@daimi.au.dk>
+
+ * gtk/gtktoolbutton.c (gtk_tool_button_construct_contents): don't
+ attempt to add a NULL icon to the box.
+
+Sat Jul 19 12:13:20 2003 Soeren Sandmann <sandmann@daimi.au.dk>
+
+ * gtk/gtknotebook.c (gtk_notebook_focus_in|out): only redraw tabs
+ on focus in/out.
+
+2003-07-19 Matthias Clasen <maclas@gmx.de>
+
+ * gtk/gtkstock.h (GTK_STOCK_DIALOG_AUTHENTICATION): New stock id.
+ * gtk/gtkiconfactory.c (get_default_icons): Add stock_dialog_authentication_48. (#65765)
+ * gtk/stock-icons/Makefile.am (VARIABLES2, IMAGES): Here too.
+ * gtk/stock-icons/stock_dialog_authentication_48.png: New image.
+
+ * gtk/gtkbbox.h:
+ * gtk/gtkbbox.c (gtk_button_box_get_child_secondary): New function. (#64562)
+
+Sat Jul 19 00:18:40 2003 Soeren Sandmann <sandmann@daimi.au.dk>
+
+ * gtk/gtkwindow.c (gtk_window_set_default_icon): Fix C99
+ declaration
+
+ * gtk/gtkwidget.c (gtk_widget_queue_shallow_draw): new function
+ (gtk_widget_real_focus_{in|out}_event): queue shallow draws
+ instead of full draws.
+
+2003-07-18 Matthias Clasen <maclas@gmx.de>
+
+ * gtk/gtkwindow.c: Add properties decorated and gravity. (#80234)
+
+ * gtk/gtktextview.c (gtk_text_view_class_init): Add a new keybinding signal, move_viewport.
+ (gtk_text_view_move_viewport): New function which implements the move_viewport functionality.
+ (gtk_text_view_move_cursor_internal): If the cursor is not visible, move the viewport. (#78669)
+
+ * gtk/gtkenums.h (GtkScrollStep): New enumeration, used for move_viewport argument.
+
+ * gtk/gtkstatusbar.c (gtk_statusbar_class_init): Add a has_resize_grip property. (#111779)
+
+ * gtk/gtkwindow.h:
+ * gtk/gtkwindow.c (gtk_window_set_default_icon): New method. (#95816)
+
+ * gtk/gtkmessagedialog.h:
+ * gtk/gtkmessagedialog.c (gtk_message_dialog_add_buttons): New method.
+ (#65501, Sebastian Rittau)
+
+Fri Jul 18 20:06:57 2003 Soeren Sandmann <sandmann@daimi.au.dk>
+
+ * gtk/gtktextview.c (changed_handler): use
+ gtk_widget_queue_resize_noredraw().
+
+2003-07-16 Jody Goldberg <jody@gnome.org>
+
+ * gdk/x11/gdkwindow-x11.c (gdk_window_focus) : fix cut-n-paste-o
+
+Fri Jul 18 19:55:50 2003 Soeren Sandmann <sandmann@daimi.au.dk>
+
+ * gtk/gtkwidget.c (gtk_widget_queue_resize_no_redraw): Add this
+ API.
+
+Fri Jul 18 18:43:01 2003 Soeren Sandmann <sandmann@daimi.au.dk>
+
+ By popular request give toolbuttons a border.
+
+ * gtk/gtktoolitem.c
+ (gtk_tool_item_size_allocate):
+ (gtk_tool_item_size_request): don't request and allocate a border
+ around the child
+
+ * gtk/gtktoolbutton.c
+ (gtk_tool_button_size_allocate):
+ (gtk_tool_button_size_request): remove these functions
+
+ * gtk/gtktoolbar.c
+ (gtk_toolbar_size_request):
+ (gtk_toolbar_size_allocate): request and allocate a border if we
+ have a shadow.
+
+Thu Jul 17 19:24:51 2003 Kristian Rietveld <kris@gtk.org>
+
+ Merged from stable.
+
+ Fixes issues pointed out by Morten Welinder in #115140.
+
+ * gtk/gtktreeview.c (gtk_tree_view_size_request): fix comment,
+ (do_validate_rows): update validated_area with a logic OR instead
+ of a bitwise OR,
+ (validate_rows_handler): make the if statement match the one in
+ validate_rows(), so we don't leak the timeout.
+
+Thu Jul 17 19:12:02 2003 Kristian Rietveld <kris@gtk.org>
+
+ Merged from stable.
+
+ * gtk/gtktreeview.c (gtk_tree_view_remove_widget): the treeview
+ should only grab focus back if the "cell_editable" widget still
+ has focus. (Fixes #110104, testcase provided by Marco Pesenti
+ Gritti).
+
Thu Jul 17 19:06:34 2003 Kristian Rietveld <kris@gtk.org>
Merged from stable.
2003-07-15 Matthias Clasen <maclas@gmx.de>
- * gdk/x11/gdkcursor-x11.c (gdk_display_get_maximal_cursor_size): Fight against gtk-doc stupidity.
+ * gdk/x11/gdkcursor-x11.c (gdk_display_get_maximal_cursor_size):
+ Fight against gtk-doc stupidity.
2003-07-13 Matthias Clasen <maclas@gmx.de>
- * gtk/gtkdnd.c (gtk_drag_begin): Rename parameter target_list back to targets, to pacify gtk-doc.
+ * gtk/gtkdnd.c (gtk_drag_begin): Rename parameter target_list back to
+ targets, to pacify gtk-doc.
Sun Jul 13 15:57:57 2003 Soeren Sandmann <sandmann@daimi.au.dk>