X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=ChangeLog.pre-2-10;h=b46605120a8de31072d5d153dd24ab3037789908;hb=10ba4fd066042b4335ae45e7560565872f71ba9b;hp=da734fab2df69497d3b5b18cd060546cebdb2200;hpb=018d098240567972205f0ade11c8cdc8eb5a91c1;p=~andy%2Fgtk diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index da734fab2..b46605120 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,2567 @@ +Mon Mar 13 18:37:55 2000 Owen Taylor + + * gdk/gdkdnd.c: Fix a bunch of cases where XGetWindowProperty() + is called without trapping X errors. + +Fri Feb 25 10:48:53 2000 Owen Taylor + + * gtk/gtkrc.*: Fix problem where stray '"' characters found their + way into the fontset lists. + +Tue Feb 22 08:52:52 2000 Tim Janik + + * gtk/gtkthemes.h: add extern "C" scope. + +Mon Feb 21 20:16:42 2000 Lars Hamann + + * gtk/gtkclist.c: applied patch from Guy Harris + to make appends to the list constant. (gtk-guy-990901-0.patch) + +Mon Feb 14 22:50:10 2000 Tim Janik + + * gtk/gtktypeutils.c (gtk_type_init): use g_str_hash() and g_str_equal() + for the typename hash table. + +Mon Feb 14 15:01:23 2000 Owen Taylor + + * gtk/gtkpaned.c (gtk_paned_compute_position): Add some sanity checks + to make sure we never divide by zero. + (Problem pointed out by Michal Jaegermann ) + +Mon Feb 14 12:29:38 2000 Owen Taylor + + * gtk/gtkfontsel.c: Apply patch from + SHIRASAKI Yasuhiro to make font selector work a little + better with 2-byte fonts. (Load a fontset instead of a font for two byte fonts.) + + Also, some cleanups in atom handling. + +Sun Feb 13 08:02:21 2000 Tim Janik + + * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer, + not GtkWidget. + +Fri Feb 11 02:19:32 2000 Tim Janik + + * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): + * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): + * gtk/gtkpaned.c (gtk_paned_compute_position): had to squeeze some + more guint wrap-around bugs before going to bed. + +Thu Feb 10 16:16:35 2000 Tim Janik + + * gtk/gtkspinbutton.c (gtk_spin_button_size_allocate): guard against + guint wrap arounds in allocation.width. + + * gtk/gtktable.c (gtk_table_size_allocate_pass1): repeat shrinking + process untill we fit the allocation given. + +Tue Feb 8 09:38:29 2000 Tim Janik + + * gtk/gtkwidget.c: + (gtk_widget_unrealize): guard widget access with ref/unref + around signal emission. + (gtk_widget_hide): same here, but also check its destroyed + state before queueing a resize. + +Tue Feb 8 03:05:55 2000 Tim Janik + + * gtk/gtkstyle.c (gtk_style_new): use gtk_default_prelight_bg instead + of gtk_default_insensitive_bg as insensitive base color. + + * gtk/gtktext.c (gtk_text_style_set): set the background color according + to the widget's state. + (gtk_text_realize): same here. + (gtk_text_state_changed): same here. + (draw_bg_rect): compare background color against base[] from + GTK_WIDGET_STATE (text) not GTK_STATE_NORMAL. + +Mon Feb 7 04:01:55 2000 Tim Janik + + * gtk/gtkmain.c (gtk_main_do_event): ignore delete events when + grabs are active, unless a delete event is send to the toplevel + of the currently grab holding widget. + +Sun Feb 6 10:13:15 2000 Owen Taylor + + * gtk/gtkctree.c (gtk_ctree_drag_data_received): Remove + debugging g_print's. + +Fri Feb 4 15:54:54 2000 Owen Taylor + + * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_request): Don't + ever make the scrolled-window requisition ever depend on the + visibility state of the scrollbars for the AUTOMATIC policy. + This breaks the GTK+ requisition model, and causes loops. + +Fri Feb 4 15:09:12 2000 Owen Taylor + + * gtk/gtkstyle.c (gtk_style_new): Set the charset explicitely for + the default font to avoid problems with XFree86-4.0 where the + default charset is iso10646-1, not iso8859-1. + +Thu Feb 3 14:58:48 PST 2000 Manish Singh + + * acinclude.m4 + * config.guess + * config.sub + * ltconfig + * ltmain.sh: upgrade to libtool 1.3.4 (bugfix only release) + + * gtk/Makefile.am: minor cosmetic consistency tweak + +Thu Feb 3 14:46:01 2000 Owen Taylor + + * gtk/gtkmenushell.c (gtk_menu_shell_button_release): Set + the activate_time to 0, so that we handle a quick + press/release press/release properly and don't suppress + the second release. (Red Hat bug #7545) + +Wed Feb 2 22:25:17 2000 Tim Janik + + * gtk/gtkctree.c (row_delete): + (gtk_ctree_node_set_row_data_full): fixed very evil reentrancy + bugs with destruction notifier, *always* update internal + structures *before* calling user code. + +Sun Jan 30 20:10:52 2000 Lars Hamann + + A few more fixes for bug #5487, #2051, #2677. + * gtk/gtkclist.c : + (gtk_clist_button_press): Reset clist->anchor to -1 if event->type is + not GDK_BUTTON_PRESS. + (resync_selection): resync only if selection_mode is + GTK_SELECTION_EXTENDED + * gtk/gtkctree.c (resync_selection): same here + +Sun Jan 30 12:29:20 2000 Owen Taylor + + * gdk/gdk.h gtk/gtkmenu.h: Removed duplicate prototypes for + gdk_drag_get_selection() and gtk_menu_detach(). + + [ From Jeroen Ruigrok/Asmodai ] + +Sat Jan 29 10:11:56 2000 Owen Taylor + + * gtk/gtknotebook.c (gtk_notebook_size_request): + page->tab_label can be NULL. + +2000-01-25 Havoc Pennington + + * gdk/gdkwindow.c (gdk_window_set_back_pixmap): parent_relative + arg is boolean + + * gdk/gdkselection.c (gdk_selection_owner_set): return boolean + + * gdk/gdkrectangle.c (gdk_rectangle_intersect): return boolean + + * gdk/gdkproperty.c (gdk_property_get): return boolean + + * gdk/gdkinput.c (gdk_input_set_mode): return boolean + + * gdk/gdkim.c (gdk_im_ready): return boolean + + * gdk/gdkgc.c (gdk_gc_set_exposures): gboolean arg + + * gdk/gdkfont.c (gdk_font_equal): return gboolean (mild + glib clash, should fix glib) + + * gdk/gdkevents.c (gdk_set_show_events): take gboolean arg + (gdk_get_show_events): return gboolean, and canonicalize + to TRUE/FALSE + + * gdk/gdkcolor.c (gdk_colormap_new): gboolean flag whether the + colormap is private + (gdk_colors_alloc): gboolean whether to be contiguous + (gdk_color_equal): return gboolean since we are a predicate + and not a qsort() (this looks semi-wrong due to glib breakage, + IMO glib should be fixed) + + * gdk/gdk.c (gdk_set_use_xshm): take gboolean arg + (gdk_get_use_xshm): return gboolean + (gdk_pointer_is_grabbed): return gboolean + + * gdk/gdk.h: Change prototypes to match all the above changes, + and re-run egtk-format-protos as required. + +Fri Jan 28 12:28:17 2000 Owen Taylor + + * gtk/gtkctree.c (resync_selection): + * gtk/gtkclist.c (resync_selection): + + Return immediately if clist->drag_pos < 0. This is a workaround + for the corrupt state that the clist gets into when a + GDK_2BUTTON_PRESS occurs. See note in gtk_clist_button_press(). + + Bug #5487, #2051, #2677; fix suggested by David Helder and T. Alexander Popiel. + + * gtk/gtknotebook.c (gtk_notebook_size_request): Fix uninitialized + variable from recent commit. + +Thu Jan 27 15:22:09 2000 Owen Taylor + + * gtk/gtkdnd.c (gtk_drag_begin): Fix stupid typo in last commit. + +Thu Jan 27 18:00:55 2000 Tim Janik + + * gtk/Makefile.am: prefix all autogenerated source that get build in + $(srcdir) with $(srcdir)/, so make doesn't assume they got generted + in builddir. since we subsequently cd into srcdir for autogeneration, + the paths have to be stripped from the target file names, thusly we + use $(@F) as target names now. + put a comment about configure.in's --disable-rebuilds option, + which can be used for non-writable source directories, for development + setups though, srcdir has to be *writable*. + +hu Jan 27 00:15:03 2000 Owen Taylor + + * gtk/gtkdnd.c (gtk_drag_begin gtk_drag_get_event_actions): + Finish the job of allowing event to be NULL. + (Fixes bug #4283, reported by Chris Blizzard) + + * gtk/gtkentry.c (entry_adjust_scroll): When calculating + things so that the cursor appears on screen, properly + take into account INNER_BORDER. + (Fixes bug #4754, reported by Antonio Campos) + +Wed Jan 26 23:12:28 2000 Owen Taylor + + * gtk/gtknotebook.c (gtk_notebook_map): Don't + show the tab_label unless it itself is visible. + + gtk/gtknotebook.c (gtk_notebook_size_request): + Do a better job of making sure that the visibility + of the tab label corresponds to whether it should + be mapped or not. + +Wed Jan 26 21:17:03 2000 Owen Taylor + + * gtk/gtkoptionmenu.c (gtk_option_menu_position): + Use the requisition, not the allocation, since the + allocation has not necessarily been computed yet. + (Pointed out by Eugene Osintsev) + +Wed Jan 26 19:44:25 2000 Owen Taylor + + * gtk/gtkstyle.c (gtk_style_new): Dont' set + style/base[GTK_STATE_INSENSITIVE] both to + gtk_default_insensitive_bg! + (Bug #2187, reported by Jonathan Blandford) + + * gtk/gtkaccelgroup.c (gtk_accelerator_valid): + Add Alt_L, Alt_R to list of invalid accelerators. + (Bug #3736, reported by Vlad Harchev) + +Wed Jan 26 19:01:56 2000 Owen Taylor + + * gtk/gtkfilesel.c (open_ref_dir): Fix several + bugs which occured after an attempt to open + invalid home directory left cmpl_state->reference_dir == NULL. + + - completion on files in home directory didn't work + - completion on an empty string caused segfault + + (Bug #3768, reported by Steve Ratcliffe) + + * gtk/gtkscale.c (gtk_scale_get_value_width): Fix + cut and paste error that was causing scales to + be incorrectly positioned. + (Bug #2956, + patch from Steve Ratcliffe ) + +2000-01-27 Shirasaki Yasuhiro + + * acinclude.m4 (AM_GTK_WITH_NLS): Add -lintl to libs + when checking for dcgettext, if we've found we needed + it for dgettext. ++ +Wed Jan 26 18:06:07 2000 Owen Taylor + + * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore + queue_clear on NO_WINDOW widgets during a reparent, + since at that point the window and widget heirarchies + are out of sync. This stops crashing in some cases + (the scrolled window reparent test, for instance), and + _probably_ won't cause drawing errors. + + * gtk/testgtk.c: Make the reparenting-a-scrolled-window + test do what it was supposed to do and be robust against + window closings, etc. (Bug #2443) + +Wed Jan 26 16:56:54 2000 Owen Taylor + + * gtk/gtkentry.c: Fix return values on mouse events. + (Bug #2686, Sky ) + + * gtk/genmarshal.pl: Fix up handling of FOREIGN. + (pointed out by George Lebl) + + * gdk/gdkcolor.c (gdk_color_copy): Made const-safe. + (From Ettore Perazzoli ) + +Mon Jan 24 10:44:48 2000 Owen Taylor + + * gtk/gtkcalendar.c (gtk_calendar_main_button): Handle + clicks between rows or outside calender area correctly. + (Patch from Damon Chaplin) + + * gtk/gtkclist.c (gtk_clist_set_row_data_full): + * gtk/gtkctree.c (gtk_ctree_node_set_row_data_full): + Call destroy function when overwriting existing data. + (Pointed out by Damon Chaplin) + +Tue Jan 25 09:55:41 2000 Owen Taylor + + * gdk/gdk.c: Remove useless #include of , + which was causing problems on various systems with Xmu. + This hasn't been needed for a very long time. + (Fixes #1185 3167) + +Sun Jan 23 22:27:36 2000 Owen Taylor + + * gdk/gdki18n.h: Include when defining + gdk_isw* in terms of is* as a fallback. + (Bug #4106 - Dan Winship ) + +Sun Jan 23 22:12:36 2000 Owen Taylor + + * gtk/gtkviewport.c (gtk_viewport_size_allocate): Don't + realize the widget when it is size allocated! + (old, old bug) + + * gtk/gtkviewport.c (gtk_viewport_adjustment_value_changed): + Removed unused call to gdk_window_get_size() that + showed up when the above was fixed. + +Sat Jan 22 15:44:30 2000 Owen Taylor + + * gtk/gtkwidget.c (gtk_widget_reparent): Correctly + fix up widget->window when the widget is a + NO_WINDOW container widget. + +Sat Jan 22 12:40:48 2000 Owen Taylor + + * gdk/gdkpixmap.c (gdk_pixmap_seek_string): Rewrite + to account for the fact that feof() does _not_ + return TRUE on errors, and thus avoid infinite loops + when trying to use gdk_pixmap_create_from_xpm() + on unreadable values. + +Fri Jan 21 18:32:43 2000 Owen Taylor + + * gtk/gtkaspectframe.h (struct _GtkAspectFrame): s/gint/gboolean/. + +Fri Jan 21 16:24:08 2000 Owen Taylor + + * gdk/gdkgc.c (gdk_gc_set_dashes): Change from + gdk_gc_set_dashes to take gint8 instead of gchar to + make it clearer that it is _not_ a NULL terminated string. + + * gdk/gdk.h gdk/gdkfont.c gdk/gdkgc.c gdk/gdkselection.c + gdk/gdkwindow.c gtk/gtkprogress.[ch] gtk/gtkthemes.[ch] + gtk/gtktreeitem.[ch] gtk/gtkwidget.[ch]: Constify string + arguments. + +Thu Dec 30 04:51:05 1999 Tim Janik + + * gtk/gtkvscale.c (gtk_vscale_pos_background): + * gtk/gtkhscale.c (gtk_hscale_pos_background): when calculating the + background size relative to our allocation, guard against small + allocations, we may have not yet been size allocated. + +Thu Dec 2 10:59:14 1999 Owen Taylor + + * gdk/gdkdnd.c (xdnd_check_dest): Allow version >= 3, + not just version == 3. We implement all 3 + most of 4 - + (we don't support matching text/plain;charset=iso-8859-1 + to a dest that expects text/plain). We'll still advertise + 3 to be safe, but any client implementing version >= 3 + must interoperate with 3. + +Tue Mar 14 11:53:31 2000 Owen Taylor + + * gtk/gtktooltips.[ch] (struct _GtkTooltips): Remove foreground, + background and gc members, add a warning in gtk_tooltips_set_color() + indicating that this function is deprecated. + +Thu Mar 9 22:10:56 GMT 2000 Tony Gale + + * docs/gtkfaq.sgml: FAQ Update: + - Minor cleanups (Emmanuel, me) + - New questions: + I need to add a new signal to a GTK+ widget. Any idea? (timj) + How can I retrieve the text from a GtkMenuItem? (timj) + How do I validate/limit/filter the input to a GtkEntry? (me) + Memory does not seem to be released when I free the list + nodes I've allocated (timj) + +2000-03-07 Tor Lillqvist + + * gdk/win32/gdkmain-win32.c: Internal GDK error reporting changes: + (gdk_win32_gdi_failed) New function for reporting errors from GDI, + for which it is no use to call GetLastError onWin9x. + (gdk_other_api_failed) New function, for general error + reporting without calling GetLastError. + (gdk_win32_api_failed) OTOH, this function always calls + GetLastError. (gdk_win32_last_error_string) Remove this function, + GLib has the equivalent now. + + * gdk/win32/gdkprivate-win32.h: Declare the above, and macros to + call them with function name, file name and line number in the + arguments. + + * gdk/win32/*.c: Use the new macros for reporting errors from GDI + functions. + + * gtk/gtk.def: Add some missing entry points. + + * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and + gtk_paned_set_gutter_size, which don't exist any longer, as void. + + Fixes by Hans Breuer: + + * gdk/makefile.msc: Update for debugging. + + * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_dashes): Fake + implementation, just use the PS_DASH, PS_DOT, PS_DASHDOT or + PS_DASHDOTDOT or PS_DASH styles depending on the number of entries + in the dash_list. + + * gdk/win32/gdkwin32.h (GDK_FONT_XFONT): New macro, similar as in + the x11 backend. + + * gdk/win32/gdkprivate-win32.h (IS_WIN_NT): New macro. + + * gtk/testgtk.c: Include config.h, guard inclusion of unistd.h. + +2000-03-04 Tor Lillqvist + + * gdk/win32/gdkprivate-win32.h (struct _GdkWindowWin32Data): Store + just pixel value of background colour. + + * gdk/win32/gdkgc-win32.c (gdk_colormap_color): New function + containing code snippet previously duplicated in a couple of + places. + + * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_points): Use + gdk_colormap_color. + + * gdk/win32/gdkevents-win32.c (gdk_event_translate): Generate + GDK_SCROLL events for WM_MOUSEWHEEL messages. Don't generate + events for autorepeated Shift, Control and Alt keys. Use + gdk_colormap_color. + + * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): If the + pointer is inside the window the cursor of which we are setting, + call SetCursor immediately. + + * gdk/win32/makefile.cygwin + * gtk/makefile.cygwin: If we don't have the build number stamp + file, use zero. + + * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and + gtk_paned_set_gutter_size as empty. + + * gtk/gtk.def: Remove gtk_paned_set_gutter_size. + +Tue Feb 29 13:10:00 GMT 2000 Tony Gale + + * gdk/gdkwindow.h gdk/x11/gxid.c gtk/gtkclist.c gtk/gtkclist.h + gtk/gtkctree.c gtk/gtkmenu.h gtk/gtkwidget.c gtk/testgtk.c + docs/styles.txt docs/refcounting.txt docs/gtkfaq.sgml + docs/gtk_tut.sgml docs/gtk.texi TODO: + + Spelling/grammar fixes from Martin Buchholz + +Sat Feb 26 11:46:25 GMT 2000 Tony Gale + + * gtk/gtkcalendar.c: Implement num_marked_dates, + and don't emit mutiple day_selected signals on + month_prev. + +2000-02-25 Jonathan Blandford + + * docs/make-todo (lineno): let title and logo be configurable so + that GNOME can use this script too. + + * TODO.xml: added logourl and a title + +Fri Feb 25 11:12:00 2000 Owen Taylor + + * TODO.xml: Added some UI items, and an explanatory + comment at the top of the file. + +Thu Feb 24 09:07:28 2000 Tim Janik + + * TODO.xml: some updates, added abunch of new entries. + a note for those fiddeling with this file, when done + with it, invoke: + $ ./docs/make-todo TODO.xml >/dev/null + and correct output errors before comitting changes. + +Wed Feb 23 22:59:50 2000 Owen Taylor + + * TODO.xml: Added XML-structured TODO file. + * docs/make-todo: python script to turn TODO.xml into + pretty XML output. + +2000-02-23 Jonathan Blandford + + * gtk/gtkstyle.c (gtk_default_draw_handle): add a 'paned' mode to + the function to let it draw the seven dots, instead of the old, + much maligned, method. + (draw_dot): New function to draw a dot. + + * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): changed allocation + to draw the handle inside the border width as opposed to outside. + Use paint function instead of gdk_draw_point. + + * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): changed allocation + to draw the handle inside the border width as opposed to outside. + Use paint function instead of gdk_draw_point. + + * gtk/gtkfilesel.c (gtk_file_selection_update_history_menu): + Change indenting to be more GTK like. + +Wed Feb 23 10:54:14 GMT 2000 Tony Gale + + * docs/gtk_tut.sgml: New section on GtkCalendar + * examples/calendar: Update example code + +Tue Feb 22 13:54:12 GMT 2000 Tony Gale + + * docs/gtkfaq.sgml: FAQ Update + +2000-02-19 Anders Carlsson + + * gtk/gtkrange.c (gtk_range_scroll_event): Return TRUE + to prevent the scroll event to be propagated upwards. + +Fri Feb 18 14:37:29 2000 Owen Taylor + + * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Remove + OwnerGrabButtonMask from button entries for + GDK_BUTTON_PRESS / GDK_BUTTON_RELEASE. + + * gtk/gtklayout.c (gtk_layout_realize): Always add GDK_SCROLL + to the event mask (which will result in button/press release + being added to the event mask on Unix) so scrolling works + for layouts in scroll windows. + + * gdk/gdkevents.h (enum): Fix up GDK_ALL_EVENTS_MASK. + + Patch from Anders Carlsson to add + a scroll event. + + * gtk/testgtk.c (scroll_test_scroll): Added an example of mouse wheel + scrolling to the "Test Scrolling" part of testgtk. + + * gtk/gtkwidget.h (struct _GtkWidgetClass): Added scroll_event signal. + + * gtk/gtkwidget.c: Added "scroll_event" GTK+ signal and matched + it against GDK_SCROLL. + + * gtk/gtkrange.c (gtk_range_scroll_event): Updated to use the new + way of mouse wheel scrolling. + + * gtk/gtkscrolledwindow.c (gtk_scrolled_window_scroll_event): Likewise. + + * gtk/gtkspinbutton.c (gtk_spin_button_scroll): Likewise. + + * gtk/gtkmain.c: Removed previous mouse wheel hack. + + * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Added entry in + gdk_event_mask_table. + + * gdk/x11/gdkevents-x11.c (gdk_event_translate): Added + GdkEventScroll handler. + + * gdk/gdkevents.h: Added GdkEventScroll structure. + +Thu Feb 17 17:10:12 2000 Owen Taylor + + * gtk/gt{h,k,}vpaned.[ch]: Add patch from Jonathan Blandford + and Anders Carlsson to change the Paned widgets so that they + can be dragged from anywhere along the length. Also change + the way that this is drawn to make this apparent. + + * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): Apply patch + from George Lebl to check that option_menu->menu is present + before getting history. + +2000-02-14 Tor Lillqvist + + * gdk/gdkdraw.c (gdk_draw_segments): Move the test for no segments + before the assertion for non-NULL segment list. + + * gdk/win32/gdkgc-win32.c: (gdk_win32_gc_values_to_win32values): + Seems that pattern brushes *must* be 8x8 pixels! At least on my + machine, but it might be display driver dependent. Sigh, so make + sure the stipple is that size. Does Windows suck or what? + + * gdk/win32/gdkdrawable-win32.c: Improve error handling in a few + places. + +2000-02-13 Havoc Pennington + + * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): init + refcount to 1 + (gdk_cursor_new): init refcount to 1 + + * gdk/win32/gdkcursor-win32.c (gdk_cursor_new): init refcount to 1 + +2000-02-13 Tor Lillqvist + + * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Add an extra parameter + so that we don't have to do unnecessary settings to the HDC. + + * gdk/win32/gdkdrawable-win32.c + * gdk/win32/gdkimage-win32.c: Corresponding changes to the calls of + gdk_gc_predraw. + + * gdk/win32/gdkdrawable-win32.c: Special-casing for GdkGCs where + the fill style is GDK_OPAQUE_STIPPLED. In those cases we construct + GDI paths, call WidenPath to get the outline of the stroken path, + and then fill the outline (with the brush that was built from the + stipple). + + * gdk/win32/gdkgc-win32.c: Factor out common code from + _gdk_win32_gc_new and gdk_win32_gc_set_values into + gdk_win32_gc_values_to_win32values. Use correct colour for + SetBkColor() (Until now the code actually used a random colour in + the call to SetBkColor()... but that didn't show up as not many + GDI APIs use the background colour. Pattern (opaque stippled) + brushes do.) + + * gdk/win32/gdkmain-win32.c (gdk_win32_last_error_string, + gdk_win32_api_failed): New functions for error logging. + + * gdk/win32/gdkprivate-win32.h: Declare them, and define a macro + WIN32_API_FAILED to call them, passing function or file name and + line number. + + * gdk/win32/*.c: Use the WIN32_API_FAILED macro. + + * gdk/win32/gdkprivate-win32.h: Store just the pixel values from + GdkColor for foreground and background in GdkGCWin32Data. + + * gdk/makefile.cygwin: Link in the resource object separately. + + * gdk/win32/rc/gdk.rc + * gtk/gtk.rc (New file) + * gdk/win32/makefile.cygwin + * gtk/makefile.cygwin: Update build number in DLLs automatically, + as in GLib. + +Sun Feb 13 08:54:45 2000 Tim Janik + + * gdk/gdkcursor.h (struct _GdkCursor): s/refcount/ref_count/. + * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): + * gdk/x11/gdkcursor-x11.c (_gdk_cursor_destroy): + * gdk/gdkcursor.c (gdk_cursor_ref): insert assertments for the + parameters given and cursor->ref_count. coding style fixups. + + * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer, + not GtkWidget. + + * gtk/*.h: applied patch from Mathieu Lacage to + fix up widget macros and add _GET_CLASS() variant. + + * gtk/*.c: some GtkType fixups. + +2000-02-09 Tor Lillqvist + + * gdk/win32/gdkproperty-win32.c + * gdk/x11/gdkproperty-x11.c: The assertions for GDK_IS_WINDOW + were reversed. + +2000-02-04 Tor Lillqvist + + * gdk/win32/gdkfont-win32.c (logfont_to_xlfd): Use + g_filename_to_utf8 to convert the font names Windows gives us from + whatever is the default codepage to UTF-8. + (gdk_font_load_internal) Use g_filename_from_utf8 for conversion + in the other direction. + + * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Fix cut&paste + error in debugging output. + +2000-02-02 Tor Lillqvist + + * gdk/win32/gdkwindow-win32.c (gdk_window_clear): Pass zero width + and height parameters to gdk_window_clear_area(). Not minus one. + +Wed Feb 2 11:58:05 2000 Owen Taylor + + * gtk/gtkdnd.c (gtk_drag_selection_received): Add some sanity + checks if the widget passed to gtk_drag_get_data() was not the + dest widget. + +2000-02-01 Tor Lillqvist + + * gtk/gtkfilesel.c: Use the g_filename_to_utf8 and + g_filename_from_utf8 functions (which were added a moment ago to + GLib). Some cleanups: Use gbooleans. Use GStrings instead of fixed + size buffers. + + gtk_file_selection_get_filename returns the filename in the C + runtime encoding. It calls g_filename_from_utf8, but copies the + returned string to a static buffer, which is returned. I think + this is better than returning the result from g_filename_from_utf8 + directly, which would mean all apps that use it would have to free + the return value. Or should this function care about this issue at + all? Maybe a new function with clearly defined semantics. + + * gtk/gtkfilesel.h: Add comment about + gtk_file_selection_get_filename returning the filename in the C + runtime's encoding. + + * README.win32 + * gdk/gdk.def + * gdk/makefile.{cygwin,msc} + * gtk/gtk.def: Updates. + + * gdk/gdkcursor-win32.c: Initialise refcount. + +2000-01-31 Yuan-Chung Cheng + + * configure.in: Added "zh_CN.GB2312" to ALL_LINGUAS. + +2000-01-30 Havoc Pennington + + * gtk/testgtk.c (set_cursor): use gdk_cursor_unref instead of + destroy + + * gdk/gdkimage.c (gdk_image_ref): image wasn't being returned + + * gdk/gdkprivate.h: declare _gdk_cursor_destroy which is then + implemented in platform-specific code + + * gdk/Makefile.am (gdk_c_sources): add gdkcursor.c + + * gdk/x11/gdkcursor-x11.c (gdk_cursor_destroy): rename with an + underscore in front + + * gdk/win32/gdkcursor-win32.c (gdk_cursor_destroy): + put an underscore in front + + * gdk/gdkcursor.c: new file, implements + gdk_cursor_ref/gdk_cursor_unref + + * gdk/gdkcursor.h: Refcount GdkCursor + + * gdk/gdkcompat.h (gdk_cursor_destroy): compat + +2000-01-29 Tor Lillqvist + + * gdk/gdkwindow.h + * gdk/gdkpixmap.h: Remove prototypes for renamed functions. + +Tue Jan 25 11:43:21 2000 Owen Taylor + + * gtk/gtkinvisible.h (struct _GtkInvisible[Class]): Fix + structures to properly inherit from GtkWidget not GtkBin. + +Sun Jan 23 20:28:24 2000 Owen Taylor + + * gtk+.spec.in: Added lib/gtk+/include/* to %files + (bug #5178 - Peter Wainright) + + * gtk/Makefile.am (gtk_public_h_sources): Add gtkcompat.h + so that it will be installed. + (bug #4889 - "david d `zoo' zuhn" ) + +Fri Jan 21 16:29:28 2000 Owen Taylor + + * gtk/gtkstyle.[ch] docs/Changes-1.4.txt: Make the @detail argument + for the GtkStyleClass vtable const. + + * gtk/gtkitemfactory.[ch] docs/Changes-1.4.txt: Make GtkPrintFunc + take a const string argument like GtkTranslateFunc. This will + require changes in use code. + +2000-01-19 Tor Lillqvist + + * gdk/win32/gdkwindow-win32.c (gdk_window_clear_area): The correct + semantics (to mimic the X11 backend, which just calls XClearArea) + is to check for zero width (and height), and in that case use the + window's width minus x (height minus y). This fixes for instance + some redraw problems with gtkclist, which were easily noticeable + in the gtk file selection widget. + + (gdk_window_new): Don't set WS_EX_TOPMOST for dialog + windows. + +2000-01-13 Tor Lillqvist + + * configure.in + * gdk/Makefile.am + * gdk/x11/Makefile.am + * gdk/win32/Makefile.am: Small fixes, thanks to Peter Wainwright + (bug #5177). + * gdk/win32/gdkcc-win32.c: Reintroduce, to be thrown + out later. + +2000-01-09 Tor Lillqvist + + * gdk/win32/gdkevents-win32.c (gdk_event_translate): Ignore + WM_MOVE for iconified or invisible windows. This fixes various + problems when minimising windows. Thanks to Bernd Herd. + +2000-01-05 Tor Lillqvist + + * gdk/gdkdraw.c (gdk_draw_lines): Fix copy&paste error: Call the + backend's draw_lines method, not draw_points. + +2000-01-02 Tor Lillqvist + + * gdk/win32/gdkevents-win32.c: Clean up some more leftovers from + before Owen's reorganisation: Don't have queued_events and + queued_tail statics in this file, but use gdk_queued_events and + gdk_queued_tail. This makes exposure event compression work again. + + (gdk_WindowProc): Comment out a posting of gdk_ping_msg, doesn't + seem to be needed? + +1999-12-30 Tor Lillqvist + + * gdk/gdk.c: If we don't HAVE_XCONVERTCASE we must #include + gdkkeysyms.h to get the GDK_* keysym constants that are needed by + gdk_keyval_convert_case(). Otherwise, gdk_keyval_convert_case() + doesn't do anything. + + * gdk/gdk.def: Add gdk_xid_table_insert. + + * gdk/win32/gdkprivate-win32.h + * gdk/win32/gdkevents-win32.c + * gdk/win32/gdkinput-win32.c + + * gdk/win32/gdkwindow-win32.c: Remove the superfluous + extension_events field in the GdkWindowWin32Data struct. Use only + the extension_events field in GdkWindowPrivate. Previously one was + set, and the other one tested, which broke tablet + functionality. Thanks to Keishi Suenaga for pointing this out. + +1999-12-18 Tor Lillqvist + + * gdk/win32/gdkfont-win32.c (gdk_text_size, gdk_text_extents): + When handling a single character (text length == 1), don't handle + it as if it was UTF-8. + +1999-12-11 Tor Lillqvist + + * Makefile.am: Distribute README.win32. + + * gdk/Makefile.am + * gdk/win32/Makefile.am: Distribute Win32 files. + + * gdk/makefile.msc: New file. + + * gdk/gdk.c (gdk_arg_context_parse): Fix gccism (no statement + after label). + + * gdk/gdkprivate.h: Must mark also gdk_error_warnings and + gdk_error_code as GDKVAR, as they are referred outside GDK. + + * gdk/win32/makefile.msc: Update. + + * gdk/win32/gdkfont-win32.c (check_unicode_subranges): More + tweaks. Check only if at least one of those Unicode subrange bits + we care for is set. If no code page bits are set, guess (wildly) + based on the charset. + + * gdk/win32/gdkinput-win32.c: Remove debugging leftover. + + * gdk/win32/gdkwindow-win32.c (gdk_window_new): Assure title is + non-NULL. + + * gtk/gtkdnd.c + * gtk/gtklayout.c + * gtk/gtkplug.c + * gtk/gtkselection.c + * gtk/gtksocket.c + * gtk/gtkwindow.c: Include x11/gdkx.h *or* win32/gdkwin32.c as + appropriate. There must be a cleaner way to handle this? + + * gtk/gtkrc.c: Must include windows.h on Win32. + + * gtk/testgtk.c: No need to include gdkx.h. + + * gtk/makefile.cygwin: Correct invokation of genmarshal.pl. + +1999-12-07 Tor Lillqvist + + * gdk/win32/gdkfont-win32.c: Fix string measurement code. For now, + the rbearing is set to the same as the width, but this should be + fixed. + +1999-12-06 Tor Lillqvist + + * gdk/win32/gdkfont-win32.c (check_unicode_subranges): New + function. If Windows doesn't tell us what Unicode subranges a font + covers, guesstimate based on the codepages it covers. This will + hopefully help those Windows versions or fonts that don't give us + any useful Unicode subrange information with GetTextCharsetInfo. + Call this function in gdk_font_load_internal. + + * gdk/win32/{gdkdnd,gdkimage,gdkpixmap,gdkprivate}-win32.c: Misc + minor changes. + +Fri Dec 3 14:09:50 1999 Owen Taylor + + * gtk/gtkoptionmenu.[ch] (gtk_option_menu_get_history): + New function, long needed. + +Wed Dec 1 22:35:43 1999 Owen Taylor + + * gdk/gdkproperty.h x11/gdkproperty.c: Change + only_if_exists argument of gdk_atom_intern to + bool. + +1999-11-25 Tor Lillqvist + + * gdk/gdkgc.c (gdk_gc_set_ts_origin, gdk_gc_set_clip_origin): + Fix two copy&paste errors. + + * gdk/makefile.cygwin: Also rebuild DLL when the static archive in + win32 has changed. + + * gdk/win32/gdkprivate-win32.h: Don't need CPINFO in the + GdkWin32SingleFont struct. + + * gdk/win32/gdkfont-win32.c: Some more debugging: Print Unicode + subranges of loaded fonts. Clear font signature first, in case + GetTextCharsetInfo fails. Pretend SYMBOL_CHARSET fonts have + ASCII+Basic Latin (i.e. 0x40--0xFF) as they are single-byte. + + * gdk/win32/gdkgc-win32.c: Improved logging. (gdk_gc_postdraw): + Unoffset clip region. + +1999-11-23 Tor Lillqvist + + * gdk/win32/gdkevents-win32.c (gdk_event_translate): set + event->any.window before calling filter functions. + +Fri Nov 19 10:34:41 1999 Owen Taylor + + * gtk/gtkgamma.h: Adapt cast macros to standard. + +[ Merges from 1.2 ] + +Tue Nov 16 10:15:54 1999 Owen Taylor + + * gtk/gtkitemfactory.c (gtk_item_factory_parse_path): + If translation does not include a '/', use entire + translation instead of crashing. + +Sun Oct 31 22:21:11 1999 Tim Janik + + * docs/gtk_tut.sgml: + s/gtk_accel_group_attach/gtk_window_add_accel_group/. + +Sat Oct 30 09:09:09 1999 Owen Taylor + + * gtk/gtkselection.c (gtk_target_list_remove): Use + g_list_remove_link, not g_list_remove. + + [ From Geert Bevin ] + +Sun Oct 24 07:41:40 1999 Tim Janik + + * gtk/gtkclist.c (real_undo_selection): commented out g_print() + statement upon unselection (how the heck did that slip in?). + +Sat Oct 23 03:03:08 1999 Tim Janik + + * gtk/gtktext.c (gtk_text_freeze): + (gtk_text_thaw): undraw/draw cursor here to avoid unnecessary scrolling + in frozen state (and aparently crashes). patch provided by Anders + Melchiorsen . + +Sat Oct 23 02:53:20 1999 Tim Janik + + * fix insensitive default/focus widget activation, + reported by Matt Goodall . + + * gtk/gtkwindow.c (gtk_window_key_press_event): + (gtk_window_activate_default): + (gtk_window_activate_focus): + return handled=FALSE for actiavtion of insensitive default + widgets. return handled=TRUE for activation of insensitive + focus widgets. don't activate in either case. + +Tue Oct 19 09:55:08 1999 Owen Taylor + + * gtk-config.in (lib_gtk): Switch order of @x_cflags@ + and $glib_cflags to match library order and in the + theory that an old version of GLib is more likely to + be in the include directory for X then vice-versa. + (Bug #2776) + +Tue Oct 19 09:46:49 1999 Owen Taylor + + * gtk/gtkrc.c (gtk_rc_init): Always use LC_CTYPE + to determine the locale for fontsets, not LC_MESSAGES; + the user may want English messages with a handling + for non-English languages. (LC_CTYPE=ru_RU LC_MESSAGES=fr_FR + will still be broken) (Bug #2891) + +Tue Oct 19 20:36:42 1999 Changwoo Ryu + + * gtk/gtkrc.ko: Fixed the wrong number of "*"'s. + +Tue Oct 19 12:15:13 1999 Changwoo Ryu + + * gtk/gtkrc.ko: Changed the Korean default fontset. + +Fri Oct 8 02:32:47 1999 Owen Taylor + + * gtk/gtklayout.c (gtk_layout_adjustment_changed): Fix bug + where when scrolling to the left or top double exposes + were done, causing major slowdowns. + +Thu Oct 7 18:31:55 1999 Owen Taylor + + * gtk/gtkrc.c (gtk_rc_init): Always normalize codeset + names to lowercase and alphanumeric, before looking + them up. + + * gtk/Makefile.am: Install codeset variant gtkrc files + with normalized names. + +Thu Oct 7 22:52:42 1999 Tim Janik + + * gtk/gtkitemfactory.c (gtk_item_factory_popup_with_data): even + popup menus when the menu is already visible, but its parent + is still hidden, (happens after tornoff window got hidden). + +Thu Oct 7 11:09:55 1999 Owen Taylor + + * gtk/Makefile.am (install-data-local): Fix + a typo where gtkrc.vi_VN.tcvn5712 wasn't getting + deleted, causing error messages on install. + +Thu Oct 7 11:03:06 1999 Owen Taylor + + * gtk/gtk[hv]paned.c (gtk_{h,v}paned_draw): Redraw + the handle as well, since we now sometimes ignore + exposes on the handle while resizing. + +Wed Oct 6 18:02:31 1999 Owen Taylor + + * gtk/gtkrc.c (gtk_rc_append_default_pixmap_path): Fix stupid + extra g_free introduced in one of the last one or two + commits. + +Wed Oct 6 16:38:36 1999 Owen Taylor + + * gtk/Makefile.am gtk/gtkrc*: Make naming of gtkrc files + consistent, put each style that a gtkrc.* file creates + in a unique namespace, remove old files before installing. + +Wed Oct 6 14:31:16 1999 Owen Taylor + + * gtk/gtkrc.c (gtk_rc_init): Avoid leaking memory when + gtk_rc_init is called multiple times. (Yes, people who + do that have bugs in their code.) + +Tue Oct 5 11:36:57 PDT 1999 Manish Singh + + * gtk/Makefile.am: listing gtkrc in gtkconf_DATA seems to barf. + Remove it since it's generated by the Makefile anyway + +Tue Oct 5 02:43:41 1999 Owen Taylor + + * gdk/gdkinputcommon.h (gdk_input_device_new): Free + device->info.axes for core pointer. + +Thu Sep 30 13:55:25 1999 Owen Taylor + + * gtk/testgtk.c (destroy_idle_test): Rename idle to + idle_id, to deal with obsolete, broken C libraries. + +Mon Sep 27 02:50:15 1999 Owen Taylor + + * gtk/gtkvscale.c (gtk_vscale_draw): Don't add in + allocation->x/y twice! + + * gtk/gtkhscale.c: Make usage of gtk_hscale_pos_trough() + consistent with gtk_vscale_pos_trough(). + +Sun Sep 26 19:44:34 1999 Owen Taylor + + * gtk/gtkcontainer.c (gtk_container_queue_resize): We may + be queueing a resize on a toplevel container between + the time we show it and when we map it. So, we need + to test GTK_WIDGET_VISIBLE() for toplevels, and only + use GTK_WIDGET_DRAWABLE() for child windows. + +Thu Sep 23 16:41:03 1999 Owen Taylor + + * gtk/Makefile.am (LDADDS): Add GDK_WLIBS to LDADDS + (fixes bug #2144) + +Fri Sep 24 00:51:45 1999 Tim Janik + + * gtk/gtkcontainer.c (gtk_container_queue_resize): check for + container DRAWABLE (instead of VISIBLE), so we don't queue + resizes on non-toplevel containers. + +Sun Sep 19 18:13:31 1999 Owen Taylor + + * gtk/gtkselection.[ch]: Make the data argument + const guchar *. + +Sat Sep 18 21:27:40 1999 Owen Taylor + + * gtk/gtkwindow.c: Try to behave sensibly if + the focus widget is the window itself. (Should + we allow this at all?) + +Fri Sep 17 09:57:15 1999 Tim Janik + + * gtk/gtkwidget.c (gtk_widget_set_sensitive): + * gtk/gtknotebook.c (gtk_notebook_set_scrollable): + * gtk/gtknotebook.c (gtk_notebook_set_show_border): + * gtk/gtkclist.c (gtk_notebook_set_show_border): make gboolean args + in prototypes and implementations consistent (Tomas Ogren). + + * gtk/gtklayout.c (gtk_layout_remove): unset GTK_IS_OFFSCREEN flag + before the widget is unparented (reported by damon). + + * gtk/gtkdnd.c: make the cursor and icon data _unsigned_ char, + since we provide unsigned data anyways. + +Thu Sep 16 21:32:01 1999 Owen Taylor + + * gtk/gtktooltips.c (gtk_tooltips_set_tip): Delay + the call to gtk_tooltips_layout_text() until later. + + * gtk/gtktooltips.c (gtk_tooltips_draw_tips): + Call gtk_widget_ensure_style() before using the style. + +Wed Sep 15 02:52:19 1999 Owen Taylor + + * gtk/gtkwidget.c (gtk_widget_event): Added workaround + for old widgets that don't propagate draws to all + children. (Namely gnome-dock for gnome-libs <= 1.0.16) + +Tue Sep 14 19:22:19 1999 Tim Janik + + * gtk/gtkwidget.c (gtk_widget_queue_resize): don't queue the parent + for a redraw but just the widget that requested the resize. + +Tue Sep 14 18:29:47 1999 Tim Janik + + * gtk/gtkcontainer.c: added new widget level method + gtk_container_set_reallocate_redraws() and a GtkContainer flag + reallocate_redraws : 1 to reflect the setting, exported this through + the argument system as a boolean ::reallocate_redraws. + + * gtk/gtkwidget.c (gtk_widget_size_allocate): when queueing redraws + on the widget because the allocation changes, do so as well for + widget->parent if the parent has reallocate_redraws set to TRUE. + with that containers requesting reallocation redraws get automatically + redrawn if their children changed allocation (this unfortunately + affects also other children that didn't change allocation, but we + cannot work around that before 1.3). + +Tue Sep 14 18:23:01 1999 Tim Janik + + * gtk/gtkwidget.c (gtk_widget_idle_draw): only emit ::draw if width + _and_ height are >0 (not _or_). + + * gtk/gtktable.c (gtk_table_remove): use gtk_widget_queue_resize() + instead of gtk_container_queue_resize(), which is a core gtk internal + function (must have been on crack when i queued that). + + * gtk/gtkprivate.h: added new private flag GTK_FULLDRAW_PENDING, so + we can check more reliably if we want to discard expose events. + * gtk/gtkwidget.c: added setting/unsetting of the GTK_FULLDRAW_PENDING + flag. + + * gtk/gtkwidget.c (gtk_widget_event): don't discard synthesized exposes, + we simply trust these events. for deciding whether to discard exposes, + check GTK_FULLDRAW_PENDING instead of RESIZE_PENDING. + +Mon Sep 13 15:01:21 1999 Owen Taylor + + * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore + queues of areas that are completely off screen. + + * gtk/gtkwidget.c (gtk_widget_idle_draw): Fix broken + logic for handleboxes. + + * gtk/gtkwidget.c (gtk_widget_queue_draw_data): Add santity + check on width/height. + +Mon Sep 13 02:22:47 1999 Tim Janik + + * gtk/Makefile.am: backed out Raja's recent VPATH build "improvements", + we are fine with using $@ the way we do (if we actually encounter + brokeness with $@ in VPATH builds because of additional path prefixes, + we need to use $(@F) actually). + +Mon Sep 13 01:34:53 1999 Tim Janik + + * gtk/gtksignal.c: renamed two variables, hopefully didn't introduce + short lived bugs, that would allow language bindings to do surgeries + to our guts. + +Fri Sep 10 15:22:50 1999 Owen Taylor + + * gtk/gtkwindow.c (gtk_window_size_allocate): Fix typo + where comparison was being done against an uninitialized + value causing intermittant results depending on + compiler flags. Also make it clearer that we aren't + ever initializing the child as 0x0 (though this will + be caught in gtk_widget_size_allocate()) + +Fri Sep 10 10:06:56 1999 Owen Taylor + + * gtk/gtkwindow.c (gtk_window_set_transient_for): Move + gtk_window_unset_transient_for() call after we do checks + involving the old transient parent. + [ From Lance Capser ] + +1999-09-07 Raja R Harinath + + * gtk/Makefile.am (gtk.defs): Go back to using `touch' to create + an empty file. + +Mon Sep 6 00:11:56 1999 Lars Hamann + + * gtk/gtkctree.c (gtk_ctree_is_ancestor): return FALSE if node has + no children. (Reported by: Chris Rogers ) + +1999-09-03 Raja R Harinath + + * gtk/Makefile.am (gen_sources): Improve VPATH builds. + `$@' is valid only in the build dir, not after we've done + `cd $srcdir'. Also use `test -f' instead of less portable + `test -e'. + +Fri Sep 3 15:59:56 1999 Owen Taylor + + * gtk/gtktext.c (correct_cache_insert): Rewrite + for simplicity, and hopefully correctness. + (Fixes bug #1322, which was a segfault when + on some insertions with the properties around + the insertion set up just wrong.) + + * gtk/gtktext.c (gtk_text_adjustment): When we receive + a "changed" signal, clamp the new value to the adjustment + bounds to avoid segfaulting if someone tries to change + the adjustment to a bogus value. (Bug #1795) + +Thu Sep 2 16:33:59 1999 Owen Taylor + + * gtk/gtkmain.c: Ignore unexpected destroy notifies + for children, for toplevel windows handle them + like delete_event. + + * gtk/gtkplug.c: Add an unrealize handler so that + we unref plug->socket_window when we are done + with it. + +Fri Sep 3 14:52:54 1999 Owen Taylor + + * gtk/gtktext.c (clear_area): Fix stupid signedness + problem that was causing background to sometimes + be misaligned. + +Fri Sep 3 12:26:33 1999 Owen Taylor + + [ Fixes pointed out by Ettore Perazzoli ] + + * gtk/gtkmenu.c (gtk_menu_position): Make + sure we never position menus with negative x, y, + since gtk_widget_set_uposition() can't handle that. + + * gtk/gtkmenuitem.c (gtk_menu_item_position_menu): + Modify the positioning code a bit so that we always + put the top-left corner onscreen. (This is for + UI reasons, gtk_menu_position() now takes care of + gtk_widet_set_uposition() brokeness.) + +Fri Sep 3 03:06:30 1999 Tim Janik + + * gtk/Makefile.am: fixed up things for -jx, x > 1. + +Sun Sep 5 08:48:51 1999 Owen Taylor + + * gtk/gtkwidget.c (gtk_widget_modify_style): Ref the + RC style that is passed in. The lack of the ref + before was a bug. If people worked around this + bug, this will introduce a slight memory leak + in their code. The code should typically look like: + + rc_style = gtk_rc_style_new (); + [...] + gtk_widget_modify_style (widget, rc_style); + gtk_rc_style_unref (rc_style); + + * gtk/gtkwidget.c (gtk_widget_modify_style): Reset + the style if it was already set. + + * gtk/gtkwidget.c (gtk_widget_set_name): Only set the + style if it was set before. + +Thu Sep 2 19:02:37 1999 Owen Taylor + + * gtk/testgtk.c (main): Add a check to see if we + are being run from the correct directory and + to quit nicely if we are not. + + * gtk/gtkrc.c (gtk_rc_slist_remove_all): Make function + static. + +Thu Sep 2 23:00:03 1999 Tim Janik + + * gtk/gtkenums.h (GtkWindowPosition): added GTK_WIN_POS_CENTER_ALWAYS. + + * gtk/gtkwindow.c: + queue resizes unconditionally (gtk_widget_queue_resize will figure + what to do if the window is not realized). + (gtk_window_move_resize): only recenter the window + for GTK_WIN_POS_CENTER_ALWAYS. + (gtk_window_compute_reposition): handle GTK_WIN_POS_CENTER_ALWAYS in + the same way as GTK_WIN_POS_CENTER. + +Thu Sep 2 22:39:27 1999 Tim Janik + + * gtk/gtkwindow.c (gtk_window_reposition): check for the last position + with (!(info->last_flags & GDK_HINT_POS)) instead of + (!info->last_flags & GDK_HINT_POS). + + * gtk/gtkwindow.c (gtk_window_move_resize): constrain new_width and + new_height unconditionally, because we use these values even if + !default_size_changed && !hints_changed. + comented the (default_size_changed || hints_changed) case with + respect to resize rejects from the window manager. + + * gtk/gtkwindow.c (gtk_window_move_resize): save info->last values + in the zvt condition hack, since this includes the window hints, set + the hints after the handling_resize case. + + * gtk/gtkwindow.c (gtk_window_show): constrain the default size that a + window is initially shown with to the geometry. + +Thu Sep 2 07:38:56 1999 Tim Janik + + * gtk/gtkwindow.c (gtk_window_move_resize): + s/size_changed/default_size_changed/g so i know what's + really going on (frying brain on smaller flame now). + +Thu Sep 2 05:47:47 1999 Tim Janik + + * gtk/gtkwindow.c (gtk_window_move_resize): queue a new resize if + we have size_changed upon handling_resize. this is a gross + workaround for the broken zvt widget and should be removed in + 1.3 again (search for FIXME). + Owen provided an accurate comment for this: + + /* We could be here for two reasons + * 1) We coincidentally got a resize while handling + * another resize. + * 2) Our computation of size_changed was completely + * screwed up, probably because one of our children + * is broken. It's probably a zvt widget. + * + * For 1), we could just go ahead and ask for the + * new size right now, but doing that for 2) + * might well be fighting the user (and can even + * trigger a loop). Since we really don't want to + * do that, we requeue a resize in hopes that + * by the time it gets handled, the child has seen + * the light and is willing to go along with the + * new size. (this happens for the zvt widget, since + * the size_allocate() above will have stored the + * requisition corresponding to the new size in the + * zvt widget) + * + * This doesn't buy us anything for 1), but it shouldn't + * hurt us too badly, since it is what would have + * happened if we had gotten the configure event before + * the new size had been set. + */ + +Wed Sep 1 20:46:11 1999 Owen Taylor + + * gtk/gtkrc.c: deal properly with the fact that RC + style lists may include rc styles more than once. + + * gtk/gtkrc.c (gtk_rc_append_pixmap_path): Removed + unused static function. + + * gtk/gtkrc.c (gtk_rc_find_pixmap_in_path): Keep a + stack of directories of RC files currently being + parsed and implicitely add them to pixmap path. + + This fixes a bug where the directory would get + appended then overwritten by pixmap_path declarations. + + (bug #1462, from Peter Wainright ) + + * gtk/gtkthemes.c (gtk_theme_engine_unref): Call + theme's exit function. (Patch from Peter Wainwright, + bug #1454) + + * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_destroy): + Add a destroy() handler to take care of removing + group for menu item. (Fixes bug #1197) + + * gtk/gtkwidget.c (gtk_widget_size_request): Fixed thinko + in warning message. + +Wed Sep 1 21:27:42 1999 Tim Janik + + * gtk/gtkwindow.c (gtk_window_move_resize): don't require a server + roundtrip to figure window's width and height, since we know that + anyways from widget->allocation. + +Wed Sep 1 12:37:44 1999 Owen Taylor + + * gtk/gtkwindow.c (gtk_window_move_resize): Compute + the hints after we request the new size. + +Wed Sep 1 10:38:37 1999 Owen Taylor + + * gtk/gtkwindow.c (gtk_window_compute_hints): Removed + GTK_WIDGET_REALIZED() assertion - we can compute the + hints before we are realized. + + * gtk/gtkwindow.c (gtk_window_move_resize): Reorder + hint changing so that we have a value of hints_changed + when we decide whether to constrain the window size. + + * gtk/gtkwindow.c (gtk_window_move_resize): Spelling fix. + + * gtk/gtkwindow.c (gtk_window_constrain_size): cleanups, + change back to G_MAXINT. + +Wed Sep 1 06:54:59 1999 Tim Janik + + * gtk/gtkwindow.c (gtk_window_get_geometry_info): zero initialize + new GtkWindowGeometryInfo, so fields like GdkGeometry geometry + contain uncluttered values. + (gtk_window_compute_hints): simply assert that window is realized + and that geometry_info is valid, since we rely on this anyways. + (gtk_window_constrain_size): major cleanups to the code. + if (flags & GDK_HINT_BASE_SIZE) use geometry's base width and height + for the base size, instead of the minimums. use 32767 as max width + and height (like in gtkwindow.c) instead of G_MAXINT. + +Wed Sep 1 04:41:25 1999 Tim Janik + + * cleaned up the GtkContainer.need_resize flag handling mess, we + only need to force resize requests when we were prematurely + realized, or our widget tree was modified when we were temporarily + hidden. handling these cases directly upon showing the window (i.e. + while the GdkWindow is still unmapped) avoids the need to wait for + a configure event response and therefore makes the GUI more snappier + and avoids blank windows during the roundtrip. + + * gtk/gtkwidget.c: + (gtk_widget_hide): + (gtk_widget_show): don't queue resizes on toplevels, they know how + to deal with matters. + + * gtk/gtkcontainer.c (gtk_container_queue_resize): set the ->need_resize + flag directly for not visible resize containers and spare us unecessary + signal emissions. + + * gtk/gtkwindow.c: + (gtk_window_realize): if we need to enforce premature size allocation, + queue a container resize so we are correctly resized later on. + (gtk_window_init): + (gtk_window_size_request): + don't freak around with the ->need_resize flag, + gtk_container_queue_resize() will care about that. + (gtk_window_show): + handle initial resizing issues here, we can handle matters better in + this place, especially since we know that our GdkWindow is still + unmapped. + (gtk_window_move_resize): + don't care about ->need_resize at all. + handle size changes properly that occoured while we waited for a + configure event. + +Tue Aug 31 15:58:46 1999 Owen Taylor + + * gtk/gtkwidget.c (gtk_widget_set_uposition): + * gtk/gtkwindow.[hc] (gtk_window_reposition): + Move the hint setting code from gtk_widget_set_uposition + to here; set the hints so that we respect any previously + set geometry hints. + + * gtk/gtkwindow.c (gtk_window_compute_reposition): Don't + change the window hints here or move the window here, + let that happen in gtk_window_move_resize(). + +Tue Aug 31 06:58:52 1999 Tim Janik + + * gtk/gtkwidget.c (gtk_widget_event): when discarding exposes due + to already queued resizes (and therefore redraws) on a widget, check + its anchestry as well. + + * gtk/gtkcontainer.c: + (gtk_container_queue_resize): clear resize widgets for resize + containers before aborting prematurely. this is especially important + for toplevels which may need imemdiate processing or their resize + handler to be queued. + (gtk_container_dequeue_resize_handler): added new internal function for + gtkwindow.c. + + * gtk/gtkwindow.c (gtk_window_move_resize): if we are resizing due to a + configure event, take possible changes in window position into account + as well. + if we request a new window size, queue up a resize handler that will + last until the configure event response arrives. + combined the ->need_resize case (initial show) with the general size + (hints) changed case and added even more comments. + if !auto_shrink, only revert to the old allocation if the new size + is smaller than the current allocation. + +Tue Aug 31 11:55:20 1999 Owen Taylor + + * gtk/gtkwindow.c (gtk_window_set_arg, gtk_window_set_policy, + gtk_window_set_geometry_hints + gtk_window_set_default_size): + When hints are set, queue a resize so that the hints will + be eventually reset on the toplevel. + + * gtk/gtkwindow.c (gtk_window_show): Use + gtk_window_compute_default_size(). Clear the need_resize flag + on the initail map so that we don't unnecessarily trigger the + resize code. + + * gtk/gtkwindow.c (gtk_window_move_resize): Split apart + into separate functions. Compare the hints we are setting + with what we set last time so that we can accurately + tell when we need to reset the hints. + + * gtk/gtkwindow.c (gtk_window_compute_default_size): New + function to figure out the size from requisition + and default_size. + + * gtk/gtkwindow.c (gtk_window_constrain_size): Function + from fvwm to constrain a size to the geometry hints. + + * gtk/gtkwindow.c (gtk_window_compare_hints): New function + to compare two sets of geometry hints. + + * gtk/gtkwindow.c (gtk_window_compute_hints): Renamed + from gtk_window_set_hints(), just compute the hints, + don't set them. + + * gtk/gtkwindow.c (gtk_window_compute_reposition): Move + code from gtk_window_move_resize() to separate function, + rationalize a bit. + +Tue Aug 31 13:05:03 1999 Owen Taylor + + * gtkrc.h: Move the ref_count member out of the GtkRcStyle + structure into a new private structure. + + * gtkrc.c: Split GtkRcStyle into public/private. + In the private part, add a list of pointers to the + RcStyle lists this RcStyle participates in. + + * gtkrc.c: When a RcStyle is free, remove all + lists referencing it from the + realized_style_ht hash, and free those lists. + + * gtk/gtkrc.c (gtk_rc_clear_styles): Don't call + gtk_rc_init(), since that adds the default styles + to the list of parsed RC files again. + + * gtk/gtkrc.c: Use gtk_rc_style_find() consistently. + +Thu Aug 26 14:14:42 1999 Tim Janik + + * gtk/gtkwidget.c (gtk_widget_size_allocate): reactivated the sanity + checks that ensure that a widget's allocation is at least 1 in width + and height. (GNOME note: this doesn't affect old panel code anymore, + because GtkSocket will request width and height of at least 1 since + Fri Jul 23). + + * gtk/gtkwindow.c (gtk_window_realize): if the widget hasn't been + allocated yet (happens if the user realizes the window prematurely), + size request and allocate it. + (gtk_window_size_allocate): guard against guint underflows. + +Wed Aug 25 19:01:36 1999 Lars Hamann + + * gtk/Makefile.am (gtk_built_sources): reordered stamp-gtk.defs + in gtk_built_sources, so gtk.defs gets built prior to all other + sources. + +Mon Aug 23 19:11:17 1999 Tim Janik + + * gtk/Makefile.am: + invoke indent on gtkmarshal.*. + rewrote source generation rules, use COPYING as oldest source tag for + a piggyback rule to generate all sources from (don't touch it ;). + major cleanups, strip spaces on build rules for GNU Make. + + * gtk/genmarshal.pl: don't operate on hardcoded filenames but take + source and target files from commandline arguments. don't invoke indent. + +Sat Aug 21 14:07:36 1999 Lars Hamann + + * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize + notebook after switch to avoid drawing problems. + (Bug#856 Reported by: Theodore Roth ) + + (gtk_notebook_pages_allocate): don't map not visible tab_labels, + show them instead. + (Bug#1805 Reported by: Dave Cole ) + +Sat Aug 21 14:07:36 1999 Lars Hamann + + * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize + notebook after switch to avoid drawing problems. + (Bug#856 Reported by: Theodore Roth ) + + (gtk_notebook_pages_allocate): don't map not visible tab_labels, + show them instead. + (Bug#1805 Reported by: Dave Cole ) + +Wed Aug 18 09:20:10 1999 Tim Janik + + * gtk/gtkwindow.c: + we use window->need_resize from configure_event now, to indicate that + the gtkwindow should keep its allocation (e.g. because the user resized + the window through window manager handles). resize_count is now reliably + used to figure whether we got the allocation we requested from the + window manager. + configure events get queued as resizes now, the real stuff (size + computation and allocation) now only goes on in gtk_window_move_resize(). + GtkWindow's requisition now contains its *real* requisition (like all + other widgets), *not* taking usize into account. + geometry_info->last_{width|height} is now updated from set_hints() only + so it always contains the last hints we set for the window manager. + made some event handlers return TRUE instead of FALSE. + the overall code should be much more straight forward now, and the + significant code portions are accompanied by comments now. + (gtk_window_set_hints): + removed requisition argument and made it + fetch the requisition through gtk_widget_get_child_requisition. + we also don't move the gdkwindow here anymore, gtk_window_move_resize() + does that now. + (gtk_window_show): + ensure that the widget is realized before calling + gtk_container_check_resize() (and thus gtk_window_move_resize()), also + ensure that we got properly size requested and allocated before + realization. + (gtk_window_configure_event): + ignore plain window moves, or reallocate the widget tree through the + resize queue otherwise. + (gtk_window_move_resize): + mostly rewrote this function to figure window manager hints more + reliably, coalesce window moves and resizes to reduce configure events + and do actuall size allocations. + +Tue Aug 17 07:43:04 1999 Tim Janik + + * gtk/gtkwidget.c (gtk_widget_event): discard expose events for widgets + that have a resize pending, because a redraw is already queued for them. + + * gtk/gtkcontainer.c: removed ugly connect_to ::size_allocate signal + hack to clear resize_widgets. + + * gtk/gtkwidget.c (gtk_widget_size_allocate): call clear_resize_widgets + for resize containers prior to size allocation. (this is also a bit + ugly, but avoids side effects for stopped emissions and is thus more + reliable). + (gtk_widget_unparent): removed disconnect call for clear_resize_widgets. + + * gtk/gtktooltips.c (gtk_tooltips_paint_window): renamed this + function from gtk_tooltips_expose, as we connect to ::expose_event + *and* ::draw now. + +1999-08-18 Federico Mena Quintero + + * gtk/gtkselection.c (gtk_target_list_ref): Added missing sanity + checks. + (gtk_target_list_unref): Likewise. + + * gtk/gtkthemes.c (gtk_theme_engine_unref): Likewise. + +Tue Aug 17 15:47:07 1999 Owen Taylor + + * gtk/gtkcolorsel.c (gtk_color_selection_draw_value_bar): + guard against division by zero. (Fixes bug #1339) + +Tue Aug 17 10:56:49 1999 Owen Taylor + + * gtk/gtkentry.c (gtk_move_{forward,backward}_word): + Prevent the trivial leak of information of allowing + word motion when the entry is not visible. + +Tue Aug 17 10:28:52 1999 Owen Taylor + + * gtk/gtkfilesel.c (gtk_file_selection_fileop_error): Propagate + modality to error dialog as well as confirmation dialogs. + (Bug #1803, reported by Rosanna Wing Sze Yuen) + +Wed Aug 11 01:04:57 1999 Owen Taylor + + * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): Honor + tree->view_lines. + (gtk-guy-990611-3.patch: Guy Harris ) + + * gtk/Makefile.am (install-data-local): Solaris apparently + has various troubles with ln -f; use rm first instead. + (gtk-guy-990611-2.patch: Guy Harris ) + +1999-07-30 Raja R Harinath + + * gtk/Makefile.am (stamp-m): Don't `mv' from builddir to srcdir, + use `cp' followed by `rm' (the `rm' was already there). + +July 30, 1999 Elliot Lee + + * configure.in: Fix autoconf warnings about cross compilation by + trying to provide sane defaults for AC_TRY_RUN. + * gtk/Makefile.am: If we refer to gtkmarshal.[ch] in $(srcdir), + put them into $(srcdir) when generated. Also add a dependency of + gtksignal.h on gtkmarshal.h for -j builds. + * gtk/gtk(dnd,style,gamma).c: Minor warning fixes. + +Wed Jul 28 09:29:19 1999 Owen Taylor + + * gtk/gtkmain.c (gtk_main_iteration_do): Added missing + GDK_THREADS_{LEAVE,ENTER} pair. + (From Paul Fisher ) + +Fri Jul 23 01:00:15 1999 Tim Janik + + * gtk/gtksocket.c (gtk_socket_size_request): asure that the requested + width and height are always >0 (owen). + +Fri Jul 23 00:00:47 1999 Tim Janik + + * gtk/gtkwidget.c (gtk_widget_size_allocate): backed out my recent + change that assured that a widget's allocated with and height are + always >1, since this breaks *buggy* panel code. unfortunately this + back-breaks the gimp's color selector. + + * gtk/gtkdrawingarea.c (gtk_drawing_area_size_allocate): asure that our + allocation is always >0 in width and height, before sending the + configure event; this is a *gross* hack to get the gimp back to work. + + * marked both cases with TODO-1.3 + +Wed Jul 21 15:47:39 1999 Owen Taylor + + * gtk/gtktext.c: Don't display wrap indicators when + text is not editable and word wrap is on. + +Wed Jul 21 08:21:40 1999 Tim Janik + + * gtk/gtkitemfactory.c (gtk_item_factory_create_item): special case + option menus here as they are not derived from menu shell, assure that + the option menu has a menu we can add items to. + +Tue Jul 20 23:29:48 1999 Tim Janik + + * gtk/gtknotebook.c (gtk_notebook_page_allocate): convert allocation-> + width/height to (gint) before calculations and check against < 0 to + avoid guint wraparounds. + +Sun Jul 18 00:35:49 1999 Tim Janik + + * gtk/gtkwidget.c (gtk_widget_size_allocate): ensure that the allocated + width and height is never zero. sanity check both dimensions against + 32767 and issue a warning if the allocation is greater than that. + +Wed Jul 7 15:03:30 1999 Owen Taylor + + * gtk/gtkmain.c (gtk_events_pending): Unlock around call + to g_main_pending() as well. + +Wed Jul 7 14:59:01 1999 Owen Taylor + + * gtk/gtkmain.c (gtk_main_iteration): Unlock around + call to g_main_iteration() - since that will regrab + GTK+ lock to process events. + +Thu Jul 1 15:01:55 1999 Owen Taylor + + * gtk/gtkwindow.c + - Regularize with the rest of GTK+ by making widget->requisition + not reflect the set_usize() + - Always recompute geometry hints, then check if they + changed before sending them to the X server. The + previous checks for changes would fail in a number + of circumstances. + +Thu Jul 1 11:55:59 1999 Owen Taylor + + * gtk/gtkstyle.c: Include for strcmp(). + +Wed Jun 30 19:26:36 1999 Owen Taylor + + * gtk/gtkdnd.c: + - Code cleanups + - Instantaneously update on modifier key presses + - Allow cancellation of the drag with Escape. + +Tue Jun 29 17:04:09 1999 Owen Taylor + + * gtk/testgtk.c (create_handle_box): Set the policy + to auto_shrink - otherwise the appearance is rather + strange when flipping between horizontal and vertical. + +Mon Jun 28 09:29:52 1999 Tim Janik + + * gtk/gtkwindow.c: add ::default_width and ::default_height arguments. + (gtk_window_set_default_size): don't change a value if it's < 0. + queue a resize. + +Sun Jun 27 11:00:33 1999 Tim Janik + + * gtk/gtktext.c (gtk_text_insert): don't segfault on NULL inserts. + +Mon Jun 28 12:08:25 1999 Owen Taylor + + * gtk/gtkfilesel.c (cmpl_completion_fullname): Don't + add an extra "/" when concating "/" + filename. + (From Matt Grossman ) + +Mon Jun 28 10:57:12 1999 Owen Taylor + + * gtk/gtkctree.c (draw_cell_pixmap): Reset clip mask + for fg_gc if we set it for drawing pixmap. + +Tue Jun 15 12:45:12 1999 Owen Taylor + + Fixes from Peter Wainwright + + * gtk/gtkrc.c (gtk_rc_parse_engine): If rc_style->engine is + already set, call old engine's destroy function and + unref the old engine. + +Thu Jun 10 17:59:38 1999 Tim Janik + + * gtk/gtkdrawingarea.c (gtk_drawing_area_size): queue a resize. + +Wed Jun 9 15:13:16 1999 Tim Janik + + * gtk/gtkaccelgroup.h: mark certain functions as internal. + +Wed Jun 9 13:48:28 1999 Tim Janik + + * gtk/gtkpreview.c (gtk_preview_set_expand): queue a resize if the + expand behaviour changed. + + * gtk/gtklabel.c (gtk_label_set_pattern): + (gtk_label_set_justify): + (gtk_label_set_line_wrap): + don't bother invoking queue_clear, the reallocation does + that for us, always free_words so the upcoming resize will + relayout the label's contents. + +Wed Jun 9 12:50:48 1999 Tim Janik + + * applied argument implementation patches from Elena Devdariani + . + + * gtk/gtktoolbar.c: ::orientation, ::toolbar_style, ::space_size, + ::space_style, ::relief + * gtk/gtkruler.c: ::lower, ::upper, ::position, ::max_size + * gtk/gtkpreview.c: ::expand + * gtk/gtkpaned.c: ::handle_size, ::gutter_size + * gtk/gtknotebook.c: ::homogeneous + * gtk/gtklabel.c: ::wrap + * gtk/gtklist.c: ::selection_mode + * gtk/gtkhandlebox.c: ::handle_position, ::snap_edge + * gtk/gtkcurve.c: ::curve_type, ::min_x, ::max_x, ::min_y, ::max_y + * gtk/gtkcolorsel.c: ::update_policy, ::use_opacity + * gtk/gtkclist.c: ::sort_type + * gtk/gtkcheckmenuitem.c: ::active, ::show_toggle + * gtk/gtkaspectframe.c: ::xalign, ::yalign, ::ratio, ::obey_child + +Tue Jun 1 23:38:38 1999 Owen Taylor + + * gtk/gtkstyle.c: Removed ill-thought-out part of last + comment. + +Tue Jun 1 23:30:09 1999 Owen Taylor + + * gtk/gtkstyle.c (gtk_style_attach): Get the reference + counting right when we have to attach a new style + for a different visual. (Chi-Deok Hwang ) + + * gtk/gtkstyle.c: Documented the refcounting + peculularities of gtk_style_attach. + +1999-06-01 Tim Janik + + * gtk/gtkwindow.c (gtk_window_new): added return if fail for invalid + window types. + + * examples/packer/pack.c (main): use GTK_WINDOW_TOPLEVEL instead + of GTK_TOPLEVEL for creating the window. + +1999-06-01 Tim Janik + + * gtk/gtkmain.c (gtk_init_check): don't segfault when --gtk-module is + the last argument (reported by Per Winkvist). + +Tue May 25 13:13:12 1999 Owen Taylor + + Fixes for invisible XOR lines (Frank Loemker + ) + + * gtk/gtkclist.c (gtk_clist_realize): Always use + a non-zero pixel for GDK_XOR. + + * gtk/gtkvpaned.c gtk/gtkhpaned.c: + Use GDK_INVERT instead of GDK_XOR. + +Wed May 12 21:56:40 1999 Lars Hamann + + * gtk/gtkclist.c (adjust_adjustments): signal emit value_changed + signals if h/voffsets differ from adjustment values. + Reportet by Jerome Bolliet + +Mon May 10 04:20:41 1999 Tim Janik + + * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): propagate + ::selection-done emissions up to the topmost menu shell. + +Fri May 7 10:15:14 1999 Owen Taylor + + * gtk/gtknotebook.c (gtk_notebook_set_scrollable): Unset + the user data on the window before destroying it. + + * gtk/gtknotebook.c (gtk_notebook_unrealize): Add an + unrealize handler to take care of destroying + notebook->panel properly. + (Bug #1198 - Morten Welinder ) + + * gtk/gtktext.c (expand_scratch_buffer): Fix reversal + of g_new and g_realloc to stop memory leak. (Actually, + we could just use g_realloc(), but I'm not 100% sure + that is portable). + (Bug #1196 - Morten Welinder ) + +Wed Apr 21 00:42:08 1999 Owen Taylor + + * gtk/gtkplug.h: Removed stray GtkPlugButton declaration. + + * gdk/gdkfont.c (gdk_text_measure): Fix the return value + for fontsets. + + * gtk/gtkbutton.c (gtkbutton_expose): Fix warning + with bin/button confusion. + +Thu May 6 04:53:26 1999 Tim Janik + + * gtk/testgtk.c: in the ItemFactory test, link radio items together, + and show how preselection of radio items is done. + +Sun May 2 13:31:14 1999 Tim Janik + + * gtk/gtktreeitem.c (gtk_tree_item_set_subtree): + * gtk/gtktree.c (gtk_tree_add) (gtk_tree_insert): + * gtk/gtktoolbar.c (gtk_toolbar_insert_element): + * gtk/gtkpaned.c (gtk_paned_pack2) (gtk_paned_pack1): + * gtk/gtkscrolledwindow.c (gtk_scrolled_window_add): + * gtk/gtktable.c (gtk_table_attach): + * gtk/gtklist.c (gtk_list_insert_items): + * gtk/gtkmenushell.c (gtk_menu_shell_insert): + * gtk/gtknotebook.c (gtk_notebook_insert_page_menu): + * gtk/gtkpacker.c (gtk_packer_add_defaults) (gtk_packer_add): + * gtk/gtkbin.c (gtk_bin_add): + * gtk/gtkbox.c (gtk_box_pack_start) (gtk_box_pack_end): + * gtk/gtkfixed.c (gtk_fixed_put): + * gtk/gtklayout.c (gtk_layout_put): + general fixups to container_add logic. always realize child if + child->parent is realized, only map the child and queue a resize + if child and child->parent are both visible. + +Fri Apr 30 09:02:28 1999 Tim Janik + + * gtk/gtkwidget.c (gtk_widget_real_unrealize): use gtk_container_forall + instead of gtk_container_foreach to walk and unrealize children, so + composite children get also unrealized. + (gtk_widget_real_show): don't call gtk_widget_map() if we don't need to. + (gtk_widget_map): assert that the widget is visible (basic constrain). + (gtk_widget_real_map): assert that the widget is realized (basic + constrain). + +Fri Apr 29 00:53:20 1999 Tim Janik + + * gtk/gtkbindings.c (gtk_pattern_spec_init): plugged a memory leak. + +Tue May 4 09:32:08 1999 Owen Taylor + + * gtk/Makefile.am gtk/gtkrc.iso-8859-2: Add a gtkrc + file for iso-8859-2 locales. + + * configure.in (ALL_LINGUAS): ALL_LINGUAS update. + +Tue Apr 27 16:38:32 1999 Owen Taylor + + * gtk/Makefile.am: Fix typo of static_sources for static_SOURCES. + (Pointed out by andy@rz.uni-karlsruhe.de and others). + Remove some suspicious and useless lines. + +Tue May 4 08:44:08 1999 Owen Taylor + + * gtk/gtkclist.c (gtk_clist_draw, draw_rows): Use + width,height = 0, 0 to mean - here to edge of window, + instead of -1, -1, since the former is all we support. + +Tue May 4 08:34:43 1999 Owen Taylor + + * gtk/gtkmain.c (gtk_main): Correctly free list nodes + when removing from quit_functions list. + +Tue Apr 27 14:17:16 1999 Tim Janik + + * gtk/gtkpacker.c (gtk_packer_size_request): remove unused variable. + +Tue Apr 27 18:23:35 1999 Owen Taylor + + * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): + When redrawing characters on non-visible entry, use appropriate + '*' character. (Bug #1130 - Jean-Marc Jacquet ) + +Tue Apr 27 01:31:40 1999 Lars Hamann + + * gtk/gtkclist.c (drag_dest_cell): compute destination cell + from drag coordinates. + (gtk_clist_drag_data_received) (gtk_clist_drag_motion): + use drag_dest_cell. + + * gtk/gtktree (drag_dest_cell) + (gtk_ctree_drag_data_received) (gtk_ctree_drag_motion): likewise. + (Bug #1129) + +Wed Apr 21 21:26:11 1999 Tim Janik + + * gtk/gtkitemfactory.c (gtk_item_factory_init): properly initialize + translate_* fields. + (gtk_item_factory_finalize): invoke translate_notify independant from + translate_data. + (gtk_item_factory_set_translate_func): likewise. + (gtk_item_factory_destroy): only remove ifactory pointer from those + widgets that belong to us (stupid me). + +Mon Apr 19 12:05:31 1999 Owen Taylor + + * gtk/gtkrc.c (gtk_rc_style_init): Fixed leak of + rc_style list when lookup succeeeds. + +Thu Apr 15 01:11:24 1999 Lars Hamann + + * gtk/gtkctree.c (resync_selection): + * gtk/gtkclist.c (resync_selection): fixed undo_selection bug. + * gtk/gtkclist.c (gtk_clist_button_release): fixed resync_selection + bug. + +Fri Apr 9 19:22:19 1999 Owen Taylor + + * gtk/gtkcolorsel.c gtk/gtkdnd.c gtk/gtkmenuitem.c: + Add some missing GDK_THREADS_ENTER()/LEAVE around + timeouts. (Patches from Sebastian Wilhelmi ) + +Thu Apr 8 20:10:33 1999 Tim Janik + + * gtk/gtkentry.c (gtk_entry_key_press): use gtk_widget_activate() + rather than emit_by_name. + + * gtk/gtkeditable.c (gtk_editable_insert_text): keep a reference + on the widget across multiple signal emissions. + (gtk_editable_delete_text): same here. + (gtk_editable_class_init): set widget_class->activate_signal after + editable_signals[ACTIVATE] has been created. + +Wed Apr 7 22:59:47 1999 Owen Taylor + + * gtk/gtkpaned.c (gtk_paned_set_position): Don't clamp + position here prematurely -- we might not have the + right ->min_position and ->max_position yet. + +Tue Apr 6 16:38:51 1999 Owen Taylor + + * gtk/gtkselection.c gdk/gdkselection.c: (gtk_selection_request): + Add error traps so if the other end of the connection + dies, we survive. + + * gtk/gtkselection.c (gtk_selection_notify): Clean + up properly when selection property retrieval fails. + + * gtk/gtkselection.c (gtk_selection_request): Correctly + reject SelectionRequest notifies where the handler + returns no data. + +Tue Apr 6 12:24:21 1999 Owen Taylor + + * gtk/gtkdnd.c (gtk_drag_dest_leave): Only unhighlight + when we've previously highlighted. + + * gtk/gtkdnd.c (gtk_drag_dest_handle_event): Don't + emit two "drag_leave" signals for Motif drops. + + * gtk/gtkdnd.c (gtk_drag_source_handle_event): Send + back the correct status messages when dropping from + Motif onto a proxy window that is rejecting the + drop. + +Sat Mar 27 23:32:13 1999 Tim Janik + + * gtk/gtkarg.[hc]: added functions from GLE, gtk_arg_reset() to free + the value and reset type to GTK_TYPE_INVALID, and gtk_arg_values_equal() + to compare two argument values. added gtk_arg_to_valueloc() to set a + variable from an arg through its location (pointer). + + * gtk/gtkobject.[hc]: implemented gtk_object_get() in terms of + gtk_object_arg_get() and gtk_arg_to_valueloc(), floats are collected + as gfloat*, uchars are collected as guchar*, ints are collected as + gint*, etc... + +Mon Mar 29 17:45:47 1999 Owen Taylor + + * gtk/gtkaccelgroup.c gtk/gtkgtkbindings.c: + Include instead of . + + * gtk/gtkstyle.c: Fix double include of gtkthemes.h + (actually, a lot more duplicate includes occur if + you trace through the sequence of #include's) + gtk-jbb-990320-0: John Bley, jbb6@acpub.duke.edu + +Mon Mar 29 17:02:58 1999 Owen Taylor + + Patches from Akira Higuchi + gtk-a-higuti-990322-[0-3] + + * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS + that was causing -DX_LOCALE not to work. + + * gtk/gtkrc.c (gtk_rc_init): + X_LOCALE will never have LC_MESSAGES defined + +Thu Mar 25 12:38:31 1999 Tim Janik + + * gtk/gtkrc.c (gtk_rc_append_default_module_path): get $HOME from + g_get_home_dir() (gtk-pmc-990123-0.patch.gz). + + * gtk/gtkwindow.c (gtk_window_key_press_event): feature keypad up/down/ + left/right as well (gtk-michael-980726-0.patch.gz). + + * gtk/gtklabel.[hc]: bunch of miscellaneous cleanups, such as s/0/NULL/ + for pointer values, use gchar instead of char. fixed uline allocation + leaks, changed the allocation pattern so we use G_ALLOC_AND_FREE mem + chunks instead of G_ALLOC_ONLY. + (gtk_label_size_request): always alter requisition as passed and leave + widget->requisition alone. + (gtk_label_set_text): allow NULL strings. + (gtk_label_new): likewise. + +Wed Mar 24 09:24:03 1999 Tim Janik + + * gtk/gtkdrawingarea.[hc]: type/macro fixups. + +Mon Mar 22 05:51:34 1999 Tim Janik + + * gtk/gtkbin.c (gtk_bin_draw): only redraw children that are visible + *and* mapped (i.e. drawable). + (gtk_bin_expose): only send exposes to drawable children. + + * gtk/gtkbox.c (gtk_box_draw): only redraw children that are drawable. + (gtk_box_expose): only send exposes to drawable children. + + * gtk/gtkhscale.c (gtk_hscale_draw): + * gtk/gtkvscale.c (gtk_vscale_draw): + hm, this is an ugly one. we first compute the size of our trough area + here (window relative) and then check intersection with the draw_area + which is parent relative because we're a NO_WINDOW widget, so we need + to offset the trough area by allocation.x and allocation.y before the + check. (this must not be done for the background area though, since + that's already computed parent relative). + +Mon Mar 22 00:41:39 1999 Lars Hamann + + * gtk/gtkclist.c (gtk_clist_unrealize): unmap clist if neccessary, + unrealize title buttons. + +Fri Mar 19 00:00:22 1999 Lars Hamann + + * gtk/gtkclist.c (gtk_clist_column_title_passive) + (gtk_clist_column_title_active): + only connect/disconnect to GtkWidgetClass::event to block mouse events. + + * gtk/gtkclist.c (vertical_timeout) (horizontal_timeout): + zero initialize event, removed superfluous gdk_window_get_pointer call + + * gtk/gtklist.c (gtk_list_vertical_timeout) + (gtk_list_horizontal_timeout): removed superfluous + gdk_window_get_pointer call + +Wed Mar 17 09:00:00 1999 Tim Janik + + * plugging problems reported by "Bruce Mitchener, Jr." + due to a purify session. + + * gtk/gtkstyle.c: + (gtk_style_ref): + (gtk_style_unref): assert ref_count to be > 0. + + * gtk/gtkclist.c (gtk_clist_set_cell_style): { 0 } initilaize + the requisition. + (gtk_clist_set_shift): likewise. + + * gtk/gtklayout.c: introduce gtk_layout_finalize() to unref the + adjustments. + + * gtk/gtklist.c (gtk_list_horizontal_timeout): zero initialize the + event before sending it and set send_event to TRUE (which needs to + be done for *all* synthesized events). + (gtk_list_vertical_timeout): likewise. + + * gtk/gtktipsquery.c (gtk_tips_query_destroy): plug small memory + leaks. + + * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set send_event + to TRUE when synthesizing events. + +[ *** end of merges from 1.2 *** ] + +1999-11-21 Tor Lillqvist + + * gdk/gdkconfig.h: Remove, as this is a file generated by configure + (or copied from gdkconfig.h.win32 on Win32, sigh). + + * gdk/gdkprivate.h: Mark gdk_parent_root for export from DLL. + + * gdk/gdk.c (gdk_keyval_convert_case): Fix typo. + + * gdk/gdkgc.c (gdk_gc_alloc): Remove duplicated line. + + * gdk/gdkconfig.h.win32: New file. + + * gdk/win32/makefile.cygwin: Build just a static archive here. + + * gdk/makefile.cygwin: New file. Get the win32-specific stuff + for the DLL from the static archive built above. + + * gdk/gdk.def: Moved here from the win32 subdirectory. + + * gdk/win32/*: Adapt for the changed private struct organisation. + + * gtk/makefile.{cygwin,msc}: Get gdk library from ../gdk now. + +Sun Nov 21 16:44:35 1999 Stefan Jeske + + * gtk/gtkspinbutton.c (gtk_spin_button_button_press): Added support + for wheel mice (buttons 4 and 5). + +1999-11-18 Tor Lillqvist + + * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Also for truecolor + drawables use just the pixel field in the foreground and + background GdkColor of the GdkGC. + + gdk_gc_set_{fore,back}ground() are called in the GIMP with + GdkColors containing uninitialized (red,green,blue) fields, and + just the pixel field filled in, and furthermore in the + visual-dependent format as returned by gdk_rgb_xpixel_from_rgb(). + It thus turns out that we really don't need to have the full + GdkColor for fg and bg in GdkGCWin32Data after all. Will change + it later to have just the pixel values. + +Mon Nov 15 17:17:51 GMT 1999 Tony Gale + + * docs/gtkfaq.sgml: s/gtk_main_iteration/g_main_iteration/ + +Sat Nov 13 22:30:29 GMT 1999 Tony Gale + + * docs/gtkfaq.sgml: threads example from Erik Mouw. + New question on GtkLabel background colors. + + * docs/gtk_tut.sgml: + - Correct the example code callback + function definitions. + - Update the gtkdial example code, from Frans van Schaik. + - Update setselection.c to current API. + + * examples/Makefile examples/*/*.c: Update to code + listed in tutorial. + +1999-11-10 Tor Lillqvist + + * gdk/win32/gdkfont-win32.c: Fix a couple of bugs. The Unicode + subrange table (from the "Developing International Software for + WIndows 95 and Windows NT" book) was missing the Hangul syllable + block... Get the loaded font's charset correctly. + + (Note that this, and the other *-win32.c files, still really are + the old ones, the win32 subdirectory is not ready for compilation + yet after the reorg.) + +Wed Nov 10 17:26:49 GMT 1999 Tony Gale + + * gtk/gtkclist.c: Fix off-by-one bug in parameter + check. + +Wed Nov 10 12:12:03 1999 Owen Taylor + + * gdk/x11/gdkinput-{x11,xfree}.c: Call XFreeDeviceState() + on results of XQueryDeviceState(). + +Mon Nov 8 16:40:43 1999 Owen Taylor + + * gtk/gtkwidget.c: Substitute gdkx.h => gdkprivate.h since + we need to accesss only ->children. We need an accessor + for the children. + + * gtk/gtkhandlebox.c gtk/testgtk.c: Substitute G + DK_ROOT_PARENT() => NULL, in call to gtk_window_get_pointer() + to get rid of gdkx.h include. + + * gtk/gtkctree.c: Get rid of #include + and random references to 'None'. + + * gtk/gtkclist.c gtk/gtkeditable.c gtk/gtkpreview.c + Get rid of unused #include + + * gtk/gtkrc.c gtk/gtkmain.c: Get rid of #include + gdkx.h is _X_ specific stuff. GDK_WINDOWING comes from + gdkconfig.h. + +1999-11-08 Tor Lillqvist + + * gdk/win32/gdkdraw.c + * gdk/win32/gdkfont.c + * gdk/win32/gdkgc.c: Various minor cleanups and bugfixes + following yesterday's changes. (Unrelated to Owen's reorg.) + +Mon Nov 8 16:18:25 1999 Owen Taylor + + * gdk/x11/gdkinput-gxi.c: Add missing include, + fix GdkWindowPrivate => GdkDrawablePrivate. + + * gdk/x11/gdkinputprivate.h: include . + + * gdk/x11/Makefile.am (xinput_sources): Add missing + backslash to fix building with --with-xinput=none + +Mon Nov 8 14:47:04 1999 Owen Taylor + + Move all X specific code into the x11/ directory. + Aside from shuffling things around, did the following: + + * gdk/gdkprivate.h gdk/gdk.h gdk/x11/gdkmain-x11.h: Add + gdk_arg_context_* - a simple argument parsing system + in the style of popt. + + * gdk/gdkdrawable.[ch] gdk/gdkprivate.h gdk/gdkwindow.[ch] + gdk/x11/gdkprivate-x11.h: + Remove X specific stuff from GdkDrawable and GdkWindowPrivate - + add ->klass and ->klass_data fields. The klass_data + field points to an auxilliary structure that is + windowing system dependent. + + * gdk/gdkfont.c: Make most of the measurement functions + simply wrappers around gdk_text_extents(). + + * gdk/gdkfont.c gdk/gdkprivate.h gdk/x11/gdkfont-x11.c: Add a + _gdk_font_strlen() function that hides the weird + behavior in gtk+-1.[02] where a string is interpreted + differently for 8-bit and 16-bit fonts. + + * gdk/gdkevents.c: Add a new function gdk_event_button_generate() + to store common code for synthesizing double/triple + press events. + + * gdk/gdkgc.[ch]: Virtualize in the same way as gdkdrawable.h. + Make all the function that modify an existing GC + simply wrappers around gdk_gc_set_values(). + + * gdk/gdkcc.[ch]: Moved into x11/ directory in preparation + for throwing out later. + + * gdk/gdkfont.c gdk/gdkimage.c gdk/gdkcolor.c: Change GdkFontPrivate, + GdkImagePrivate and GdkColormapPrivate to have a + windowing system dependent part (GdkFontPrivateX etc.) + that "derives" from the system-independent part. + + * configure.in gdk/x11/Makefile.in gdk/x11/gdkinput*.c: + Got rid of the included-source-files for XInput in + favor of automake conditionals. (Which didn't exist + when XInput support was originally added.) + + * gdk/gdkrgb.c: Remove the visual id from the debugging + statements since that is X11 specific; print out + type/depth info instead. + + +Wed Nov 3 18:14:49 1999 Owen Taylor + + * gdk/x11/gdkfont-x11.c (gdk_font_load): Ref fonts when + loading duplicates of hashed fonts. + + * gdk/gdk.c (gdk_keysym_convert_case): rename + gdk_XConvertCase to gdk_keysym_convert_case, allow + results to be NULL in the GTK+ style. + + * gdk/gdkcompat.h: Started compatibility header + for renames. + +1999-11-07 Tor Lillqvist + + * gdk/win32/gdkprivate.h: New font private structures, related to + fontsets. + + * gdk/win32/gdkfont.c: New functions gdk_font_list_new() and + gdk_font_list_free(). On X11, will just be wrappers to + XListFonts() and XFreeFontNames(). On Win32, the code previously + in gtkfontsel.c is now here. + + New function gdk_font_xlfd_create(). On X11 will get the FONT + property of the font (for GDK_FONT_FONTs), or call + XBaseFontNameListOfFontSet (for GDK_FONT_FONTSETs), on Win32 + builds a XLFD style name from the font information in the LOGFONT + struct(s). + + New function gdk_font_xlfd_free(), which correspondingly frees the + string returned by gdk_font_xlfd_create(). + + Implement fontsets on Win32. Add a function that iterates over a + wide char string and calls a callback function for each substring + of wide chars from the same Unicode subrange (and thus probably + available in the same real font). + + Improve the XLFD emulation a bit. + + * gdk/win32/gdkim.c (gdk_nmbstowchar_ts): Small bugfix. + + * gdk/win32/gdkevents.c: Workaround for suspected bug on Win2k + Beta3, WM_IME_CHAR messages don't seem to contain the composed + multi-byte char as with the Active IMM on Win9x. Oh well, handle + WM_IME_COMPOSITION with GCS_RESULTSTR instead, use + ImmGetCompositionStringW() to get the composed Unicode chars. + + * gdk/win32/gdkgc.c + * gdk/win32/gdkdraw.c: Changes needed because of the font private + struct changes. + + * gdk/win32/gdk.def: Add the new functions. + +1999-11-04 Tor Lillqvist + + * config.h.win32: Don't define HAVE_DIMM_H if MSC, as you have to + get the Platform SDK to get . + + * gdk/win32/gdkevents.c: More event handling fixes and + simplification. Never generate motion events with is_hint true. We + used to do that on bogus grounds earlier. Windows sends + WM_MOUSEMOVE messages on button events even if the mouse hasn't + moved, ignore these. + + * gdk/win32/gdkfont.c: Load all fonts as (pretended) fontsets. + + * gdk/win32/gdkglobals.c + * gdk/win32/gdkprivate.h: Define a typedef for the pointer to + the TrackMouseEvent function, and use it. + + * gdk/win32/gdkwindow.c: Terminate widechar string with a zero + char before calling WideCharToMultiByte in order to get a string + for the window title. + + * gdk/win32/gdkdnd.c: Some more random hacking, ifdeffed out. + + * gdk/win32/gdk.def: Remove obsolete functions. + + * gdk/win32/makefile.{cygwin,msc}: Remove gdkcompat.{o,obj}. Add + /nodefaultlib and /defaultlib switches. + + * gtk/gtkrc.c: s/gwin_getlocale/g_win32_getlocale/. + +1999-10-31 Tor Lillqvist + + * gdk/gdkkeysyms.h: Add new keysyms from X11R6.4 (including + EuroSign). + + * gdk/gdktypes.h: Add note about wchar_t not necessarily being the + same type as GdkWChar, especially on Win32. + + * gdk/win32/*.c: Change gdk_root_parent to be a pointer. + + * gdk/win32/*.c: Assume all strings are UTF-8. Convert to Unicode + before passing to Windows GDI for drawing etc. Convert to the + system default codepage before passing to Windows as window + titles. + + * gdk/win32/gdkprivate.h: Add more fields to GdkWindowPrivate to + support changing input locale on the fly. + + * gdk/win32/gdkevent.c: Support input language (keyboard locale) + on-the-fly changes. Convert incoming characters from the current + codepage to Unicode (and then to a UTF-8 multi-byte string) based + on the current input language. Use keysym<->Unicode mapping tables + and functions borrowed from xterm sources. + + Support IMEs (Input Method Editors) for CJK languages. On non-CJK + editions of Win9x, use the ActiveX-based Active IMM (Input Method + Manager) if available. IMEs and the Active IMM are available under + the disguise of Chinese, Korean and Japanese support for IE and + Outlook Express from "Windows Update" for Win98. On Win2k, the CJK + support is present in all editions (as long as you install it). + + Call DispatchMessage from gdk_events_queue() (and thus + gdk_WindowProc()), instead of duplicating the code in + gdk_WindowProc(). + + Reworked the grab handling and propagation code, factored out + duplicated code snippets into separate functions. Other cleanups, + too. + + * gdk/win32/surrogate-dimm.h: Provide just the bits we need from + the header describing the Active IMM. + + * gdk/win32/gdkfont.c: Pretend to support fontsets, but so far + just do the same as for "single" fonts. + + * gdk/win32/gdk.c: Call CoInitialize() (COM initialisation) from + gdk_init_check, and CoUninitialize() from gdk_exit_func. Handle + the new keysyms from gdkkeysyms.h. + + * gtk/gtkfontsel.c (Win32): Load the font for the preview as a + fontset, so that gtkentry uses wide characters. + + * gtk/gtkrc.c (Win32): Get the locale with gwin_getlocale(). Call + GTk+'s system directory "gtk+", not "gtk". + +Sat Oct 30 13:17:18 BST 1999 Tony Gale + + * docs/gtkfaq.sgml: FAQ update + +1999-10-21 Tor Lillqvist + + * gdk/win32/gdkprivate.h: Add more font private data. + + * gdk/win32/gdkfont.c + * gdk/win32/gdkdraw.c: Revamped handling of multi-byte charset + fonts and strings. Now works much better. You still have to + have a correct font selected, though. No fontset emulation yet. + +1999-10-19 Tor Lillqvist + + * gtk/maketypes.awk: Use G_OS_WIN32. + + * gtk/gtk.def: Add some missing entry points. Also some non-public + ones, but PyGTK porter claims to need them. + + * gtk/makefile.{cygwin,msc}: Drop some unneeded headers from the + built-in type generation. + 1999-10-14 Tor Lillqvist * gdk/win32/gdkdraw.c (gdk_draw_text_wc): Don't use TextOutW for