1 2000-05-02 Tor Lillqvist <tml@iki.fi>
3 Large changes to the Win32 backend, partially made necessary by
4 the changes to the backend-independent internal
5 structures. Attempts to implement similar backing store stuff as
6 on X11. The current (CVS) version of the Win32 backend is *not* as
7 stable as it was before the no-flicker branch was merged. A
8 zipfile with that version is available from
9 http://www.gimp.org/win32/. That should be use by "production"
10 code until this CVS version is usable. (But note, the Win32
11 backend has never been claimed to be "production quality".)
13 * README.win32: Add the above comment about versions.
15 * gdk/gdkwindow.c: Don't use backing store for now on Win32.
17 * gdk/gdk.def: Update.
19 * gdk/gdkfont.h: Declare temporary Win32-only functions. Will
20 presumably be replaced by some more better mechanism as 1.4 gets
21 closer to release shape.
23 * gdk/makefile.{cygwin,msc}: Update.
25 * gdk/win32/*.c: Correct inclusions of the backend-specific and
26 internal headers. Change code according to changes in these. Use
27 gdk_drawable_*, not gdk_window_* where necessary.
29 * gdk/win32/gdkdnd-win32.c: Use MISC selector for GDK_NOTE, not
32 * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_text): Don't try
33 to interpret single characters as UTF-8. Thanks to Hans Breuer.
34 Use correct function name in warning messages.
36 * gdk/win32/gdkevents-win32.c: Use correct parameter lists for the
37 GSourceFuncs gdk_event_prepare and gdk_event_check.
38 (gdk_event_get_graphics_expose): Do implement, use
39 PeekMessage. Thanks to Hans Breuer.
40 (event_mask_string): Debugging function to print an GdkEventMask.
41 (gdk_pointer_grab): Use it.
43 * gdk/win32/gdkfont-win32.c: The Unicode subrange that the
44 (old) book I used claimed was Hangul actually is CJK Unified
45 Ideographs Extension A. Also, Hangul Syllables were missing.
48 * gdk/win32/gdkgc-win32.c: Largish changes.
50 * gdk/win32/gdkim-win32.c (gdk_set_locale): Use
51 g_win32_getlocale() from GLib, and not setlocale() to get current
54 * gdk/win32/gdkprivate-win32.h
55 * gdk/win32/gdkwin32.h: Move stuff from gdkprivate-win32.h to
56 gdkwin32.h, similarily as in the X11 backend.
58 * gdk/win32/gdkwindow-win32.c (gdk_propagate_shapes): Bugfix,
59 assignment was used instead of equals in if test. Thanks to Hans
62 * gdk/win32/makefile.{cygwin,msc}
63 * gtk/makefile.{cygwin,msc}: Updates. Better kludge to get the
64 path to the Win32 headers that works also with the mingw compiler.
66 * gtk/gtkstyle.c: Include <string.h>.
68 2000-04-26 Havoc Pennington <hp@redhat.com>
70 * gtk/gtklabel.c (gtk_label_get_text): Add this function,
71 replacing the broken gtk_label_get ()
73 2000-04-15 Havoc Pennington <hp@pobox.com>
75 * gdk/gdkdnd.h: clean up enum format, remove extra comma,
76 this keeps scanner scripts from getting confused.
78 * gdk/gdkdraw.c (gdk_drawable_get_data): This should return the
79 data, rather than void
81 2000-04-15 Tor Lillqvist <tml@iki.fi>
83 * gtk/gtkclist.c (gtk_clist_motion)
84 * gtk/gtklist.c (gtk_list_motion_notify): If we get a motion event
85 with is_hint FALSE, get x and y from the event. They used to be
86 used uninitialised. The Win32 backend never sends motion events
87 marked as hints. This for instance fixes the annoying file and
88 font selector behaviour in the Win32 version.
90 2000-04-14 Tor Lillqvist <tml@iki.fi>
92 * gtk/gtksignal.c: (Win32:) Export the gtk_private_signals and
93 gtk_private_n_signals variables, they are used by some software,
96 * gtk/gtkrc.c (get_gtk_sysconf_directory): (Win32:) Fetch the
97 installation directory from the Registry, where the installer
100 Fri Apr 7 17:19:27 2000 Owen Taylor <otaylor@redhat.com>
102 * gdk/x11/Makefile.am: Fix problem with installation directory for
105 * gtk/gtkmenuitem.c gtk/gtkmenushell.c: Patch from David Santiago
106 <mrcooger@cyberverse.com> so that when selecting menus with the
107 mouse, the first item will not be selected, but when selecting
108 with an accelerator, or navigating left-right on a menubar with
109 the menus popped up, the first item will be selected.
111 2000-04-05 Dan Damian <dand@dnttm.ro>
113 * configure.in: Added "ro" to ALL_LINGUAS.
115 Wed Apr 5 00:08:36 2000 Owen Taylor <otaylor@redhat.com>
117 * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): Fix screwy
120 * Makefile.am (EXTRA_DIST): Fix typo.
122 * gdk[/x11]/Makefile.am (INCLUDES): Add $(top_builddir)/gdk
125 * gtk/gtkitemfactory.c: Added FIXME.
127 2000-03-30 Jonathan Blandford <jrb@redhat.com>
129 * gtk/gtkpaned.c (gtk_paned_get_position): oops.
130 s/return_if_fail/return_val_if_fail/g and add a return value.
132 Mon Mar 27 20:56:14 2000 Owen Taylor <otaylor@redhat.com>
134 * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Fix up
137 * gdk/gdkinput.h: Fix missing line from merge.
139 Mon Mar 27 20:39:49 2000 Owen Taylor <otaylor@redhat.com>
141 * gdk/gdkcolor.c cursor.c gdkdraw.c gdkfont.c: Include gdkinternals.h
142 instead of gdkprivate.h.
144 Sun Mar 12 15:19:24 2000 Owen Taylor <otaylor@redhat.com>
146 * gtk/gtkinputdialog.h (struct _GtkInputDialogClass): Fix
147 parent class to correctly be GtkDialogClass.
149 Thu Feb 24 23:58:21 2000 Owen Taylor <otaylor@redhat.com>
151 * gdk/x11/gdkgeometry-x11.c: Don't worry about clipping of
152 toplevel windows and their immediate children by their parents,
153 since the size of toplevel windows is out of our immediate
154 control and we don't get any real benefit from trying to track
155 this size for clipping.
157 * gdk/gdkprivate.h (struct _GdkWindowPrivate) gdk/x11/gdkwindow-x11.c : Add a flag
158 for input_only windows.
160 * gdk/gdkwindow.c gdk/x11/gdkgeometry-x11.c: Use the above flag
161 to fix some hacks and make sure that we don't try to set the
162 background of input only windows.
164 Thu Feb 24 18:11:46 2000 Owen Taylor <otaylor@redhat.com>
166 * gdk/gdkinternals.h gdk/gdkprivate.h gdk/Makefile.am: Add a header file for
167 the _really_ internal stuff, and leave gdkprivate.h for the fake private
168 stuff that we've traditionally exposed.
170 * gdk/**.c: Use gdkinternals.h where appropriate.
172 * gdk/x11/gdkx.h gdk/x11/gdkprivate-x11.h gdk/x11/*.c: Make gdkx.h
173 not include gdkprivate-x11.h, move all stuff of conceivable public
174 interest into gdkx.h; keep all really private stuff in
175 uninstalled header gdkprivate-x11.h.
177 * gdk/gdkdraw.c gdk/gdkwindow.c gdk/gdkinternals: Redirect all calls to
178 image->image_put on windows through a new function _gdk_window_draw_image()
179 to allow us to do backing store for images. (Sort of ugly)
181 * gdk/gdkgc.c gdk/gdkprivate.h: Cache the ts and clip origins for graphics
182 contexts locally so that we can offset them properly when drawing
183 onto backing pixmaps.
185 * gdk/gdkinput.h: Reindented
187 * gdk/gdkprivate.h gdk/x11/gdkwindow-x11.c: Store the background
188 pixmap or color for the window, so we can properly initialize
189 our double-buffer pixmaps, and also so that we temporarily set
190 a background of None while scrolling.
192 * gdk/gdkregion.h: Revise region boolean operators to have an
193 interface that is actually convenient - switch from creating new
194 regions on every op, to "methods" that modify existing regions
195 (A = A OP B). 3 argument forms which allow dest == src, would also
196 be possible, but the current interfaces seem to map nicely
197 onto what needs to be done. (There is quite a lot of region
200 * gdk/gdkregion.h: Add constructor from rectangle and a copy
203 * gdk/x11/{gdkregion-generic.[ch],gdkpolyreg-generic.c,
204 gdkpoly-generic.h: Copy region code from Xlib, switch it over
205 to 32 bit coordinates, modify it to be mostly GTK+ style
206 and to have interfaces that match gdkregion.h.
208 * gdk/gdkwindow.c gdk/gdkprivate.h: Add facility for
209 double-buffered drawing. gdk_window_begin_paint_{rect,region}()
210 create a backing pixmap and redirect all drawing to
211 that backing pixmap until a matching gdk_window_end_paint().
213 * gdk/gdkwindow.[ch] gdk/gdkinternals.h gdk/x11/gdkdrawable-x11.c:
214 Create a special drawable class for GtkWindow's that
215 redirects the drawing to the backing pixmap as necessary
216 and then calls the real operations in _gdk_windowing_window_class.
218 * gdk/gdkprivate.h gdk/gdkwindow.[ch] gdk/x11/gdkevents-x11.c:
219 Store invalid region for each window. Generate expose events for invalid
220 region in an idle. This replaces both the expose compression
221 and the redrawing queuing in GTK+. It is both more efficient and
222 simpler than either one individually and far more so then the
225 * gdk/x11/gdkgeometry.c gdk/x11/gdkwindow.c gdk/x11/gdkprivate-x11.h:
226 Emulate 32 bit coordinates for windows with 16 bit coordinates
227 by offsetting drawing, guffaw scrolling techniques and
228 mapping/unmapping child windows as necessary.
230 * gdk/gdkwindow.[ch] gdk/x11/gdkgeometry.c: Add anti-exposes,
231 where, when invalid regions are processed, the region is stored,
232 and if expose events come in that are detectably duplicate
233 the processed exposes (by comparison of event serial numbers),
234 the stored region is subtracted out of those exposes.
236 * gdk/x11/gdkgeometry.c: Temporarily unset backing pixmaps of
237 regions newly exposed when scrolling or resizing windows.
238 This, combined with forcing processesing of queued invalidated
239 regions, gives nice flicker-free scrolling.
241 * gtk/gtklayout.c gtk/gtkviewport.c: Force processing of
242 invalidated regions after every scroll.
244 * gtk/gtklayout.c: Vastly simplify using the new 32 bit coordinate
245 emulation in GDK. Its, for all practical purposes just a
246 GtkViewport/GtkFixed hybrid now.
248 * gdk/gdkdrawable-x11.c: Convert from GDK (32 bit) to X11
249 (16-bit) structures as necessary instead of just casting.
251 * gdk/x11/gdkgc-x11.c gdk/x11/gdkx.h: Replace XSetRegion with code
252 in terms of the structures from gdkregion-generic.c, using appropriate
253 offsets from GDK to X11 coordinates. Cache clip mask and
254 origin and ts origin locally and only flush to the server
255 when drawing, to avoid constantly setting and resetting these
256 values when offsetting GC's for scrolling and backing pixmaps.
258 * gdk/x11/gdkinput-x11.c: Fix leak of axes structures.
260 * gtk/gtkcontainer.c: Call process_all_updates at end
261 of resizing to reduce flicker. (Avoids having redraw
262 lag arbitrarily behind resize under some circumstances)
264 * gtk/gtkentry.c: Remove old backing store code, and simply take
265 advantage of the new backing store capabilities of GDK.
267 * gtk/gtkmain.c: Simple implementation of widget backing
268 store - simply push a paint while handling each expose.
269 (Should really be configurable widget for widget.)
271 * gtk/gtkwidget.c: Remove all the old complicated redraw
272 code, and simply invalidate the GDK windows from
273 gdk_window_queue_clear(), etc. (Sigh, so much carefully
274 debugged complexity ... gone to the winds.)
276 Remove all the code for suppressing expose events while
277 resizes are pending; this isn't needed since the invalid
278 areas won't be processed until after the resizes are
279 processed, since they are in a lower priority idle.
281 Thu Feb 24 15:37:41 2000 Owen Taylor <otaylor@redhat.com>
283 * gdk/gdkrectangle.c (gdk_rectangle_intersect): Set width
284 and height of dest rectangle for non-intersecting rectangles.
286 Sun Feb 20 16:47:31 2000 Owen Taylor <otaylor@redhat.com>
288 * gtk/gtkwidget.h: Make GtkAllocation just a typedef
291 Sun Feb 20 11:27:00 2000 Owen Taylor <otaylor@redhat.com>
293 * gdk/gdk{events,image,private,types,window}.h
294 gdk/x11/gdkinputprivate.h: Change all coordinates
295 from int16 to int. Also, Change width and height from
296 unsigned to signed to avoid all the stupid C
299 Sat Feb 19 12:01:53 2000 Owen Taylor <otaylor@redhat.com>
301 * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable):
302 Use gdk_drawable_get_depth instead of gdk_drawable_get_visual.
303 Add some more detailed checking.
305 * gdk/gdkdraw.c gdk/gdkdrawable.h (gdk_drawable_get_depth):
306 New function to retrieve the depth of a drawable.
308 * gdk/gdkprivate.h (struct _GdkDrawablePrivate): Add a depth
309 field, reorder fields to save memory.
311 Mon Dec 13 14:06:03 1999 Owen Taylor <otaylor@redhat.com>
313 * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): Draw a small portion
314 of the background image instead of scaling the background down to
317 * gtk/gtk[hv]scrollbar.c (gtk_hscrollbar_size_allocate): Removed mysterious
318 which temporarily set slider to wrong size.
320 * gtk/gtkaspectframe.c gtkbin.c: Remove unecessary calls to
323 Wed Nov 17 18:36:05 1999 Owen Taylor <otaylor@redhat.com>
325 2000-03-23 Jonathan Blandford <jrb@redhat.com>
327 * gtk/gtkpaned.c (gtk_paned_get_position): add getter.
329 2000-03-17 Tor Lillqvist <tml@iki.fi>
331 * gdk/win32/gdkevents-win32.c: Remove the #ifndef
332 USE_DISPATCHMESSAGE sections, we do want to use DispatchMessage.
334 * gdk/win32/gdkfont-win32.c
335 * gdk/win32/gdkproperty-win32.c
336 * gdk/win32/gdkselection-win32.c
337 * gdk/win32/gdkwindow-win32.c: Add const to some arguments that are
340 Wed Mar 15 02:59:38 PST 2000 Manish Singh <yosh@gimp.org>
342 * gtk/gtkvpaned.c: removed stray gutter_size reference, a 1.2 relic
344 Mon Mar 13 18:37:55 2000 Owen Taylor <otaylor@redhat.com>
346 * gdk/gdkdnd.c: Fix a bunch of cases where XGetWindowProperty()
347 is called without trapping X errors.
349 Fri Feb 25 10:48:53 2000 Owen Taylor <otaylor@redhat.com>
351 * gtk/gtkrc.*: Fix problem where stray '"' characters found their
352 way into the fontset lists.
354 Tue Feb 22 08:52:52 2000 Tim Janik <timj@gtk.org>
356 * gtk/gtkthemes.h: add extern "C" scope.
358 Mon Feb 21 20:16:42 2000 Lars Hamann <lars@gtk.org>
360 * gtk/gtkclist.c: applied patch from Guy Harris <guy@netapp.com>
361 to make appends to the list constant. (gtk-guy-990901-0.patch)
363 Mon Feb 14 22:50:10 2000 Tim Janik <timj@gtk.org>
365 * gtk/gtktypeutils.c (gtk_type_init): use g_str_hash() and g_str_equal()
366 for the typename hash table.
368 Mon Feb 14 15:01:23 2000 Owen Taylor <otaylor@redhat.com>
370 * gtk/gtkpaned.c (gtk_paned_compute_position): Add some sanity checks
371 to make sure we never divide by zero.
372 (Problem pointed out by Michal Jaegermann <michal@ellpspace.math.ualberta.ca>)
374 Mon Feb 14 12:29:38 2000 Owen Taylor <otaylor@redhat.com>
376 * gtk/gtkfontsel.c: Apply patch from
377 SHIRASAKI Yasuhiro <yasuhiro@awa.tohoku.ac.jp> to make font selector work a little
378 better with 2-byte fonts. (Load a fontset instead of a font for two byte fonts.)
380 Also, some cleanups in atom handling.
382 Sun Feb 13 08:02:21 2000 Tim Janik <timj@gtk.org>
384 * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
387 Fri Feb 11 02:19:32 2000 Tim Janik <timj@gtk.org>
389 * gtk/gtkhpaned.c (gtk_hpaned_size_allocate):
390 * gtk/gtkvpaned.c (gtk_vpaned_size_allocate):
391 * gtk/gtkpaned.c (gtk_paned_compute_position): had to squeeze some
392 more guint wrap-around bugs before going to bed.
394 Thu Feb 10 16:16:35 2000 Tim Janik <timj@gtk.org>
396 * gtk/gtkspinbutton.c (gtk_spin_button_size_allocate): guard against
397 guint wrap arounds in allocation.width.
399 * gtk/gtktable.c (gtk_table_size_allocate_pass1): repeat shrinking
400 process untill we fit the allocation given.
402 Tue Feb 8 09:38:29 2000 Tim Janik <timj@gtk.org>
405 (gtk_widget_unrealize): guard widget access with ref/unref
406 around signal emission.
407 (gtk_widget_hide): same here, but also check its destroyed
408 state before queueing a resize.
410 Tue Feb 8 03:05:55 2000 Tim Janik <timj@gtk.org>
412 * gtk/gtkstyle.c (gtk_style_new): use gtk_default_prelight_bg instead
413 of gtk_default_insensitive_bg as insensitive base color.
415 * gtk/gtktext.c (gtk_text_style_set): set the background color according
416 to the widget's state.
417 (gtk_text_realize): same here.
418 (gtk_text_state_changed): same here.
419 (draw_bg_rect): compare background color against base[] from
420 GTK_WIDGET_STATE (text) not GTK_STATE_NORMAL.
422 Mon Feb 7 04:01:55 2000 Tim Janik <timj@gtk.org>
424 * gtk/gtkmain.c (gtk_main_do_event): ignore delete events when
425 grabs are active, unless a delete event is send to the toplevel
426 of the currently grab holding widget.
428 Sun Feb 6 10:13:15 2000 Owen Taylor <otaylor@redhat.com>
430 * gtk/gtkctree.c (gtk_ctree_drag_data_received): Remove
433 Fri Feb 4 15:54:54 2000 Owen Taylor <otaylor@redhat.com>
435 * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_request): Don't
436 ever make the scrolled-window requisition ever depend on the
437 visibility state of the scrollbars for the AUTOMATIC policy.
438 This breaks the GTK+ requisition model, and causes loops.
440 Fri Feb 4 15:09:12 2000 Owen Taylor <otaylor@redhat.com>
442 * gtk/gtkstyle.c (gtk_style_new): Set the charset explicitely for
443 the default font to avoid problems with XFree86-4.0 where the
444 default charset is iso10646-1, not iso8859-1.
446 Thu Feb 3 14:58:48 PST 2000 Manish Singh <yosh@gimp.org>
452 * ltmain.sh: upgrade to libtool 1.3.4 (bugfix only release)
454 * gtk/Makefile.am: minor cosmetic consistency tweak
456 Thu Feb 3 14:46:01 2000 Owen Taylor <otaylor@redhat.com>
458 * gtk/gtkmenushell.c (gtk_menu_shell_button_release): Set
459 the activate_time to 0, so that we handle a quick
460 press/release press/release properly and don't suppress
461 the second release. (Red Hat bug #7545)
463 Wed Feb 2 22:25:17 2000 Tim Janik <timj@gtk.org>
465 * gtk/gtkctree.c (row_delete):
466 (gtk_ctree_node_set_row_data_full): fixed very evil reentrancy
467 bugs with destruction notifier, *always* update internal
468 structures *before* calling user code.
470 Sun Jan 30 20:10:52 2000 Lars Hamann <lars@gtk.org>
472 A few more fixes for bug #5487, #2051, #2677.
474 (gtk_clist_button_press): Reset clist->anchor to -1 if event->type is
475 not GDK_BUTTON_PRESS.
476 (resync_selection): resync only if selection_mode is
477 GTK_SELECTION_EXTENDED
478 * gtk/gtkctree.c (resync_selection): same here
480 Sun Jan 30 12:29:20 2000 Owen Taylor <otaylor@redhat.com>
482 * gdk/gdk.h gtk/gtkmenu.h: Removed duplicate prototypes for
483 gdk_drag_get_selection() and gtk_menu_detach().
485 [ From Jeroen Ruigrok/Asmodai ]
487 Sat Jan 29 10:11:56 2000 Owen Taylor <otaylor@redhat.com>
489 * gtk/gtknotebook.c (gtk_notebook_size_request):
490 page->tab_label can be NULL.
492 2000-01-25 Havoc Pennington <hp@pobox.com>
494 * gdk/gdkwindow.c (gdk_window_set_back_pixmap): parent_relative
497 * gdk/gdkselection.c (gdk_selection_owner_set): return boolean
499 * gdk/gdkrectangle.c (gdk_rectangle_intersect): return boolean
501 * gdk/gdkproperty.c (gdk_property_get): return boolean
503 * gdk/gdkinput.c (gdk_input_set_mode): return boolean
505 * gdk/gdkim.c (gdk_im_ready): return boolean
507 * gdk/gdkgc.c (gdk_gc_set_exposures): gboolean arg
509 * gdk/gdkfont.c (gdk_font_equal): return gboolean (mild
510 glib clash, should fix glib)
512 * gdk/gdkevents.c (gdk_set_show_events): take gboolean arg
513 (gdk_get_show_events): return gboolean, and canonicalize
516 * gdk/gdkcolor.c (gdk_colormap_new): gboolean flag whether the
518 (gdk_colors_alloc): gboolean whether to be contiguous
519 (gdk_color_equal): return gboolean since we are a predicate
520 and not a qsort() (this looks semi-wrong due to glib breakage,
521 IMO glib should be fixed)
523 * gdk/gdk.c (gdk_set_use_xshm): take gboolean arg
524 (gdk_get_use_xshm): return gboolean
525 (gdk_pointer_is_grabbed): return gboolean
527 * gdk/gdk.h: Change prototypes to match all the above changes,
528 and re-run egtk-format-protos as required.
530 Fri Jan 28 12:28:17 2000 Owen Taylor <otaylor@redhat.com>
532 * gtk/gtkctree.c (resync_selection):
533 * gtk/gtkclist.c (resync_selection):
535 Return immediately if clist->drag_pos < 0. This is a workaround
536 for the corrupt state that the clist gets into when a
537 GDK_2BUTTON_PRESS occurs. See note in gtk_clist_button_press().
539 Bug #5487, #2051, #2677; fix suggested by David Helder and T. Alexander Popiel.
541 * gtk/gtknotebook.c (gtk_notebook_size_request): Fix uninitialized
542 variable from recent commit.
544 Thu Jan 27 15:22:09 2000 Owen Taylor <otaylor@redhat.com>
546 * gtk/gtkdnd.c (gtk_drag_begin): Fix stupid typo in last commit.
548 Thu Jan 27 18:00:55 2000 Tim Janik <timj@gtk.org>
550 * gtk/Makefile.am: prefix all autogenerated source that get build in
551 $(srcdir) with $(srcdir)/, so make doesn't assume they got generted
552 in builddir. since we subsequently cd into srcdir for autogeneration,
553 the paths have to be stripped from the target file names, thusly we
554 use $(@F) as target names now.
555 put a comment about configure.in's --disable-rebuilds option,
556 which can be used for non-writable source directories, for development
557 setups though, srcdir has to be *writable*.
559 hu Jan 27 00:15:03 2000 Owen Taylor <otaylor@redhat.com>
561 * gtk/gtkdnd.c (gtk_drag_begin gtk_drag_get_event_actions):
562 Finish the job of allowing event to be NULL.
563 (Fixes bug #4283, reported by Chris Blizzard)
565 * gtk/gtkentry.c (entry_adjust_scroll): When calculating
566 things so that the cursor appears on screen, properly
567 take into account INNER_BORDER.
568 (Fixes bug #4754, reported by Antonio Campos)
570 Wed Jan 26 23:12:28 2000 Owen Taylor <otaylor@redhat.com>
572 * gtk/gtknotebook.c (gtk_notebook_map): Don't
573 show the tab_label unless it itself is visible.
575 gtk/gtknotebook.c (gtk_notebook_size_request):
576 Do a better job of making sure that the visibility
577 of the tab label corresponds to whether it should
580 Wed Jan 26 21:17:03 2000 Owen Taylor <otaylor@redhat.com>
582 * gtk/gtkoptionmenu.c (gtk_option_menu_position):
583 Use the requisition, not the allocation, since the
584 allocation has not necessarily been computed yet.
585 (Pointed out by Eugene Osintsev)
587 Wed Jan 26 19:44:25 2000 Owen Taylor <otaylor@redhat.com>
589 * gtk/gtkstyle.c (gtk_style_new): Dont' set
590 style/base[GTK_STATE_INSENSITIVE] both to
591 gtk_default_insensitive_bg!
592 (Bug #2187, reported by Jonathan Blandford)
594 * gtk/gtkaccelgroup.c (gtk_accelerator_valid):
595 Add Alt_L, Alt_R to list of invalid accelerators.
596 (Bug #3736, reported by Vlad Harchev)
598 Wed Jan 26 19:01:56 2000 Owen Taylor <otaylor@redhat.com>
600 * gtk/gtkfilesel.c (open_ref_dir): Fix several
601 bugs which occured after an attempt to open
602 invalid home directory left cmpl_state->reference_dir == NULL.
604 - completion on files in home directory didn't work
605 - completion on an empty string caused segfault
607 (Bug #3768, reported by Steve Ratcliffe)
609 * gtk/gtkscale.c (gtk_scale_get_value_width): Fix
610 cut and paste error that was causing scales to
611 be incorrectly positioned.
613 patch from Steve Ratcliffe <steve@parabola.demon.co.uk>)
615 2000-01-27 Shirasaki Yasuhiro <yasuhiro@gnome.gr.jp>
617 * acinclude.m4 (AM_GTK_WITH_NLS): Add -lintl to libs
618 when checking for dcgettext, if we've found we needed
621 Wed Jan 26 18:06:07 2000 Owen Taylor <otaylor@redhat.com>
623 * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
624 queue_clear on NO_WINDOW widgets during a reparent,
625 since at that point the window and widget heirarchies
626 are out of sync. This stops crashing in some cases
627 (the scrolled window reparent test, for instance), and
628 _probably_ won't cause drawing errors.
630 * gtk/testgtk.c: Make the reparenting-a-scrolled-window
631 test do what it was supposed to do and be robust against
632 window closings, etc. (Bug #2443)
634 Wed Jan 26 16:56:54 2000 Owen Taylor <otaylor@redhat.com>
636 * gtk/gtkentry.c: Fix return values on mouse events.
637 (Bug #2686, Sky <seb_sky@yahoo.com>)
639 * gtk/genmarshal.pl: Fix up handling of FOREIGN.
640 (pointed out by George Lebl)
642 * gdk/gdkcolor.c (gdk_color_copy): Made const-safe.
643 (From Ettore Perazzoli <ettore@helixcode.com>)
645 Mon Jan 24 10:44:48 2000 Owen Taylor <otaylor@redhat.com>
647 * gtk/gtkcalendar.c (gtk_calendar_main_button): Handle
648 clicks between rows or outside calender area correctly.
649 (Patch from Damon Chaplin)
651 * gtk/gtkclist.c (gtk_clist_set_row_data_full):
652 * gtk/gtkctree.c (gtk_ctree_node_set_row_data_full):
653 Call destroy function when overwriting existing data.
654 (Pointed out by Damon Chaplin)
656 Tue Jan 25 09:55:41 2000 Owen Taylor <otaylor@redhat.com>
658 * gdk/gdk.c: Remove useless #include of <X11/Xmu/WinUtil.h>,
659 which was causing problems on various systems with Xmu.
660 This hasn't been needed for a very long time.
663 Sun Jan 23 22:27:36 2000 Owen Taylor <otaylor@redhat.com>
665 * gdk/gdki18n.h: Include <ctype.h> when defining
666 gdk_isw* in terms of is* as a fallback.
667 (Bug #4106 - Dan Winship <danw@MIT.EDU>)
669 Sun Jan 23 22:12:36 2000 Owen Taylor <otaylor@redhat.com>
671 * gtk/gtkviewport.c (gtk_viewport_size_allocate): Don't
672 realize the widget when it is size allocated!
675 * gtk/gtkviewport.c (gtk_viewport_adjustment_value_changed):
676 Removed unused call to gdk_window_get_size() that
677 showed up when the above was fixed.
679 Sat Jan 22 15:44:30 2000 Owen Taylor <otaylor@redhat.com>
681 * gtk/gtkwidget.c (gtk_widget_reparent): Correctly
682 fix up widget->window when the widget is a
683 NO_WINDOW container widget.
685 Sat Jan 22 12:40:48 2000 Owen Taylor <otaylor@redhat.com>
687 * gdk/gdkpixmap.c (gdk_pixmap_seek_string): Rewrite
688 to account for the fact that feof() does _not_
689 return TRUE on errors, and thus avoid infinite loops
690 when trying to use gdk_pixmap_create_from_xpm()
691 on unreadable values.
693 Fri Jan 21 18:32:43 2000 Owen Taylor <otaylor@redhat.com>
695 * gtk/gtkaspectframe.h (struct _GtkAspectFrame): s/gint/gboolean/.
697 Fri Jan 21 16:24:08 2000 Owen Taylor <otaylor@redhat.com>
699 * gdk/gdkgc.c (gdk_gc_set_dashes): Change from
700 gdk_gc_set_dashes to take gint8 instead of gchar to
701 make it clearer that it is _not_ a NULL terminated string.
703 * gdk/gdk.h gdk/gdkfont.c gdk/gdkgc.c gdk/gdkselection.c
704 gdk/gdkwindow.c gtk/gtkprogress.[ch] gtk/gtkthemes.[ch]
705 gtk/gtktreeitem.[ch] gtk/gtkwidget.[ch]: Constify string
708 Thu Dec 30 04:51:05 1999 Tim Janik <timj@gtk.org>
710 * gtk/gtkvscale.c (gtk_vscale_pos_background):
711 * gtk/gtkhscale.c (gtk_hscale_pos_background): when calculating the
712 background size relative to our allocation, guard against small
713 allocations, we may have not yet been size allocated.
715 Thu Dec 2 10:59:14 1999 Owen Taylor <otaylor@redhat.com>
717 * gdk/gdkdnd.c (xdnd_check_dest): Allow version >= 3,
718 not just version == 3. We implement all 3 + most of 4 -
719 (we don't support matching text/plain;charset=iso-8859-1
720 to a dest that expects text/plain). We'll still advertise
721 3 to be safe, but any client implementing version >= 3
722 must interoperate with 3.
724 Tue Mar 14 11:53:31 2000 Owen Taylor <otaylor@redhat.com>
726 * gtk/gtktooltips.[ch] (struct _GtkTooltips): Remove foreground,
727 background and gc members, add a warning in gtk_tooltips_set_color()
728 indicating that this function is deprecated.
730 Thu Mar 9 22:10:56 GMT 2000 Tony Gale <gale@gtk.org>
732 * docs/gtkfaq.sgml: FAQ Update:
733 - Minor cleanups (Emmanuel, me)
735 I need to add a new signal to a GTK+ widget. Any idea? (timj)
736 How can I retrieve the text from a GtkMenuItem? (timj)
737 How do I validate/limit/filter the input to a GtkEntry? (me)
738 Memory does not seem to be released when I free the list
739 nodes I've allocated (timj)
741 2000-03-07 Tor Lillqvist <tml@iki.fi>
743 * gdk/win32/gdkmain-win32.c: Internal GDK error reporting changes:
744 (gdk_win32_gdi_failed) New function for reporting errors from GDI,
745 for which it is no use to call GetLastError onWin9x.
746 (gdk_other_api_failed) New function, for general error
747 reporting without calling GetLastError.
748 (gdk_win32_api_failed) OTOH, this function always calls
749 GetLastError. (gdk_win32_last_error_string) Remove this function,
750 GLib has the equivalent now.
752 * gdk/win32/gdkprivate-win32.h: Declare the above, and macros to
753 call them with function name, file name and line number in the
756 * gdk/win32/*.c: Use the new macros for reporting errors from GDI
759 * gtk/gtk.def: Add some missing entry points.
761 * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
762 gtk_paned_set_gutter_size, which don't exist any longer, as void.
764 Fixes by Hans Breuer:
766 * gdk/makefile.msc: Update for debugging.
768 * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_dashes): Fake
769 implementation, just use the PS_DASH, PS_DOT, PS_DASHDOT or
770 PS_DASHDOTDOT or PS_DASH styles depending on the number of entries
773 * gdk/win32/gdkwin32.h (GDK_FONT_XFONT): New macro, similar as in
776 * gdk/win32/gdkprivate-win32.h (IS_WIN_NT): New macro.
778 * gtk/testgtk.c: Include config.h, guard inclusion of unistd.h.
780 2000-03-04 Tor Lillqvist <tml@iki.fi>
782 * gdk/win32/gdkprivate-win32.h (struct _GdkWindowWin32Data): Store
783 just pixel value of background colour.
785 * gdk/win32/gdkgc-win32.c (gdk_colormap_color): New function
786 containing code snippet previously duplicated in a couple of
789 * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_points): Use
792 * gdk/win32/gdkevents-win32.c (gdk_event_translate): Generate
793 GDK_SCROLL events for WM_MOUSEWHEEL messages. Don't generate
794 events for autorepeated Shift, Control and Alt keys. Use
797 * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): If the
798 pointer is inside the window the cursor of which we are setting,
799 call SetCursor immediately.
801 * gdk/win32/makefile.cygwin
802 * gtk/makefile.cygwin: If we don't have the build number stamp
805 * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
806 gtk_paned_set_gutter_size as empty.
808 * gtk/gtk.def: Remove gtk_paned_set_gutter_size.
810 Tue Feb 29 13:10:00 GMT 2000 Tony Gale <gale@gtk.org>
812 * gdk/gdkwindow.h gdk/x11/gxid.c gtk/gtkclist.c gtk/gtkclist.h
813 gtk/gtkctree.c gtk/gtkmenu.h gtk/gtkwidget.c gtk/testgtk.c
814 docs/styles.txt docs/refcounting.txt docs/gtkfaq.sgml
815 docs/gtk_tut.sgml docs/gtk.texi TODO:
817 Spelling/grammar fixes from Martin Buchholz <martin@xemacs.org>
819 Sat Feb 26 11:46:25 GMT 2000 Tony Gale <gale@gtk.org>
821 * gtk/gtkcalendar.c: Implement num_marked_dates,
822 and don't emit mutiple day_selected signals on
825 2000-02-25 Jonathan Blandford <jrb@redhat.com>
827 * docs/make-todo (lineno): let title and logo be configurable so
828 that GNOME can use this script too.
830 * TODO.xml: added logourl and a title
832 Fri Feb 25 11:12:00 2000 Owen Taylor <otaylor@redhat.com>
834 * TODO.xml: Added some UI items, and an explanatory
835 comment at the top of the file.
837 Thu Feb 24 09:07:28 2000 Tim Janik <timj@gtk.org>
839 * TODO.xml: some updates, added abunch of new entries.
840 a note for those fiddeling with this file, when done
842 $ ./docs/make-todo TODO.xml >/dev/null
843 and correct output errors before comitting changes.
845 Wed Feb 23 22:59:50 2000 Owen Taylor <otaylor@redhat.com>
847 * TODO.xml: Added XML-structured TODO file.
848 * docs/make-todo: python script to turn TODO.xml into
851 2000-02-23 Jonathan Blandford <jrb@redhat.com>
853 * gtk/gtkstyle.c (gtk_default_draw_handle): add a 'paned' mode to
854 the function to let it draw the seven dots, instead of the old,
855 much maligned, method.
856 (draw_dot): New function to draw a dot.
858 * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): changed allocation
859 to draw the handle inside the border width as opposed to outside.
860 Use paint function instead of gdk_draw_point.
862 * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): changed allocation
863 to draw the handle inside the border width as opposed to outside.
864 Use paint function instead of gdk_draw_point.
866 * gtk/gtkfilesel.c (gtk_file_selection_update_history_menu):
867 Change indenting to be more GTK like.
869 Wed Feb 23 10:54:14 GMT 2000 Tony Gale <gale@gtk.org>
871 * docs/gtk_tut.sgml: New section on GtkCalendar
872 * examples/calendar: Update example code
874 Tue Feb 22 13:54:12 GMT 2000 Tony Gale <gale@gtk.org>
876 * docs/gtkfaq.sgml: FAQ Update
878 2000-02-19 Anders Carlsson <andersca@gnu.org>
880 * gtk/gtkrange.c (gtk_range_scroll_event): Return TRUE
881 to prevent the scroll event to be propagated upwards.
883 Fri Feb 18 14:37:29 2000 Owen Taylor <otaylor@redhat.com>
885 * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Remove
886 OwnerGrabButtonMask from button entries for
887 GDK_BUTTON_PRESS / GDK_BUTTON_RELEASE.
889 * gtk/gtklayout.c (gtk_layout_realize): Always add GDK_SCROLL
890 to the event mask (which will result in button/press release
891 being added to the event mask on Unix) so scrolling works
892 for layouts in scroll windows.
894 * gdk/gdkevents.h (enum): Fix up GDK_ALL_EVENTS_MASK.
896 Patch from Anders Carlsson <andersca@gnu.org> to add
899 * gtk/testgtk.c (scroll_test_scroll): Added an example of mouse wheel
900 scrolling to the "Test Scrolling" part of testgtk.
902 * gtk/gtkwidget.h (struct _GtkWidgetClass): Added scroll_event signal.
904 * gtk/gtkwidget.c: Added "scroll_event" GTK+ signal and matched
905 it against GDK_SCROLL.
907 * gtk/gtkrange.c (gtk_range_scroll_event): Updated to use the new
908 way of mouse wheel scrolling.
910 * gtk/gtkscrolledwindow.c (gtk_scrolled_window_scroll_event): Likewise.
912 * gtk/gtkspinbutton.c (gtk_spin_button_scroll): Likewise.
914 * gtk/gtkmain.c: Removed previous mouse wheel hack.
916 * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Added entry in
917 gdk_event_mask_table.
919 * gdk/x11/gdkevents-x11.c (gdk_event_translate): Added
920 GdkEventScroll handler.
922 * gdk/gdkevents.h: Added GdkEventScroll structure.
924 Thu Feb 17 17:10:12 2000 Owen Taylor <otaylor@redhat.com>
926 * gtk/gt{h,k,}vpaned.[ch]: Add patch from Jonathan Blandford
927 and Anders Carlsson to change the Paned widgets so that they
928 can be dragged from anywhere along the length. Also change
929 the way that this is drawn to make this apparent.
931 * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): Apply patch
932 from George Lebl to check that option_menu->menu is present
933 before getting history.
935 2000-02-14 Tor Lillqvist <tml@iki.fi>
937 * gdk/gdkdraw.c (gdk_draw_segments): Move the test for no segments
938 before the assertion for non-NULL segment list.
940 * gdk/win32/gdkgc-win32.c: (gdk_win32_gc_values_to_win32values):
941 Seems that pattern brushes *must* be 8x8 pixels! At least on my
942 machine, but it might be display driver dependent. Sigh, so make
943 sure the stipple is that size. Does Windows suck or what?
945 * gdk/win32/gdkdrawable-win32.c: Improve error handling in a few
948 2000-02-13 Havoc Pennington <hp@pobox.com>
950 * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): init
952 (gdk_cursor_new): init refcount to 1
954 * gdk/win32/gdkcursor-win32.c (gdk_cursor_new): init refcount to 1
956 2000-02-13 Tor Lillqvist <tml@iki.fi>
958 * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Add an extra parameter
959 so that we don't have to do unnecessary settings to the HDC.
961 * gdk/win32/gdkdrawable-win32.c
962 * gdk/win32/gdkimage-win32.c: Corresponding changes to the calls of
965 * gdk/win32/gdkdrawable-win32.c: Special-casing for GdkGCs where
966 the fill style is GDK_OPAQUE_STIPPLED. In those cases we construct
967 GDI paths, call WidenPath to get the outline of the stroken path,
968 and then fill the outline (with the brush that was built from the
971 * gdk/win32/gdkgc-win32.c: Factor out common code from
972 _gdk_win32_gc_new and gdk_win32_gc_set_values into
973 gdk_win32_gc_values_to_win32values. Use correct colour for
974 SetBkColor() (Until now the code actually used a random colour in
975 the call to SetBkColor()... but that didn't show up as not many
976 GDI APIs use the background colour. Pattern (opaque stippled)
979 * gdk/win32/gdkmain-win32.c (gdk_win32_last_error_string,
980 gdk_win32_api_failed): New functions for error logging.
982 * gdk/win32/gdkprivate-win32.h: Declare them, and define a macro
983 WIN32_API_FAILED to call them, passing function or file name and
986 * gdk/win32/*.c: Use the WIN32_API_FAILED macro.
988 * gdk/win32/gdkprivate-win32.h: Store just the pixel values from
989 GdkColor for foreground and background in GdkGCWin32Data.
991 * gdk/makefile.cygwin: Link in the resource object separately.
993 * gdk/win32/rc/gdk.rc
994 * gtk/gtk.rc (New file)
995 * gdk/win32/makefile.cygwin
996 * gtk/makefile.cygwin: Update build number in DLLs automatically,
999 Sun Feb 13 08:54:45 2000 Tim Janik <timj@gtk.org>
1001 * gdk/gdkcursor.h (struct _GdkCursor): s/refcount/ref_count/.
1002 * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap):
1003 * gdk/x11/gdkcursor-x11.c (_gdk_cursor_destroy):
1004 * gdk/gdkcursor.c (gdk_cursor_ref): insert assertments for the
1005 parameters given and cursor->ref_count. coding style fixups.
1007 * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
1010 * gtk/*.h: applied patch from Mathieu Lacage <lacage@email.enst.fr> to
1011 fix up widget macros and add _GET_CLASS() variant.
1013 * gtk/*.c: some GtkType fixups.
1015 2000-02-09 Tor Lillqvist <tml@iki.fi>
1017 * gdk/win32/gdkproperty-win32.c
1018 * gdk/x11/gdkproperty-x11.c: The assertions for GDK_IS_WINDOW
1021 2000-02-04 Tor Lillqvist <tml@iki.fi>
1023 * gdk/win32/gdkfont-win32.c (logfont_to_xlfd): Use
1024 g_filename_to_utf8 to convert the font names Windows gives us from
1025 whatever is the default codepage to UTF-8.
1026 (gdk_font_load_internal) Use g_filename_from_utf8 for conversion
1027 in the other direction.
1029 * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Fix cut&paste
1030 error in debugging output.
1032 2000-02-02 Tor Lillqvist <tml@iki.fi>
1034 * gdk/win32/gdkwindow-win32.c (gdk_window_clear): Pass zero width
1035 and height parameters to gdk_window_clear_area(). Not minus one.
1037 Wed Feb 2 11:58:05 2000 Owen Taylor <otaylor@redhat.com>
1039 * gtk/gtkdnd.c (gtk_drag_selection_received): Add some sanity
1040 checks if the widget passed to gtk_drag_get_data() was not the
1043 2000-02-01 Tor Lillqvist <tml@iki.fi>
1045 * gtk/gtkfilesel.c: Use the g_filename_to_utf8 and
1046 g_filename_from_utf8 functions (which were added a moment ago to
1047 GLib). Some cleanups: Use gbooleans. Use GStrings instead of fixed
1050 gtk_file_selection_get_filename returns the filename in the C
1051 runtime encoding. It calls g_filename_from_utf8, but copies the
1052 returned string to a static buffer, which is returned. I think
1053 this is better than returning the result from g_filename_from_utf8
1054 directly, which would mean all apps that use it would have to free
1055 the return value. Or should this function care about this issue at
1056 all? Maybe a new function with clearly defined semantics.
1058 * gtk/gtkfilesel.h: Add comment about
1059 gtk_file_selection_get_filename returning the filename in the C
1064 * gdk/makefile.{cygwin,msc}
1065 * gtk/gtk.def: Updates.
1067 * gdk/gdkcursor-win32.c: Initialise refcount.
1069 2000-01-31 Yuan-Chung Cheng <platin@linux.org.tw>
1071 * configure.in: Added "zh_CN.GB2312" to ALL_LINGUAS.
1073 2000-01-30 Havoc Pennington <hp@pobox.com>
1075 * gtk/testgtk.c (set_cursor): use gdk_cursor_unref instead of
1078 * gdk/gdkimage.c (gdk_image_ref): image wasn't being returned
1080 * gdk/gdkprivate.h: declare _gdk_cursor_destroy which is then
1081 implemented in platform-specific code
1083 * gdk/Makefile.am (gdk_c_sources): add gdkcursor.c
1085 * gdk/x11/gdkcursor-x11.c (gdk_cursor_destroy): rename with an
1088 * gdk/win32/gdkcursor-win32.c (gdk_cursor_destroy):
1089 put an underscore in front
1091 * gdk/gdkcursor.c: new file, implements
1092 gdk_cursor_ref/gdk_cursor_unref
1094 * gdk/gdkcursor.h: Refcount GdkCursor
1096 * gdk/gdkcompat.h (gdk_cursor_destroy): compat
1098 2000-01-29 Tor Lillqvist <tml@iki.fi>
1101 * gdk/gdkpixmap.h: Remove prototypes for renamed functions.
1103 Tue Jan 25 11:43:21 2000 Owen Taylor <otaylor@redhat.com>
1105 * gtk/gtkinvisible.h (struct _GtkInvisible[Class]): Fix
1106 structures to properly inherit from GtkWidget not GtkBin.
1108 Sun Jan 23 20:28:24 2000 Owen Taylor <otaylor@redhat.com>
1110 * gtk+.spec.in: Added lib/gtk+/include/* to %files
1111 (bug #5178 - Peter Wainright)
1113 * gtk/Makefile.am (gtk_public_h_sources): Add gtkcompat.h
1114 so that it will be installed.
1115 (bug #4889 - "david d `zoo' zuhn" <zoo@mnnr.org>)
1117 Fri Jan 21 16:29:28 2000 Owen Taylor <otaylor@redhat.com>
1119 * gtk/gtkstyle.[ch] docs/Changes-1.4.txt: Make the @detail argument
1120 for the GtkStyleClass vtable const.
1122 * gtk/gtkitemfactory.[ch] docs/Changes-1.4.txt: Make GtkPrintFunc
1123 take a const string argument like GtkTranslateFunc. This will
1124 require changes in use code.
1126 2000-01-19 Tor Lillqvist <tml@iki.fi>
1128 * gdk/win32/gdkwindow-win32.c (gdk_window_clear_area): The correct
1129 semantics (to mimic the X11 backend, which just calls XClearArea)
1130 is to check for zero width (and height), and in that case use the
1131 window's width minus x (height minus y). This fixes for instance
1132 some redraw problems with gtkclist, which were easily noticeable
1133 in the gtk file selection widget.
1135 (gdk_window_new): Don't set WS_EX_TOPMOST for dialog
1138 2000-01-13 Tor Lillqvist <tml@iki.fi>
1142 * gdk/x11/Makefile.am
1143 * gdk/win32/Makefile.am: Small fixes, thanks to Peter Wainwright
1145 * gdk/win32/gdkcc-win32.c: Reintroduce, to be thrown
1148 2000-01-09 Tor Lillqvist <tml@iki.fi>
1150 * gdk/win32/gdkevents-win32.c (gdk_event_translate): Ignore
1151 WM_MOVE for iconified or invisible windows. This fixes various
1152 problems when minimising windows. Thanks to Bernd Herd.
1154 2000-01-05 Tor Lillqvist <tml@iki.fi>
1156 * gdk/gdkdraw.c (gdk_draw_lines): Fix copy&paste error: Call the
1157 backend's draw_lines method, not draw_points.
1159 2000-01-02 Tor Lillqvist <tml@iki.fi>
1161 * gdk/win32/gdkevents-win32.c: Clean up some more leftovers from
1162 before Owen's reorganisation: Don't have queued_events and
1163 queued_tail statics in this file, but use gdk_queued_events and
1164 gdk_queued_tail. This makes exposure event compression work again.
1166 (gdk_WindowProc): Comment out a posting of gdk_ping_msg, doesn't
1169 1999-12-30 Tor Lillqvist <tml@iki.fi>
1171 * gdk/gdk.c: If we don't HAVE_XCONVERTCASE we must #include
1172 gdkkeysyms.h to get the GDK_* keysym constants that are needed by
1173 gdk_keyval_convert_case(). Otherwise, gdk_keyval_convert_case()
1174 doesn't do anything.
1176 * gdk/gdk.def: Add gdk_xid_table_insert.
1178 * gdk/win32/gdkprivate-win32.h
1179 * gdk/win32/gdkevents-win32.c
1180 * gdk/win32/gdkinput-win32.c
1182 * gdk/win32/gdkwindow-win32.c: Remove the superfluous
1183 extension_events field in the GdkWindowWin32Data struct. Use only
1184 the extension_events field in GdkWindowPrivate. Previously one was
1185 set, and the other one tested, which broke tablet
1186 functionality. Thanks to Keishi Suenaga for pointing this out.
1188 1999-12-18 Tor Lillqvist <tml@iki.fi>
1190 * gdk/win32/gdkfont-win32.c (gdk_text_size, gdk_text_extents):
1191 When handling a single character (text length == 1), don't handle
1192 it as if it was UTF-8.
1194 1999-12-11 Tor Lillqvist <tml@iki.fi>
1196 * Makefile.am: Distribute README.win32.
1199 * gdk/win32/Makefile.am: Distribute Win32 files.
1201 * gdk/makefile.msc: New file.
1203 * gdk/gdk.c (gdk_arg_context_parse): Fix gccism (no statement
1206 * gdk/gdkprivate.h: Must mark also gdk_error_warnings and
1207 gdk_error_code as GDKVAR, as they are referred outside GDK.
1209 * gdk/win32/makefile.msc: Update.
1211 * gdk/win32/gdkfont-win32.c (check_unicode_subranges): More
1212 tweaks. Check only if at least one of those Unicode subrange bits
1213 we care for is set. If no code page bits are set, guess (wildly)
1214 based on the charset.
1216 * gdk/win32/gdkinput-win32.c: Remove debugging leftover.
1218 * gdk/win32/gdkwindow-win32.c (gdk_window_new): Assure title is
1224 * gtk/gtkselection.c
1226 * gtk/gtkwindow.c: Include x11/gdkx.h *or* win32/gdkwin32.c as
1227 appropriate. There must be a cleaner way to handle this?
1229 * gtk/gtkrc.c: Must include windows.h on Win32.
1231 * gtk/testgtk.c: No need to include gdkx.h.
1233 * gtk/makefile.cygwin: Correct invokation of genmarshal.pl.
1235 1999-12-07 Tor Lillqvist <tml@iki.fi>
1237 * gdk/win32/gdkfont-win32.c: Fix string measurement code. For now,
1238 the rbearing is set to the same as the width, but this should be
1241 1999-12-06 Tor Lillqvist <tml@iki.fi>
1243 * gdk/win32/gdkfont-win32.c (check_unicode_subranges): New
1244 function. If Windows doesn't tell us what Unicode subranges a font
1245 covers, guesstimate based on the codepages it covers. This will
1246 hopefully help those Windows versions or fonts that don't give us
1247 any useful Unicode subrange information with GetTextCharsetInfo.
1248 Call this function in gdk_font_load_internal.
1250 * gdk/win32/{gdkdnd,gdkimage,gdkpixmap,gdkprivate}-win32.c: Misc
1253 Fri Dec 3 14:09:50 1999 Owen Taylor <otaylor@redhat.com>
1255 * gtk/gtkoptionmenu.[ch] (gtk_option_menu_get_history):
1256 New function, long needed.
1258 Wed Dec 1 22:35:43 1999 Owen Taylor <otaylor@redhat.com>
1260 * gdk/gdkproperty.h x11/gdkproperty.c: Change
1261 only_if_exists argument of gdk_atom_intern to
1264 1999-11-25 Tor Lillqvist <tml@iki.fi>
1266 * gdk/gdkgc.c (gdk_gc_set_ts_origin, gdk_gc_set_clip_origin):
1267 Fix two copy&paste errors.
1269 * gdk/makefile.cygwin: Also rebuild DLL when the static archive in
1272 * gdk/win32/gdkprivate-win32.h: Don't need CPINFO in the
1273 GdkWin32SingleFont struct.
1275 * gdk/win32/gdkfont-win32.c: Some more debugging: Print Unicode
1276 subranges of loaded fonts. Clear font signature first, in case
1277 GetTextCharsetInfo fails. Pretend SYMBOL_CHARSET fonts have
1278 ASCII+Basic Latin (i.e. 0x40--0xFF) as they are single-byte.
1280 * gdk/win32/gdkgc-win32.c: Improved logging. (gdk_gc_postdraw):
1281 Unoffset clip region.
1283 1999-11-23 Tor Lillqvist <tml@iki.fi>
1285 * gdk/win32/gdkevents-win32.c (gdk_event_translate): set
1286 event->any.window before calling filter functions.
1288 Fri Nov 19 10:34:41 1999 Owen Taylor <otaylor@redhat.com>
1290 * gtk/gtkgamma.h: Adapt cast macros to standard.
1294 Tue Nov 16 10:15:54 1999 Owen Taylor <otaylor@redhat.com>
1296 * gtk/gtkitemfactory.c (gtk_item_factory_parse_path):
1297 If translation does not include a '/', use entire
1298 translation instead of crashing.
1300 Sun Oct 31 22:21:11 1999 Tim Janik <timj@gtk.org>
1302 * docs/gtk_tut.sgml:
1303 s/gtk_accel_group_attach/gtk_window_add_accel_group/.
1305 Sat Oct 30 09:09:09 1999 Owen Taylor <otaylor@redhat.com>
1307 * gtk/gtkselection.c (gtk_target_list_remove): Use
1308 g_list_remove_link, not g_list_remove.
1310 [ From Geert Bevin <gbevin@thunderstorms.org> ]
1312 Sun Oct 24 07:41:40 1999 Tim Janik <timj@gtk.org>
1314 * gtk/gtkclist.c (real_undo_selection): commented out g_print()
1315 statement upon unselection (how the heck did that slip in?).
1317 Sat Oct 23 03:03:08 1999 Tim Janik <timj@gtk.org>
1319 * gtk/gtktext.c (gtk_text_freeze):
1320 (gtk_text_thaw): undraw/draw cursor here to avoid unnecessary scrolling
1321 in frozen state (and aparently crashes). patch provided by Anders
1322 Melchiorsen <and@kampsax.dtu.dk>.
1324 Sat Oct 23 02:53:20 1999 Tim Janik <timj@gtk.org>
1326 * fix insensitive default/focus widget activation,
1327 reported by Matt Goodall <mgg@isotek.co.uk>.
1329 * gtk/gtkwindow.c (gtk_window_key_press_event):
1330 (gtk_window_activate_default):
1331 (gtk_window_activate_focus):
1332 return handled=FALSE for actiavtion of insensitive default
1333 widgets. return handled=TRUE for activation of insensitive
1334 focus widgets. don't activate in either case.
1336 Tue Oct 19 09:55:08 1999 Owen Taylor <otaylor@redhat.com>
1338 * gtk-config.in (lib_gtk): Switch order of @x_cflags@
1339 and $glib_cflags to match library order and in the
1340 theory that an old version of GLib is more likely to
1341 be in the include directory for X then vice-versa.
1344 Tue Oct 19 09:46:49 1999 Owen Taylor <otaylor@redhat.com>
1346 * gtk/gtkrc.c (gtk_rc_init): Always use LC_CTYPE
1347 to determine the locale for fontsets, not LC_MESSAGES;
1348 the user may want English messages with a handling
1349 for non-English languages. (LC_CTYPE=ru_RU LC_MESSAGES=fr_FR
1350 will still be broken) (Bug #2891)
1352 Tue Oct 19 20:36:42 1999 Changwoo Ryu <cwryu@adam.kaist.ac.kr>
1354 * gtk/gtkrc.ko: Fixed the wrong number of "*"'s.
1356 Tue Oct 19 12:15:13 1999 Changwoo Ryu <cwryu@adam.kaist.ac.kr>
1358 * gtk/gtkrc.ko: Changed the Korean default fontset.
1360 Fri Oct 8 02:32:47 1999 Owen Taylor <otaylor@redhat.com>
1362 * gtk/gtklayout.c (gtk_layout_adjustment_changed): Fix bug
1363 where when scrolling to the left or top double exposes
1364 were done, causing major slowdowns.
1366 Thu Oct 7 18:31:55 1999 Owen Taylor <otaylor@redhat.com>
1368 * gtk/gtkrc.c (gtk_rc_init): Always normalize codeset
1369 names to lowercase and alphanumeric, before looking
1372 * gtk/Makefile.am: Install codeset variant gtkrc files
1373 with normalized names.
1375 Thu Oct 7 22:52:42 1999 Tim Janik <timj@gtk.org>
1377 * gtk/gtkitemfactory.c (gtk_item_factory_popup_with_data): even
1378 popup menus when the menu is already visible, but its parent
1379 is still hidden, (happens after tornoff window got hidden).
1381 Thu Oct 7 11:09:55 1999 Owen Taylor <otaylor@redhat.com>
1383 * gtk/Makefile.am (install-data-local): Fix
1384 a typo where gtkrc.vi_VN.tcvn5712 wasn't getting
1385 deleted, causing error messages on install.
1387 Thu Oct 7 11:03:06 1999 Owen Taylor <otaylor@redhat.com>
1389 * gtk/gtk[hv]paned.c (gtk_{h,v}paned_draw): Redraw
1390 the handle as well, since we now sometimes ignore
1391 exposes on the handle while resizing.
1393 Wed Oct 6 18:02:31 1999 Owen Taylor <otaylor@redhat.com>
1395 * gtk/gtkrc.c (gtk_rc_append_default_pixmap_path): Fix stupid
1396 extra g_free introduced in one of the last one or two
1399 Wed Oct 6 16:38:36 1999 Owen Taylor <otaylor@redhat.com>
1401 * gtk/Makefile.am gtk/gtkrc*: Make naming of gtkrc files
1402 consistent, put each style that a gtkrc.* file creates
1403 in a unique namespace, remove old files before installing.
1405 Wed Oct 6 14:31:16 1999 Owen Taylor <otaylor@redhat.com>
1407 * gtk/gtkrc.c (gtk_rc_init): Avoid leaking memory when
1408 gtk_rc_init is called multiple times. (Yes, people who
1409 do that have bugs in their code.)
1411 Tue Oct 5 11:36:57 PDT 1999 Manish Singh <yosh@gimp.org>
1413 * gtk/Makefile.am: listing gtkrc in gtkconf_DATA seems to barf.
1414 Remove it since it's generated by the Makefile anyway
1416 Tue Oct 5 02:43:41 1999 Owen Taylor <otaylor@redhat.com>
1418 * gdk/gdkinputcommon.h (gdk_input_device_new): Free
1419 device->info.axes for core pointer.
1421 Thu Sep 30 13:55:25 1999 Owen Taylor <otaylor@redhat.com>
1423 * gtk/testgtk.c (destroy_idle_test): Rename idle to
1424 idle_id, to deal with obsolete, broken C libraries.
1426 Mon Sep 27 02:50:15 1999 Owen Taylor <otaylor@redhat.com>
1428 * gtk/gtkvscale.c (gtk_vscale_draw): Don't add in
1429 allocation->x/y twice!
1431 * gtk/gtkhscale.c: Make usage of gtk_hscale_pos_trough()
1432 consistent with gtk_vscale_pos_trough().
1434 Sun Sep 26 19:44:34 1999 Owen Taylor <otaylor@redhat.com>
1436 * gtk/gtkcontainer.c (gtk_container_queue_resize): We may
1437 be queueing a resize on a toplevel container between
1438 the time we show it and when we map it. So, we need
1439 to test GTK_WIDGET_VISIBLE() for toplevels, and only
1440 use GTK_WIDGET_DRAWABLE() for child windows.
1442 Thu Sep 23 16:41:03 1999 Owen Taylor <otaylor@redhat.com>
1444 * gtk/Makefile.am (LDADDS): Add GDK_WLIBS to LDADDS
1447 Fri Sep 24 00:51:45 1999 Tim Janik <timj@gtk.org>
1449 * gtk/gtkcontainer.c (gtk_container_queue_resize): check for
1450 container DRAWABLE (instead of VISIBLE), so we don't queue
1451 resizes on non-toplevel containers.
1453 Sun Sep 19 18:13:31 1999 Owen Taylor <otaylor@redhat.com>
1455 * gtk/gtkselection.[ch]: Make the data argument
1458 Sat Sep 18 21:27:40 1999 Owen Taylor <otaylor@redhat.com>
1460 * gtk/gtkwindow.c: Try to behave sensibly if
1461 the focus widget is the window itself. (Should
1462 we allow this at all?)
1464 Fri Sep 17 09:57:15 1999 Tim Janik <timj@gtk.org>
1466 * gtk/gtkwidget.c (gtk_widget_set_sensitive):
1467 * gtk/gtknotebook.c (gtk_notebook_set_scrollable):
1468 * gtk/gtknotebook.c (gtk_notebook_set_show_border):
1469 * gtk/gtkclist.c (gtk_notebook_set_show_border): make gboolean args
1470 in prototypes and implementations consistent (Tomas Ogren).
1472 * gtk/gtklayout.c (gtk_layout_remove): unset GTK_IS_OFFSCREEN flag
1473 before the widget is unparented (reported by damon).
1475 * gtk/gtkdnd.c: make the cursor and icon data _unsigned_ char,
1476 since we provide unsigned data anyways.
1478 Thu Sep 16 21:32:01 1999 Owen Taylor <otaylor@redhat.com>
1480 * gtk/gtktooltips.c (gtk_tooltips_set_tip): Delay
1481 the call to gtk_tooltips_layout_text() until later.
1483 * gtk/gtktooltips.c (gtk_tooltips_draw_tips):
1484 Call gtk_widget_ensure_style() before using the style.
1486 Wed Sep 15 02:52:19 1999 Owen Taylor <otaylor@redhat.com>
1488 * gtk/gtkwidget.c (gtk_widget_event): Added workaround
1489 for old widgets that don't propagate draws to all
1490 children. (Namely gnome-dock for gnome-libs <= 1.0.16)
1492 Tue Sep 14 19:22:19 1999 Tim Janik <timj@gtk.org>
1494 * gtk/gtkwidget.c (gtk_widget_queue_resize): don't queue the parent
1495 for a redraw but just the widget that requested the resize.
1497 Tue Sep 14 18:29:47 1999 Tim Janik <timj@gtk.org>
1499 * gtk/gtkcontainer.c: added new widget level method
1500 gtk_container_set_reallocate_redraws() and a GtkContainer flag
1501 reallocate_redraws : 1 to reflect the setting, exported this through
1502 the argument system as a boolean ::reallocate_redraws.
1504 * gtk/gtkwidget.c (gtk_widget_size_allocate): when queueing redraws
1505 on the widget because the allocation changes, do so as well for
1506 widget->parent if the parent has reallocate_redraws set to TRUE.
1507 with that containers requesting reallocation redraws get automatically
1508 redrawn if their children changed allocation (this unfortunately
1509 affects also other children that didn't change allocation, but we
1510 cannot work around that before 1.3).
1512 Tue Sep 14 18:23:01 1999 Tim Janik <timj@gtk.org>
1514 * gtk/gtkwidget.c (gtk_widget_idle_draw): only emit ::draw if width
1515 _and_ height are >0 (not _or_).
1517 * gtk/gtktable.c (gtk_table_remove): use gtk_widget_queue_resize()
1518 instead of gtk_container_queue_resize(), which is a core gtk internal
1519 function (must have been on crack when i queued that).
1521 * gtk/gtkprivate.h: added new private flag GTK_FULLDRAW_PENDING, so
1522 we can check more reliably if we want to discard expose events.
1523 * gtk/gtkwidget.c: added setting/unsetting of the GTK_FULLDRAW_PENDING
1526 * gtk/gtkwidget.c (gtk_widget_event): don't discard synthesized exposes,
1527 we simply trust these events. for deciding whether to discard exposes,
1528 check GTK_FULLDRAW_PENDING instead of RESIZE_PENDING.
1530 Mon Sep 13 15:01:21 1999 Owen Taylor <otaylor@redhat.com>
1532 * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
1533 queues of areas that are completely off screen.
1535 * gtk/gtkwidget.c (gtk_widget_idle_draw): Fix broken
1536 logic for handleboxes.
1538 * gtk/gtkwidget.c (gtk_widget_queue_draw_data): Add santity
1539 check on width/height.
1541 Mon Sep 13 02:22:47 1999 Tim Janik <timj@gtk.org>
1543 * gtk/Makefile.am: backed out Raja's recent VPATH build "improvements",
1544 we are fine with using $@ the way we do (if we actually encounter
1545 brokeness with $@ in VPATH builds because of additional path prefixes,
1546 we need to use $(@F) actually).
1548 Mon Sep 13 01:34:53 1999 Tim Janik <timj@gtk.org>
1550 * gtk/gtksignal.c: renamed two variables, hopefully didn't introduce
1551 short lived bugs, that would allow language bindings to do surgeries
1554 Fri Sep 10 15:22:50 1999 Owen Taylor <otaylor@redhat.com>
1556 * gtk/gtkwindow.c (gtk_window_size_allocate): Fix typo
1557 where comparison was being done against an uninitialized
1558 value causing intermittant results depending on
1559 compiler flags. Also make it clearer that we aren't
1560 ever initializing the child as 0x0 (though this will
1561 be caught in gtk_widget_size_allocate())
1563 Fri Sep 10 10:06:56 1999 Owen Taylor <otaylor@redhat.com>
1565 * gtk/gtkwindow.c (gtk_window_set_transient_for): Move
1566 gtk_window_unset_transient_for() call after we do checks
1567 involving the old transient parent.
1568 [ From Lance Capser <lmc@cyberhighway.net> ]
1570 1999-09-07 Raja R Harinath <harinath@cs.umn.edu>
1572 * gtk/Makefile.am (gtk.defs): Go back to using `touch' to create
1575 Mon Sep 6 00:11:56 1999 Lars Hamann <lars@gtk.org>
1577 * gtk/gtkctree.c (gtk_ctree_is_ancestor): return FALSE if node has
1578 no children. (Reported by: Chris Rogers <gandalf@pobox.com>)
1580 1999-09-03 Raja R Harinath <harinath@cs.umn.edu>
1582 * gtk/Makefile.am (gen_sources): Improve VPATH builds.
1583 `$@' is valid only in the build dir, not after we've done
1584 `cd $srcdir'. Also use `test -f' instead of less portable
1587 Fri Sep 3 15:59:56 1999 Owen Taylor <otaylor@redhat.com>
1589 * gtk/gtktext.c (correct_cache_insert): Rewrite
1590 for simplicity, and hopefully correctness.
1591 (Fixes bug #1322, which was a segfault when
1592 on some insertions with the properties around
1593 the insertion set up just wrong.)
1595 * gtk/gtktext.c (gtk_text_adjustment): When we receive
1596 a "changed" signal, clamp the new value to the adjustment
1597 bounds to avoid segfaulting if someone tries to change
1598 the adjustment to a bogus value. (Bug #1795)
1600 Thu Sep 2 16:33:59 1999 Owen Taylor <otaylor@redhat.com>
1602 * gtk/gtkmain.c: Ignore unexpected destroy notifies
1603 for children, for toplevel windows handle them
1606 * gtk/gtkplug.c: Add an unrealize handler so that
1607 we unref plug->socket_window when we are done
1610 Fri Sep 3 14:52:54 1999 Owen Taylor <otaylor@redhat.com>
1612 * gtk/gtktext.c (clear_area): Fix stupid signedness
1613 problem that was causing background to sometimes
1616 Fri Sep 3 12:26:33 1999 Owen Taylor <otaylor@redhat.com>
1618 [ Fixes pointed out by Ettore Perazzoli <ettore@comm2000.it> ]
1620 * gtk/gtkmenu.c (gtk_menu_position): Make
1621 sure we never position menus with negative x, y,
1622 since gtk_widget_set_uposition() can't handle that.
1624 * gtk/gtkmenuitem.c (gtk_menu_item_position_menu):
1625 Modify the positioning code a bit so that we always
1626 put the top-left corner onscreen. (This is for
1627 UI reasons, gtk_menu_position() now takes care of
1628 gtk_widet_set_uposition() brokeness.)
1630 Fri Sep 3 03:06:30 1999 Tim Janik <timj@gtk.org>
1632 * gtk/Makefile.am: fixed up things for -jx, x > 1.
1634 Sun Sep 5 08:48:51 1999 Owen Taylor <otaylor@redhat.com>
1636 * gtk/gtkwidget.c (gtk_widget_modify_style): Ref the
1637 RC style that is passed in. The lack of the ref
1638 before was a bug. If people worked around this
1639 bug, this will introduce a slight memory leak
1640 in their code. The code should typically look like:
1642 rc_style = gtk_rc_style_new ();
1644 gtk_widget_modify_style (widget, rc_style);
1645 gtk_rc_style_unref (rc_style);
1647 * gtk/gtkwidget.c (gtk_widget_modify_style): Reset
1648 the style if it was already set.
1650 * gtk/gtkwidget.c (gtk_widget_set_name): Only set the
1651 style if it was set before.
1653 Thu Sep 2 19:02:37 1999 Owen Taylor <otaylor@redhat.com>
1655 * gtk/testgtk.c (main): Add a check to see if we
1656 are being run from the correct directory and
1657 to quit nicely if we are not.
1659 * gtk/gtkrc.c (gtk_rc_slist_remove_all): Make function
1662 Thu Sep 2 23:00:03 1999 Tim Janik <timj@gtk.org>
1664 * gtk/gtkenums.h (GtkWindowPosition): added GTK_WIN_POS_CENTER_ALWAYS.
1667 queue resizes unconditionally (gtk_widget_queue_resize will figure
1668 what to do if the window is not realized).
1669 (gtk_window_move_resize): only recenter the window
1670 for GTK_WIN_POS_CENTER_ALWAYS.
1671 (gtk_window_compute_reposition): handle GTK_WIN_POS_CENTER_ALWAYS in
1672 the same way as GTK_WIN_POS_CENTER.
1674 Thu Sep 2 22:39:27 1999 Tim Janik <timj@gtk.org>
1676 * gtk/gtkwindow.c (gtk_window_reposition): check for the last position
1677 with (!(info->last_flags & GDK_HINT_POS)) instead of
1678 (!info->last_flags & GDK_HINT_POS).
1680 * gtk/gtkwindow.c (gtk_window_move_resize): constrain new_width and
1681 new_height unconditionally, because we use these values even if
1682 !default_size_changed && !hints_changed.
1683 comented the (default_size_changed || hints_changed) case with
1684 respect to resize rejects from the window manager.
1686 * gtk/gtkwindow.c (gtk_window_move_resize): save info->last values
1687 in the zvt condition hack, since this includes the window hints, set
1688 the hints after the handling_resize case.
1690 * gtk/gtkwindow.c (gtk_window_show): constrain the default size that a
1691 window is initially shown with to the geometry.
1693 Thu Sep 2 07:38:56 1999 Tim Janik <timj@gtk.org>
1695 * gtk/gtkwindow.c (gtk_window_move_resize):
1696 s/size_changed/default_size_changed/g so i know what's
1697 really going on (frying brain on smaller flame now).
1699 Thu Sep 2 05:47:47 1999 Tim Janik <timj@gtk.org>
1701 * gtk/gtkwindow.c (gtk_window_move_resize): queue a new resize if
1702 we have size_changed upon handling_resize. this is a gross
1703 workaround for the broken zvt widget and should be removed in
1704 1.3 again (search for FIXME).
1705 Owen provided an accurate comment for this:
1707 /* We could be here for two reasons
1708 * 1) We coincidentally got a resize while handling
1710 * 2) Our computation of size_changed was completely
1711 * screwed up, probably because one of our children
1712 * is broken. It's probably a zvt widget.
1714 * For 1), we could just go ahead and ask for the
1715 * new size right now, but doing that for 2)
1716 * might well be fighting the user (and can even
1717 * trigger a loop). Since we really don't want to
1718 * do that, we requeue a resize in hopes that
1719 * by the time it gets handled, the child has seen
1720 * the light and is willing to go along with the
1721 * new size. (this happens for the zvt widget, since
1722 * the size_allocate() above will have stored the
1723 * requisition corresponding to the new size in the
1726 * This doesn't buy us anything for 1), but it shouldn't
1727 * hurt us too badly, since it is what would have
1728 * happened if we had gotten the configure event before
1729 * the new size had been set.
1732 Wed Sep 1 20:46:11 1999 Owen Taylor <otaylor@redhat.com>
1734 * gtk/gtkrc.c: deal properly with the fact that RC
1735 style lists may include rc styles more than once.
1737 * gtk/gtkrc.c (gtk_rc_append_pixmap_path): Removed
1738 unused static function.
1740 * gtk/gtkrc.c (gtk_rc_find_pixmap_in_path): Keep a
1741 stack of directories of RC files currently being
1742 parsed and implicitely add them to pixmap path.
1744 This fixes a bug where the directory would get
1745 appended then overwritten by pixmap_path declarations.
1747 (bug #1462, from Peter Wainright <prw@wainpr.demon.co.uk>)
1749 * gtk/gtkthemes.c (gtk_theme_engine_unref): Call
1750 theme's exit function. (Patch from Peter Wainwright,
1753 * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_destroy):
1754 Add a destroy() handler to take care of removing
1755 group for menu item. (Fixes bug #1197)
1757 * gtk/gtkwidget.c (gtk_widget_size_request): Fixed thinko
1760 Wed Sep 1 21:27:42 1999 Tim Janik <timj@gtk.org>
1762 * gtk/gtkwindow.c (gtk_window_move_resize): don't require a server
1763 roundtrip to figure window's width and height, since we know that
1764 anyways from widget->allocation.
1766 Wed Sep 1 12:37:44 1999 Owen Taylor <otaylor@redhat.com>
1768 * gtk/gtkwindow.c (gtk_window_move_resize): Compute
1769 the hints after we request the new size.
1771 Wed Sep 1 10:38:37 1999 Owen Taylor <otaylor@redhat.com>
1773 * gtk/gtkwindow.c (gtk_window_compute_hints): Removed
1774 GTK_WIDGET_REALIZED() assertion - we can compute the
1775 hints before we are realized.
1777 * gtk/gtkwindow.c (gtk_window_move_resize): Reorder
1778 hint changing so that we have a value of hints_changed
1779 when we decide whether to constrain the window size.
1781 * gtk/gtkwindow.c (gtk_window_move_resize): Spelling fix.
1783 * gtk/gtkwindow.c (gtk_window_constrain_size): cleanups,
1784 change back to G_MAXINT.
1786 Wed Sep 1 06:54:59 1999 Tim Janik <timj@gtk.org>
1788 * gtk/gtkwindow.c (gtk_window_get_geometry_info): zero initialize
1789 new GtkWindowGeometryInfo, so fields like GdkGeometry geometry
1790 contain uncluttered values.
1791 (gtk_window_compute_hints): simply assert that window is realized
1792 and that geometry_info is valid, since we rely on this anyways.
1793 (gtk_window_constrain_size): major cleanups to the code.
1794 if (flags & GDK_HINT_BASE_SIZE) use geometry's base width and height
1795 for the base size, instead of the minimums. use 32767 as max width
1796 and height (like in gtkwindow.c) instead of G_MAXINT.
1798 Wed Sep 1 04:41:25 1999 Tim Janik <timj@gtk.org>
1800 * cleaned up the GtkContainer.need_resize flag handling mess, we
1801 only need to force resize requests when we were prematurely
1802 realized, or our widget tree was modified when we were temporarily
1803 hidden. handling these cases directly upon showing the window (i.e.
1804 while the GdkWindow is still unmapped) avoids the need to wait for
1805 a configure event response and therefore makes the GUI more snappier
1806 and avoids blank windows during the roundtrip.
1810 (gtk_widget_show): don't queue resizes on toplevels, they know how
1811 to deal with matters.
1813 * gtk/gtkcontainer.c (gtk_container_queue_resize): set the ->need_resize
1814 flag directly for not visible resize containers and spare us unecessary
1818 (gtk_window_realize): if we need to enforce premature size allocation,
1819 queue a container resize so we are correctly resized later on.
1821 (gtk_window_size_request):
1822 don't freak around with the ->need_resize flag,
1823 gtk_container_queue_resize() will care about that.
1825 handle initial resizing issues here, we can handle matters better in
1826 this place, especially since we know that our GdkWindow is still
1828 (gtk_window_move_resize):
1829 don't care about ->need_resize at all.
1830 handle size changes properly that occoured while we waited for a
1833 Tue Aug 31 15:58:46 1999 Owen Taylor <otaylor@redhat.com>
1835 * gtk/gtkwidget.c (gtk_widget_set_uposition):
1836 * gtk/gtkwindow.[hc] (gtk_window_reposition):
1837 Move the hint setting code from gtk_widget_set_uposition
1838 to here; set the hints so that we respect any previously
1841 * gtk/gtkwindow.c (gtk_window_compute_reposition): Don't
1842 change the window hints here or move the window here,
1843 let that happen in gtk_window_move_resize().
1845 Tue Aug 31 06:58:52 1999 Tim Janik <timj@gtk.org>
1847 * gtk/gtkwidget.c (gtk_widget_event): when discarding exposes due
1848 to already queued resizes (and therefore redraws) on a widget, check
1849 its anchestry as well.
1851 * gtk/gtkcontainer.c:
1852 (gtk_container_queue_resize): clear resize widgets for resize
1853 containers before aborting prematurely. this is especially important
1854 for toplevels which may need imemdiate processing or their resize
1855 handler to be queued.
1856 (gtk_container_dequeue_resize_handler): added new internal function for
1859 * gtk/gtkwindow.c (gtk_window_move_resize): if we are resizing due to a
1860 configure event, take possible changes in window position into account
1862 if we request a new window size, queue up a resize handler that will
1863 last until the configure event response arrives.
1864 combined the ->need_resize case (initial show) with the general size
1865 (hints) changed case and added even more comments.
1866 if !auto_shrink, only revert to the old allocation if the new size
1867 is smaller than the current allocation.
1869 Tue Aug 31 11:55:20 1999 Owen Taylor <otaylor@redhat.com>
1871 * gtk/gtkwindow.c (gtk_window_set_arg, gtk_window_set_policy,
1872 gtk_window_set_geometry_hints
1873 gtk_window_set_default_size):
1874 When hints are set, queue a resize so that the hints will
1875 be eventually reset on the toplevel.
1877 * gtk/gtkwindow.c (gtk_window_show): Use
1878 gtk_window_compute_default_size(). Clear the need_resize flag
1879 on the initail map so that we don't unnecessarily trigger the
1882 * gtk/gtkwindow.c (gtk_window_move_resize): Split apart
1883 into separate functions. Compare the hints we are setting
1884 with what we set last time so that we can accurately
1885 tell when we need to reset the hints.
1887 * gtk/gtkwindow.c (gtk_window_compute_default_size): New
1888 function to figure out the size from requisition
1891 * gtk/gtkwindow.c (gtk_window_constrain_size): Function
1892 from fvwm to constrain a size to the geometry hints.
1894 * gtk/gtkwindow.c (gtk_window_compare_hints): New function
1895 to compare two sets of geometry hints.
1897 * gtk/gtkwindow.c (gtk_window_compute_hints): Renamed
1898 from gtk_window_set_hints(), just compute the hints,
1901 * gtk/gtkwindow.c (gtk_window_compute_reposition): Move
1902 code from gtk_window_move_resize() to separate function,
1905 Tue Aug 31 13:05:03 1999 Owen Taylor <otaylor@redhat.com>
1907 * gtkrc.h: Move the ref_count member out of the GtkRcStyle
1908 structure into a new private structure.
1910 * gtkrc.c: Split GtkRcStyle into public/private.
1911 In the private part, add a list of pointers to the
1912 RcStyle lists this RcStyle participates in.
1914 * gtkrc.c: When a RcStyle is free, remove all
1915 lists referencing it from the
1916 realized_style_ht hash, and free those lists.
1918 * gtk/gtkrc.c (gtk_rc_clear_styles): Don't call
1919 gtk_rc_init(), since that adds the default styles
1920 to the list of parsed RC files again.
1922 * gtk/gtkrc.c: Use gtk_rc_style_find() consistently.
1924 Thu Aug 26 14:14:42 1999 Tim Janik <timj@gtk.org>
1926 * gtk/gtkwidget.c (gtk_widget_size_allocate): reactivated the sanity
1927 checks that ensure that a widget's allocation is at least 1 in width
1928 and height. (GNOME note: this doesn't affect old panel code anymore,
1929 because GtkSocket will request width and height of at least 1 since
1932 * gtk/gtkwindow.c (gtk_window_realize): if the widget hasn't been
1933 allocated yet (happens if the user realizes the window prematurely),
1934 size request and allocate it.
1935 (gtk_window_size_allocate): guard against guint underflows.
1937 Wed Aug 25 19:01:36 1999 Lars Hamann <lars@gtk.org>
1939 * gtk/Makefile.am (gtk_built_sources): reordered stamp-gtk.defs
1940 in gtk_built_sources, so gtk.defs gets built prior to all other
1943 Mon Aug 23 19:11:17 1999 Tim Janik <timj@gtk.org>
1946 invoke indent on gtkmarshal.*.
1947 rewrote source generation rules, use COPYING as oldest source tag for
1948 a piggyback rule to generate all sources from (don't touch it ;).
1949 major cleanups, strip spaces on build rules for GNU Make.
1951 * gtk/genmarshal.pl: don't operate on hardcoded filenames but take
1952 source and target files from commandline arguments. don't invoke indent.
1954 Sat Aug 21 14:07:36 1999 Lars Hamann <lars@gtk.org>
1956 * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
1957 notebook after switch to avoid drawing problems.
1958 (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
1960 (gtk_notebook_pages_allocate): don't map not visible tab_labels,
1962 (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
1964 Sat Aug 21 14:07:36 1999 Lars Hamann <lars@gtk.org>
1966 * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
1967 notebook after switch to avoid drawing problems.
1968 (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
1970 (gtk_notebook_pages_allocate): don't map not visible tab_labels,
1972 (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
1974 Wed Aug 18 09:20:10 1999 Tim Janik <timj@gtk.org>
1977 we use window->need_resize from configure_event now, to indicate that
1978 the gtkwindow should keep its allocation (e.g. because the user resized
1979 the window through window manager handles). resize_count is now reliably
1980 used to figure whether we got the allocation we requested from the
1982 configure events get queued as resizes now, the real stuff (size
1983 computation and allocation) now only goes on in gtk_window_move_resize().
1984 GtkWindow's requisition now contains its *real* requisition (like all
1985 other widgets), *not* taking usize into account.
1986 geometry_info->last_{width|height} is now updated from set_hints() only
1987 so it always contains the last hints we set for the window manager.
1988 made some event handlers return TRUE instead of FALSE.
1989 the overall code should be much more straight forward now, and the
1990 significant code portions are accompanied by comments now.
1991 (gtk_window_set_hints):
1992 removed requisition argument and made it
1993 fetch the requisition through gtk_widget_get_child_requisition.
1994 we also don't move the gdkwindow here anymore, gtk_window_move_resize()
1997 ensure that the widget is realized before calling
1998 gtk_container_check_resize() (and thus gtk_window_move_resize()), also
1999 ensure that we got properly size requested and allocated before
2001 (gtk_window_configure_event):
2002 ignore plain window moves, or reallocate the widget tree through the
2003 resize queue otherwise.
2004 (gtk_window_move_resize):
2005 mostly rewrote this function to figure window manager hints more
2006 reliably, coalesce window moves and resizes to reduce configure events
2007 and do actuall size allocations.
2009 Tue Aug 17 07:43:04 1999 Tim Janik <timj@gtk.org>
2011 * gtk/gtkwidget.c (gtk_widget_event): discard expose events for widgets
2012 that have a resize pending, because a redraw is already queued for them.
2014 * gtk/gtkcontainer.c: removed ugly connect_to ::size_allocate signal
2015 hack to clear resize_widgets.
2017 * gtk/gtkwidget.c (gtk_widget_size_allocate): call clear_resize_widgets
2018 for resize containers prior to size allocation. (this is also a bit
2019 ugly, but avoids side effects for stopped emissions and is thus more
2021 (gtk_widget_unparent): removed disconnect call for clear_resize_widgets.
2023 * gtk/gtktooltips.c (gtk_tooltips_paint_window): renamed this
2024 function from gtk_tooltips_expose, as we connect to ::expose_event
2027 1999-08-18 Federico Mena Quintero <federico@redhat.com>
2029 * gtk/gtkselection.c (gtk_target_list_ref): Added missing sanity
2031 (gtk_target_list_unref): Likewise.
2033 * gtk/gtkthemes.c (gtk_theme_engine_unref): Likewise.
2035 Tue Aug 17 15:47:07 1999 Owen Taylor <otaylor@redhat.com>
2037 * gtk/gtkcolorsel.c (gtk_color_selection_draw_value_bar):
2038 guard against division by zero. (Fixes bug #1339)
2040 Tue Aug 17 10:56:49 1999 Owen Taylor <otaylor@redhat.com>
2042 * gtk/gtkentry.c (gtk_move_{forward,backward}_word):
2043 Prevent the trivial leak of information of allowing
2044 word motion when the entry is not visible.
2046 Tue Aug 17 10:28:52 1999 Owen Taylor <otaylor@redhat.com>
2048 * gtk/gtkfilesel.c (gtk_file_selection_fileop_error): Propagate
2049 modality to error dialog as well as confirmation dialogs.
2050 (Bug #1803, reported by Rosanna Wing Sze Yuen)
2052 Wed Aug 11 01:04:57 1999 Owen Taylor <otaylor@redhat.com>
2054 * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): Honor
2056 (gtk-guy-990611-3.patch: Guy Harris <guy@netapp.com>)
2058 * gtk/Makefile.am (install-data-local): Solaris apparently
2059 has various troubles with ln -f; use rm first instead.
2060 (gtk-guy-990611-2.patch: Guy Harris <guy@netapp.com>)
2062 1999-07-30 Raja R Harinath <harinath@cs.umn.edu>
2064 * gtk/Makefile.am (stamp-m): Don't `mv' from builddir to srcdir,
2065 use `cp' followed by `rm' (the `rm' was already there).
2067 July 30, 1999 Elliot Lee <sopwith@redhat.com>
2069 * configure.in: Fix autoconf warnings about cross compilation by
2070 trying to provide sane defaults for AC_TRY_RUN.
2071 * gtk/Makefile.am: If we refer to gtkmarshal.[ch] in $(srcdir),
2072 put them into $(srcdir) when generated. Also add a dependency of
2073 gtksignal.h on gtkmarshal.h for -j builds.
2074 * gtk/gtk(dnd,style,gamma).c: Minor warning fixes.
2076 Wed Jul 28 09:29:19 1999 Owen Taylor <otaylor@redhat.com>
2078 * gtk/gtkmain.c (gtk_main_iteration_do): Added missing
2079 GDK_THREADS_{LEAVE,ENTER} pair.
2080 (From Paul Fisher <pnfisher@redhat.com>)
2082 Fri Jul 23 01:00:15 1999 Tim Janik <timj@gtk.org>
2084 * gtk/gtksocket.c (gtk_socket_size_request): asure that the requested
2085 width and height are always >0 (owen).
2087 Fri Jul 23 00:00:47 1999 Tim Janik <timj@gtk.org>
2089 * gtk/gtkwidget.c (gtk_widget_size_allocate): backed out my recent
2090 change that assured that a widget's allocated with and height are
2091 always >1, since this breaks *buggy* panel code. unfortunately this
2092 back-breaks the gimp's color selector.
2094 * gtk/gtkdrawingarea.c (gtk_drawing_area_size_allocate): asure that our
2095 allocation is always >0 in width and height, before sending the
2096 configure event; this is a *gross* hack to get the gimp back to work.
2098 * marked both cases with TODO-1.3
2100 Wed Jul 21 15:47:39 1999 Owen Taylor <otaylor@redhat.com>
2102 * gtk/gtktext.c: Don't display wrap indicators when
2103 text is not editable and word wrap is on.
2105 Wed Jul 21 08:21:40 1999 Tim Janik <timj@gtk.org>
2107 * gtk/gtkitemfactory.c (gtk_item_factory_create_item): special case
2108 option menus here as they are not derived from menu shell, assure that
2109 the option menu has a menu we can add items to.
2111 Tue Jul 20 23:29:48 1999 Tim Janik <timj@gtk.org>
2113 * gtk/gtknotebook.c (gtk_notebook_page_allocate): convert allocation->
2114 width/height to (gint) before calculations and check against < 0 to
2115 avoid guint wraparounds.
2117 Sun Jul 18 00:35:49 1999 Tim Janik <timj@gtk.org>
2119 * gtk/gtkwidget.c (gtk_widget_size_allocate): ensure that the allocated
2120 width and height is never zero. sanity check both dimensions against
2121 32767 and issue a warning if the allocation is greater than that.
2123 Wed Jul 7 15:03:30 1999 Owen Taylor <otaylor@redhat.com>
2125 * gtk/gtkmain.c (gtk_events_pending): Unlock around call
2126 to g_main_pending() as well.
2128 Wed Jul 7 14:59:01 1999 Owen Taylor <otaylor@redhat.com>
2130 * gtk/gtkmain.c (gtk_main_iteration): Unlock around
2131 call to g_main_iteration() - since that will regrab
2132 GTK+ lock to process events.
2134 Thu Jul 1 15:01:55 1999 Owen Taylor <otaylor@redhat.com>
2137 - Regularize with the rest of GTK+ by making widget->requisition
2138 not reflect the set_usize()
2139 - Always recompute geometry hints, then check if they
2140 changed before sending them to the X server. The
2141 previous checks for changes would fail in a number
2144 Thu Jul 1 11:55:59 1999 Owen Taylor <otaylor@redhat.com>
2146 * gtk/gtkstyle.c: Include <stdlib.h> for strcmp().
2148 Wed Jun 30 19:26:36 1999 Owen Taylor <otaylor@redhat.com>
2152 - Instantaneously update on modifier key presses
2153 - Allow cancellation of the drag with Escape.
2155 Tue Jun 29 17:04:09 1999 Owen Taylor <otaylor@redhat.com>
2157 * gtk/testgtk.c (create_handle_box): Set the policy
2158 to auto_shrink - otherwise the appearance is rather
2159 strange when flipping between horizontal and vertical.
2161 Mon Jun 28 09:29:52 1999 Tim Janik <timj@gtk.org>
2163 * gtk/gtkwindow.c: add ::default_width and ::default_height arguments.
2164 (gtk_window_set_default_size): don't change a value if it's < 0.
2167 Sun Jun 27 11:00:33 1999 Tim Janik <timj@gtk.org>
2169 * gtk/gtktext.c (gtk_text_insert): don't segfault on NULL inserts.
2171 Mon Jun 28 12:08:25 1999 Owen Taylor <otaylor@redhat.com>
2173 * gtk/gtkfilesel.c (cmpl_completion_fullname): Don't
2174 add an extra "/" when concating "/" + filename.
2175 (From Matt Grossman <mattg@oz.net>)
2177 Mon Jun 28 10:57:12 1999 Owen Taylor <otaylor@redhat.com>
2179 * gtk/gtkctree.c (draw_cell_pixmap): Reset clip mask
2180 for fg_gc if we set it for drawing pixmap.
2182 Tue Jun 15 12:45:12 1999 Owen Taylor <otaylor@redhat.com>
2184 Fixes from Peter Wainwright <prw@wainpr.demon.co.uk>
2186 * gtk/gtkrc.c (gtk_rc_parse_engine): If rc_style->engine is
2187 already set, call old engine's destroy function and
2188 unref the old engine.
2190 Thu Jun 10 17:59:38 1999 Tim Janik <timj@gtk.org>
2192 * gtk/gtkdrawingarea.c (gtk_drawing_area_size): queue a resize.
2194 Wed Jun 9 15:13:16 1999 Tim Janik <timj@gtk.org>
2196 * gtk/gtkaccelgroup.h: mark certain functions as internal.
2198 Wed Jun 9 13:48:28 1999 Tim Janik <timj@gtk.org>
2200 * gtk/gtkpreview.c (gtk_preview_set_expand): queue a resize if the
2201 expand behaviour changed.
2203 * gtk/gtklabel.c (gtk_label_set_pattern):
2204 (gtk_label_set_justify):
2205 (gtk_label_set_line_wrap):
2206 don't bother invoking queue_clear, the reallocation does
2207 that for us, always free_words so the upcoming resize will
2208 relayout the label's contents.
2210 Wed Jun 9 12:50:48 1999 Tim Janik <timj@gtk.org>
2212 * applied argument implementation patches from Elena Devdariani
2215 * gtk/gtktoolbar.c: ::orientation, ::toolbar_style, ::space_size,
2216 ::space_style, ::relief
2217 * gtk/gtkruler.c: ::lower, ::upper, ::position, ::max_size
2218 * gtk/gtkpreview.c: ::expand
2219 * gtk/gtkpaned.c: ::handle_size, ::gutter_size
2220 * gtk/gtknotebook.c: ::homogeneous
2221 * gtk/gtklabel.c: ::wrap
2222 * gtk/gtklist.c: ::selection_mode
2223 * gtk/gtkhandlebox.c: ::handle_position, ::snap_edge
2224 * gtk/gtkcurve.c: ::curve_type, ::min_x, ::max_x, ::min_y, ::max_y
2225 * gtk/gtkcolorsel.c: ::update_policy, ::use_opacity
2226 * gtk/gtkclist.c: ::sort_type
2227 * gtk/gtkcheckmenuitem.c: ::active, ::show_toggle
2228 * gtk/gtkaspectframe.c: ::xalign, ::yalign, ::ratio, ::obey_child
2230 Tue Jun 1 23:38:38 1999 Owen Taylor <otaylor@redhat.com>
2232 * gtk/gtkstyle.c: Removed ill-thought-out part of last
2235 Tue Jun 1 23:30:09 1999 Owen Taylor <otaylor@redhat.com>
2237 * gtk/gtkstyle.c (gtk_style_attach): Get the reference
2238 counting right when we have to attach a new style
2239 for a different visual. (Chi-Deok Hwang <cdhwang@sr.hei.co.kr>)
2241 * gtk/gtkstyle.c: Documented the refcounting
2242 peculularities of gtk_style_attach.
2244 1999-06-01 Tim Janik <timj@dhcpd7.redhat.com>
2246 * gtk/gtkwindow.c (gtk_window_new): added return if fail for invalid
2249 * examples/packer/pack.c (main): use GTK_WINDOW_TOPLEVEL instead
2250 of GTK_TOPLEVEL for creating the window.
2252 1999-06-01 Tim Janik <timj@dhcpd7.redhat.com>
2254 * gtk/gtkmain.c (gtk_init_check): don't segfault when --gtk-module is
2255 the last argument (reported by Per Winkvist).
2257 Tue May 25 13:13:12 1999 Owen Taylor <otaylor@redhat.com>
2259 Fixes for invisible XOR lines (Frank Loemker
2260 <floemker@TechFak.Uni-Bielefeld.DE>)
2262 * gtk/gtkclist.c (gtk_clist_realize): Always use
2263 a non-zero pixel for GDK_XOR.
2265 * gtk/gtkvpaned.c gtk/gtkhpaned.c:
2266 Use GDK_INVERT instead of GDK_XOR.
2268 Wed May 12 21:56:40 1999 Lars Hamann <lars@gtk.org>
2270 * gtk/gtkclist.c (adjust_adjustments): signal emit value_changed
2271 signals if h/voffsets differ from adjustment values.
2272 Reportet by Jerome Bolliet <bolliet@in2p3.fr>
2274 Mon May 10 04:20:41 1999 Tim Janik <timj@gtk.org>
2276 * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): propagate
2277 ::selection-done emissions up to the topmost menu shell.
2279 Fri May 7 10:15:14 1999 Owen Taylor <otaylor@redhat.com>
2281 * gtk/gtknotebook.c (gtk_notebook_set_scrollable): Unset
2282 the user data on the window before destroying it.
2284 * gtk/gtknotebook.c (gtk_notebook_unrealize): Add an
2285 unrealize handler to take care of destroying
2286 notebook->panel properly.
2287 (Bug #1198 - Morten Welinder <terra@diku.dk>)
2289 * gtk/gtktext.c (expand_scratch_buffer): Fix reversal
2290 of g_new and g_realloc to stop memory leak. (Actually,
2291 we could just use g_realloc(), but I'm not 100% sure
2293 (Bug #1196 - Morten Welinder <terra@diku.dk>)
2295 Wed Apr 21 00:42:08 1999 Owen Taylor <otaylor@redhat.com>
2297 * gtk/gtkplug.h: Removed stray GtkPlugButton declaration.
2299 * gdk/gdkfont.c (gdk_text_measure): Fix the return value
2302 * gtk/gtkbutton.c (gtkbutton_expose): Fix warning
2303 with bin/button confusion.
2305 Thu May 6 04:53:26 1999 Tim Janik <timj@gtk.org>
2307 * gtk/testgtk.c: in the ItemFactory test, link radio items together,
2308 and show how preselection of radio items is done.
2310 Sun May 2 13:31:14 1999 Tim Janik <timj@gtk.org>
2312 * gtk/gtktreeitem.c (gtk_tree_item_set_subtree):
2313 * gtk/gtktree.c (gtk_tree_add) (gtk_tree_insert):
2314 * gtk/gtktoolbar.c (gtk_toolbar_insert_element):
2315 * gtk/gtkpaned.c (gtk_paned_pack2) (gtk_paned_pack1):
2316 * gtk/gtkscrolledwindow.c (gtk_scrolled_window_add):
2317 * gtk/gtktable.c (gtk_table_attach):
2318 * gtk/gtklist.c (gtk_list_insert_items):
2319 * gtk/gtkmenushell.c (gtk_menu_shell_insert):
2320 * gtk/gtknotebook.c (gtk_notebook_insert_page_menu):
2321 * gtk/gtkpacker.c (gtk_packer_add_defaults) (gtk_packer_add):
2322 * gtk/gtkbin.c (gtk_bin_add):
2323 * gtk/gtkbox.c (gtk_box_pack_start) (gtk_box_pack_end):
2324 * gtk/gtkfixed.c (gtk_fixed_put):
2325 * gtk/gtklayout.c (gtk_layout_put):
2326 general fixups to container_add logic. always realize child if
2327 child->parent is realized, only map the child and queue a resize
2328 if child and child->parent are both visible.
2330 Fri Apr 30 09:02:28 1999 Tim Janik <timj@gtk.org>
2332 * gtk/gtkwidget.c (gtk_widget_real_unrealize): use gtk_container_forall
2333 instead of gtk_container_foreach to walk and unrealize children, so
2334 composite children get also unrealized.
2335 (gtk_widget_real_show): don't call gtk_widget_map() if we don't need to.
2336 (gtk_widget_map): assert that the widget is visible (basic constrain).
2337 (gtk_widget_real_map): assert that the widget is realized (basic
2340 Fri Apr 29 00:53:20 1999 Tim Janik <timj@gtk.org>
2342 * gtk/gtkbindings.c (gtk_pattern_spec_init): plugged a memory leak.
2344 Tue May 4 09:32:08 1999 Owen Taylor <otaylor@redhat.com>
2346 * gtk/Makefile.am gtk/gtkrc.iso-8859-2: Add a gtkrc
2347 file for iso-8859-2 locales.
2349 * configure.in (ALL_LINGUAS): ALL_LINGUAS update.
2351 Tue Apr 27 16:38:32 1999 Owen Taylor <otaylor@redhat.com>
2353 * gtk/Makefile.am: Fix typo of static_sources for static_SOURCES.
2354 (Pointed out by andy@rz.uni-karlsruhe.de and others).
2355 Remove some suspicious and useless lines.
2357 Tue May 4 08:44:08 1999 Owen Taylor <otaylor@redhat.com>
2359 * gtk/gtkclist.c (gtk_clist_draw, draw_rows): Use
2360 width,height = 0, 0 to mean - here to edge of window,
2361 instead of -1, -1, since the former is all we support.
2363 Tue May 4 08:34:43 1999 Owen Taylor <otaylor@redhat.com>
2365 * gtk/gtkmain.c (gtk_main): Correctly free list nodes
2366 when removing from quit_functions list.
2368 Tue Apr 27 14:17:16 1999 Tim Janik <timj@gtk.org>
2370 * gtk/gtkpacker.c (gtk_packer_size_request): remove unused variable.
2372 Tue Apr 27 18:23:35 1999 Owen Taylor <otaylor@redhat.com>
2374 * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable):
2375 When redrawing characters on non-visible entry, use appropriate
2376 '*' character. (Bug #1130 - Jean-Marc Jacquet <jm@littleigloo.org>)
2378 Tue Apr 27 01:31:40 1999 Lars Hamann <lars@gtk.org>
2380 * gtk/gtkclist.c (drag_dest_cell): compute destination cell
2381 from drag coordinates.
2382 (gtk_clist_drag_data_received) (gtk_clist_drag_motion):
2385 * gtk/gtktree (drag_dest_cell)
2386 (gtk_ctree_drag_data_received) (gtk_ctree_drag_motion): likewise.
2389 Wed Apr 21 21:26:11 1999 Tim Janik <timj@gtk.org>
2391 * gtk/gtkitemfactory.c (gtk_item_factory_init): properly initialize
2393 (gtk_item_factory_finalize): invoke translate_notify independant from
2395 (gtk_item_factory_set_translate_func): likewise.
2396 (gtk_item_factory_destroy): only remove ifactory pointer from those
2397 widgets that belong to us (stupid me).
2399 Mon Apr 19 12:05:31 1999 Owen Taylor <otaylor@redhat.com>
2401 * gtk/gtkrc.c (gtk_rc_style_init): Fixed leak of
2402 rc_style list when lookup succeeeds.
2404 Thu Apr 15 01:11:24 1999 Lars Hamann <lars@gtk.org>
2406 * gtk/gtkctree.c (resync_selection):
2407 * gtk/gtkclist.c (resync_selection): fixed undo_selection bug.
2408 * gtk/gtkclist.c (gtk_clist_button_release): fixed resync_selection
2411 Fri Apr 9 19:22:19 1999 Owen Taylor <otaylor@redhat.com>
2413 * gtk/gtkcolorsel.c gtk/gtkdnd.c gtk/gtkmenuitem.c:
2414 Add some missing GDK_THREADS_ENTER()/LEAVE around
2415 timeouts. (Patches from Sebastian Wilhelmi <wilhelmi@ira.uka.de>)
2417 Thu Apr 8 20:10:33 1999 Tim Janik <timj@gtk.org>
2419 * gtk/gtkentry.c (gtk_entry_key_press): use gtk_widget_activate()
2420 rather than emit_by_name.
2422 * gtk/gtkeditable.c (gtk_editable_insert_text): keep a reference
2423 on the widget across multiple signal emissions.
2424 (gtk_editable_delete_text): same here.
2425 (gtk_editable_class_init): set widget_class->activate_signal after
2426 editable_signals[ACTIVATE] has been created.
2428 Wed Apr 7 22:59:47 1999 Owen Taylor <otaylor@redhat.com>
2430 * gtk/gtkpaned.c (gtk_paned_set_position): Don't clamp
2431 position here prematurely -- we might not have the
2432 right ->min_position and ->max_position yet.
2434 Tue Apr 6 16:38:51 1999 Owen Taylor <otaylor@redhat.com>
2436 * gtk/gtkselection.c gdk/gdkselection.c: (gtk_selection_request):
2437 Add error traps so if the other end of the connection
2440 * gtk/gtkselection.c (gtk_selection_notify): Clean
2441 up properly when selection property retrieval fails.
2443 * gtk/gtkselection.c (gtk_selection_request): Correctly
2444 reject SelectionRequest notifies where the handler
2447 Tue Apr 6 12:24:21 1999 Owen Taylor <otaylor@redhat.com>
2449 * gtk/gtkdnd.c (gtk_drag_dest_leave): Only unhighlight
2450 when we've previously highlighted.
2452 * gtk/gtkdnd.c (gtk_drag_dest_handle_event): Don't
2453 emit two "drag_leave" signals for Motif drops.
2455 * gtk/gtkdnd.c (gtk_drag_source_handle_event): Send
2456 back the correct status messages when dropping from
2457 Motif onto a proxy window that is rejecting the
2460 Sat Mar 27 23:32:13 1999 Tim Janik <timj@gtk.org>
2462 * gtk/gtkarg.[hc]: added functions from GLE, gtk_arg_reset() to free
2463 the value and reset type to GTK_TYPE_INVALID, and gtk_arg_values_equal()
2464 to compare two argument values. added gtk_arg_to_valueloc() to set a
2465 variable from an arg through its location (pointer).
2467 * gtk/gtkobject.[hc]: implemented gtk_object_get() in terms of
2468 gtk_object_arg_get() and gtk_arg_to_valueloc(), floats are collected
2469 as gfloat*, uchars are collected as guchar*, ints are collected as
2472 Mon Mar 29 17:45:47 1999 Owen Taylor <otaylor@redhat.com>
2474 * gtk/gtkaccelgroup.c gtk/gtkgtkbindings.c:
2475 Include <string.h> instead of <strings.h>.
2477 * gtk/gtkstyle.c: Fix double include of gtkthemes.h
2478 (actually, a lot more duplicate includes occur if
2479 you trace through the sequence of #include's)
2480 gtk-jbb-990320-0: John Bley, jbb6@acpub.duke.edu
2482 Mon Mar 29 17:02:58 1999 Owen Taylor <otaylor@redhat.com>
2484 Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
2485 gtk-a-higuti-990322-[0-3]
2487 * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
2488 that was causing -DX_LOCALE not to work.
2490 * gtk/gtkrc.c (gtk_rc_init):
2491 X_LOCALE will never have LC_MESSAGES defined
2493 Thu Mar 25 12:38:31 1999 Tim Janik <timj@gtk.org>
2495 * gtk/gtkrc.c (gtk_rc_append_default_module_path): get $HOME from
2496 g_get_home_dir() (gtk-pmc-990123-0.patch.gz).
2498 * gtk/gtkwindow.c (gtk_window_key_press_event): feature keypad up/down/
2499 left/right as well (gtk-michael-980726-0.patch.gz).
2501 * gtk/gtklabel.[hc]: bunch of miscellaneous cleanups, such as s/0/NULL/
2502 for pointer values, use gchar instead of char. fixed uline allocation
2503 leaks, changed the allocation pattern so we use G_ALLOC_AND_FREE mem
2504 chunks instead of G_ALLOC_ONLY.
2505 (gtk_label_size_request): always alter requisition as passed and leave
2506 widget->requisition alone.
2507 (gtk_label_set_text): allow NULL strings.
2508 (gtk_label_new): likewise.
2510 Wed Mar 24 09:24:03 1999 Tim Janik <timj@gtk.org>
2512 * gtk/gtkdrawingarea.[hc]: type/macro fixups.
2514 Mon Mar 22 05:51:34 1999 Tim Janik <timj@gtk.org>
2516 * gtk/gtkbin.c (gtk_bin_draw): only redraw children that are visible
2517 *and* mapped (i.e. drawable).
2518 (gtk_bin_expose): only send exposes to drawable children.
2520 * gtk/gtkbox.c (gtk_box_draw): only redraw children that are drawable.
2521 (gtk_box_expose): only send exposes to drawable children.
2523 * gtk/gtkhscale.c (gtk_hscale_draw):
2524 * gtk/gtkvscale.c (gtk_vscale_draw):
2525 hm, this is an ugly one. we first compute the size of our trough area
2526 here (window relative) and then check intersection with the draw_area
2527 which is parent relative because we're a NO_WINDOW widget, so we need
2528 to offset the trough area by allocation.x and allocation.y before the
2529 check. (this must not be done for the background area though, since
2530 that's already computed parent relative).
2532 Mon Mar 22 00:41:39 1999 Lars Hamann <lars@gtk.org>
2534 * gtk/gtkclist.c (gtk_clist_unrealize): unmap clist if neccessary,
2535 unrealize title buttons.
2537 Fri Mar 19 00:00:22 1999 Lars Hamann <lars@gtk.org>
2539 * gtk/gtkclist.c (gtk_clist_column_title_passive)
2540 (gtk_clist_column_title_active):
2541 only connect/disconnect to GtkWidgetClass::event to block mouse events.
2543 * gtk/gtkclist.c (vertical_timeout) (horizontal_timeout):
2544 zero initialize event, removed superfluous gdk_window_get_pointer call
2546 * gtk/gtklist.c (gtk_list_vertical_timeout)
2547 (gtk_list_horizontal_timeout): removed superfluous
2548 gdk_window_get_pointer call
2550 Wed Mar 17 09:00:00 1999 Tim Janik <timj@gtk.org>
2552 * plugging problems reported by "Bruce Mitchener, Jr."
2553 <bruce@puremagic.com> due to a purify session.
2557 (gtk_style_unref): assert ref_count to be > 0.
2559 * gtk/gtkclist.c (gtk_clist_set_cell_style): { 0 } initilaize
2561 (gtk_clist_set_shift): likewise.
2563 * gtk/gtklayout.c: introduce gtk_layout_finalize() to unref the
2566 * gtk/gtklist.c (gtk_list_horizontal_timeout): zero initialize the
2567 event before sending it and set send_event to TRUE (which needs to
2568 be done for *all* synthesized events).
2569 (gtk_list_vertical_timeout): likewise.
2571 * gtk/gtktipsquery.c (gtk_tips_query_destroy): plug small memory
2574 * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set send_event
2575 to TRUE when synthesizing events.
2577 [ *** end of merges from 1.2 *** ]
2579 1999-11-21 Tor Lillqvist <tml@iki.fi>
2581 * gdk/gdkconfig.h: Remove, as this is a file generated by configure
2582 (or copied from gdkconfig.h.win32 on Win32, sigh).
2584 * gdk/gdkprivate.h: Mark gdk_parent_root for export from DLL.
2586 * gdk/gdk.c (gdk_keyval_convert_case): Fix typo.
2588 * gdk/gdkgc.c (gdk_gc_alloc): Remove duplicated line.
2590 * gdk/gdkconfig.h.win32: New file.
2592 * gdk/win32/makefile.cygwin: Build just a static archive here.
2594 * gdk/makefile.cygwin: New file. Get the win32-specific stuff
2595 for the DLL from the static archive built above.
2597 * gdk/gdk.def: Moved here from the win32 subdirectory.
2599 * gdk/win32/*: Adapt for the changed private struct organisation.
2601 * gtk/makefile.{cygwin,msc}: Get gdk library from ../gdk now.
2603 Sun Nov 21 16:44:35 1999 Stefan Jeske <stefan@gtk.org>
2605 * gtk/gtkspinbutton.c (gtk_spin_button_button_press): Added support
2606 for wheel mice (buttons 4 and 5).
2608 1999-11-18 Tor Lillqvist <tml@iki.fi>
2610 * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Also for truecolor
2611 drawables use just the pixel field in the foreground and
2612 background GdkColor of the GdkGC.
2614 gdk_gc_set_{fore,back}ground() are called in the GIMP with
2615 GdkColors containing uninitialized (red,green,blue) fields, and
2616 just the pixel field filled in, and furthermore in the
2617 visual-dependent format as returned by gdk_rgb_xpixel_from_rgb().
2618 It thus turns out that we really don't need to have the full
2619 GdkColor for fg and bg in GdkGCWin32Data after all. Will change
2620 it later to have just the pixel values.
2622 Mon Nov 15 17:17:51 GMT 1999 Tony Gale <gale@gtk.org>
2624 * docs/gtkfaq.sgml: s/gtk_main_iteration/g_main_iteration/
2626 Sat Nov 13 22:30:29 GMT 1999 Tony Gale <gale@gtk.org>
2628 * docs/gtkfaq.sgml: threads example from Erik Mouw.
2629 New question on GtkLabel background colors.
2631 * docs/gtk_tut.sgml:
2632 - Correct the example code callback
2633 function definitions.
2634 - Update the gtkdial example code, from Frans van Schaik.
2635 - Update setselection.c to current API.
2637 * examples/Makefile examples/*/*.c: Update to code
2640 1999-11-10 Tor Lillqvist <tml@iki.fi>
2642 * gdk/win32/gdkfont-win32.c: Fix a couple of bugs. The Unicode
2643 subrange table (from the "Developing International Software for
2644 WIndows 95 and Windows NT" book) was missing the Hangul syllable
2645 block... Get the loaded font's charset correctly.
2647 (Note that this, and the other *-win32.c files, still really are
2648 the old ones, the win32 subdirectory is not ready for compilation
2649 yet after the reorg.)
2651 Wed Nov 10 17:26:49 GMT 1999 Tony Gale <gale@gtk.org>
2653 * gtk/gtkclist.c: Fix off-by-one bug in parameter
2656 Wed Nov 10 12:12:03 1999 Owen Taylor <otaylor@redhat.com>
2658 * gdk/x11/gdkinput-{x11,xfree}.c: Call XFreeDeviceState()
2659 on results of XQueryDeviceState().
2661 Mon Nov 8 16:40:43 1999 Owen Taylor <otaylor@redhat.com>
2663 * gtk/gtkwidget.c: Substitute gdkx.h => gdkprivate.h since
2664 we need to accesss only ->children. We need an accessor
2667 * gtk/gtkhandlebox.c gtk/testgtk.c: Substitute G
2668 DK_ROOT_PARENT() => NULL, in call to gtk_window_get_pointer()
2669 to get rid of gdkx.h include.
2671 * gtk/gtkctree.c: Get rid of #include <gdk/gdkx.h>
2672 and random references to 'None'.
2674 * gtk/gtkclist.c gtk/gtkeditable.c gtk/gtkpreview.c
2675 Get rid of unused #include <gdk/gdkx.h>
2677 * gtk/gtkrc.c gtk/gtkmain.c: Get rid of #include <gdk/gdkx.h>
2678 gdkx.h is _X_ specific stuff. GDK_WINDOWING comes from
2681 1999-11-08 Tor Lillqvist <tml@iki.fi>
2683 * gdk/win32/gdkdraw.c
2684 * gdk/win32/gdkfont.c
2685 * gdk/win32/gdkgc.c: Various minor cleanups and bugfixes
2686 following yesterday's changes. (Unrelated to Owen's reorg.)
2688 Mon Nov 8 16:18:25 1999 Owen Taylor <otaylor@redhat.com>
2690 * gdk/x11/gdkinput-gxi.c: Add missing include,
2691 fix GdkWindowPrivate => GdkDrawablePrivate.
2693 * gdk/x11/gdkinputprivate.h: include <X11/Xlib.h>.
2695 * gdk/x11/Makefile.am (xinput_sources): Add missing
2696 backslash to fix building with --with-xinput=none
2698 Mon Nov 8 14:47:04 1999 Owen Taylor <otaylor@redhat.com>
2700 Move all X specific code into the x11/ directory.
2701 Aside from shuffling things around, did the following:
2703 * gdk/gdkprivate.h gdk/gdk.h gdk/x11/gdkmain-x11.h: Add
2704 gdk_arg_context_* - a simple argument parsing system
2705 in the style of popt.
2707 * gdk/gdkdrawable.[ch] gdk/gdkprivate.h gdk/gdkwindow.[ch]
2708 gdk/x11/gdkprivate-x11.h:
2709 Remove X specific stuff from GdkDrawable and GdkWindowPrivate -
2710 add ->klass and ->klass_data fields. The klass_data
2711 field points to an auxilliary structure that is
2712 windowing system dependent.
2714 * gdk/gdkfont.c: Make most of the measurement functions
2715 simply wrappers around gdk_text_extents().
2717 * gdk/gdkfont.c gdk/gdkprivate.h gdk/x11/gdkfont-x11.c: Add a
2718 _gdk_font_strlen() function that hides the weird
2719 behavior in gtk+-1.[02] where a string is interpreted
2720 differently for 8-bit and 16-bit fonts.
2722 * gdk/gdkevents.c: Add a new function gdk_event_button_generate()
2723 to store common code for synthesizing double/triple
2726 * gdk/gdkgc.[ch]: Virtualize in the same way as gdkdrawable.h.
2727 Make all the function that modify an existing GC
2728 simply wrappers around gdk_gc_set_values().
2730 * gdk/gdkcc.[ch]: Moved into x11/ directory in preparation
2731 for throwing out later.
2733 * gdk/gdkfont.c gdk/gdkimage.c gdk/gdkcolor.c: Change GdkFontPrivate,
2734 GdkImagePrivate and GdkColormapPrivate to have a
2735 windowing system dependent part (GdkFontPrivateX etc.)
2736 that "derives" from the system-independent part.
2738 * configure.in gdk/x11/Makefile.in gdk/x11/gdkinput*.c:
2739 Got rid of the included-source-files for XInput in
2740 favor of automake conditionals. (Which didn't exist
2741 when XInput support was originally added.)
2743 * gdk/gdkrgb.c: Remove the visual id from the debugging
2744 statements since that is X11 specific; print out
2745 type/depth info instead.
2748 Wed Nov 3 18:14:49 1999 Owen Taylor <otaylor@redhat.com>
2750 * gdk/x11/gdkfont-x11.c (gdk_font_load): Ref fonts when
2751 loading duplicates of hashed fonts.
2753 * gdk/gdk.c (gdk_keysym_convert_case): rename
2754 gdk_XConvertCase to gdk_keysym_convert_case, allow
2755 results to be NULL in the GTK+ style.
2757 * gdk/gdkcompat.h: Started compatibility header
2760 1999-11-07 Tor Lillqvist <tml@iki.fi>
2762 * gdk/win32/gdkprivate.h: New font private structures, related to
2765 * gdk/win32/gdkfont.c: New functions gdk_font_list_new() and
2766 gdk_font_list_free(). On X11, will just be wrappers to
2767 XListFonts() and XFreeFontNames(). On Win32, the code previously
2768 in gtkfontsel.c is now here.
2770 New function gdk_font_xlfd_create(). On X11 will get the FONT
2771 property of the font (for GDK_FONT_FONTs), or call
2772 XBaseFontNameListOfFontSet (for GDK_FONT_FONTSETs), on Win32
2773 builds a XLFD style name from the font information in the LOGFONT
2776 New function gdk_font_xlfd_free(), which correspondingly frees the
2777 string returned by gdk_font_xlfd_create().
2779 Implement fontsets on Win32. Add a function that iterates over a
2780 wide char string and calls a callback function for each substring
2781 of wide chars from the same Unicode subrange (and thus probably
2782 available in the same real font).
2784 Improve the XLFD emulation a bit.
2786 * gdk/win32/gdkim.c (gdk_nmbstowchar_ts): Small bugfix.
2788 * gdk/win32/gdkevents.c: Workaround for suspected bug on Win2k
2789 Beta3, WM_IME_CHAR messages don't seem to contain the composed
2790 multi-byte char as with the Active IMM on Win9x. Oh well, handle
2791 WM_IME_COMPOSITION with GCS_RESULTSTR instead, use
2792 ImmGetCompositionStringW() to get the composed Unicode chars.
2795 * gdk/win32/gdkdraw.c: Changes needed because of the font private
2798 * gdk/win32/gdk.def: Add the new functions.
2800 1999-11-04 Tor Lillqvist <tml@iki.fi>
2802 * config.h.win32: Don't define HAVE_DIMM_H if MSC, as you have to
2803 get the Platform SDK to get <dimm.h>.
2805 * gdk/win32/gdkevents.c: More event handling fixes and
2806 simplification. Never generate motion events with is_hint true. We
2807 used to do that on bogus grounds earlier. Windows sends
2808 WM_MOUSEMOVE messages on button events even if the mouse hasn't
2809 moved, ignore these.
2811 * gdk/win32/gdkfont.c: Load all fonts as (pretended) fontsets.
2813 * gdk/win32/gdkglobals.c
2814 * gdk/win32/gdkprivate.h: Define a typedef for the pointer to
2815 the TrackMouseEvent function, and use it.
2817 * gdk/win32/gdkwindow.c: Terminate widechar string with a zero
2818 char before calling WideCharToMultiByte in order to get a string
2819 for the window title.
2821 * gdk/win32/gdkdnd.c: Some more random hacking, ifdeffed out.
2823 * gdk/win32/gdk.def: Remove obsolete functions.
2825 * gdk/win32/makefile.{cygwin,msc}: Remove gdkcompat.{o,obj}. Add
2826 /nodefaultlib and /defaultlib switches.
2828 * gtk/gtkrc.c: s/gwin_getlocale/g_win32_getlocale/.
2830 1999-10-31 Tor Lillqvist <tml@iki.fi>
2832 * gdk/gdkkeysyms.h: Add new keysyms from X11R6.4 (including
2835 * gdk/gdktypes.h: Add note about wchar_t not necessarily being the
2836 same type as GdkWChar, especially on Win32.
2838 * gdk/win32/*.c: Change gdk_root_parent to be a pointer.
2840 * gdk/win32/*.c: Assume all strings are UTF-8. Convert to Unicode
2841 before passing to Windows GDI for drawing etc. Convert to the
2842 system default codepage before passing to Windows as window
2845 * gdk/win32/gdkprivate.h: Add more fields to GdkWindowPrivate to
2846 support changing input locale on the fly.
2848 * gdk/win32/gdkevent.c: Support input language (keyboard locale)
2849 on-the-fly changes. Convert incoming characters from the current
2850 codepage to Unicode (and then to a UTF-8 multi-byte string) based
2851 on the current input language. Use keysym<->Unicode mapping tables
2852 and functions borrowed from xterm sources.
2854 Support IMEs (Input Method Editors) for CJK languages. On non-CJK
2855 editions of Win9x, use the ActiveX-based Active IMM (Input Method
2856 Manager) if available. IMEs and the Active IMM are available under
2857 the disguise of Chinese, Korean and Japanese support for IE and
2858 Outlook Express from "Windows Update" for Win98. On Win2k, the CJK
2859 support is present in all editions (as long as you install it).
2861 Call DispatchMessage from gdk_events_queue() (and thus
2862 gdk_WindowProc()), instead of duplicating the code in
2865 Reworked the grab handling and propagation code, factored out
2866 duplicated code snippets into separate functions. Other cleanups,
2869 * gdk/win32/surrogate-dimm.h: Provide just the bits we need from
2870 the <dimm.h> header describing the Active IMM.
2872 * gdk/win32/gdkfont.c: Pretend to support fontsets, but so far
2873 just do the same as for "single" fonts.
2875 * gdk/win32/gdk.c: Call CoInitialize() (COM initialisation) from
2876 gdk_init_check, and CoUninitialize() from gdk_exit_func. Handle
2877 the new keysyms from gdkkeysyms.h.
2879 * gtk/gtkfontsel.c (Win32): Load the font for the preview as a
2880 fontset, so that gtkentry uses wide characters.
2882 * gtk/gtkrc.c (Win32): Get the locale with gwin_getlocale(). Call
2883 GTk+'s system directory "gtk+", not "gtk".
2885 Sat Oct 30 13:17:18 BST 1999 Tony Gale <gale@gtk.org>
2887 * docs/gtkfaq.sgml: FAQ update
2889 1999-10-21 Tor Lillqvist <tml@iki.fi>
2891 * gdk/win32/gdkprivate.h: Add more font private data.
2893 * gdk/win32/gdkfont.c
2894 * gdk/win32/gdkdraw.c: Revamped handling of multi-byte charset
2895 fonts and strings. Now works much better. You still have to
2896 have a correct font selected, though. No fontset emulation yet.
2898 1999-10-19 Tor Lillqvist <tml@iki.fi>
2900 * gtk/maketypes.awk: Use G_OS_WIN32.
2902 * gtk/gtk.def: Add some missing entry points. Also some non-public
2903 ones, but PyGTK porter claims to need them.
2905 * gtk/makefile.{cygwin,msc}: Drop some unneeded headers from the
2906 built-in type generation.
2908 1999-10-14 Tor Lillqvist <tml@iki.fi>
2910 * gdk/win32/gdkdraw.c (gdk_draw_text_wc): Don't use TextOutW for
2911 GDK_FONT_FONT fonts (which is all we have for now, we don't
2912 emulate fontsets). The X11 version uses plain XDrawString in that
2913 case, too. The string passed to gdk_draw_text_wc seems to be in
2914 fact (at least, when used by gtkentry and gtktext) either in a
2915 single-byte charset, or a DBCS. Not Unicode.
2917 This fixes the problem in gtkfontsel, where even if you had
2918 selected a font with a non-Latin1 charset (windows-greek, for
2919 instance), the preview still used Latin-1 glyphs.
2921 * gdk/win32/gdkfont.c (gdk_text_width_wc): Similar change. Don't
2922 use GetTextExtentPoint32W, use GetTextExtentPoint32A.
2923 (gdk_font_load): Recognize the demibold etc weights, even if we
2924 don't have the corresponding constants in the headers.
2925 (gdk_font_hash_insert): Use same hash mechanism as in the X11
2926 version. Should save font resources a bit, when we don't have
2927 multiple HFONTs for the same font.
2929 * gdk/win32/gdkprivate.h: Add the names field as in the X11
2932 1999-10-11 ERDI Gergo <cactus@cactus.rulez.org>
2934 * gdk/gdk.c (gdk_beep): Modified the XBell call to use the default
2937 1999-10-09 ERDI Gergo <cactus@cactus.rulez.org>
2939 * gtk/gtktoolbar.h, gtk/gtktoolbar.c: Added horizontal icon/text
2940 layout support (as mentioned on
2941 http://www.jcinteractive.com/gnome-ui/software/widgets/)
2943 Wed Oct 6 12:46:17 PDT 1999 Manish Singh <yosh@gimp.org>
2946 * gtk/gtkfilesel.c: s/G_HAVE_CYGWIN/G_WITH_CYGWIN/
2948 1999-10-05 Jesus Bravo Alvarez <jba@pobox.com>
2950 * configure.in (ALL_LINGUAS): Added Galician (gl)
2952 1999-10-05 Tor Lillqvist <tml@iki.fi>
2954 * gdk/win32/*.[ch]: Corresponding changes as in X11 backend.
2956 * gdk/win32/gdkcompat.c: New file, actually provide an
2957 implementation for the deprecated functions. (Just temporarily.)
2959 * gtk/gtkfilesel.c: Fix an #ifdef syntax botch.
2961 * gtk/makefile.{cygwin,msc}: Update gdk_headers.
2963 * gdk/win32/gdk.def gtk/gtk.def: Updates.
2965 1999-10-05 Kjartan Maraas <kmaraas@online.no>
2967 * configure.in: Added "uk" to ALL_LINGUAS.
2969 Mon Oct 4 11:57:11 PDT 1999 Manish Singh <yosh@gimp.org>
2971 * configure.in: correct checking for BeOS check
2976 * gtk/gtkitemfactory.c
2978 * gtk/gtkrc.c: use G_OS_WIN32 and G_HAVE_CYGWIN #defines
2980 Mon Oct 4 16:16:53 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
2982 * gtk/gtkrc.{bg,iso88591[345]}: add gtkrc files for some new charset
2983 encodings: iso-8859-13 (for Lithuanian), iso-8859-14 (used by celtic
2984 languages), iso-8859-15 (used in Estonia) and microsoft-cp1251 (used
2987 Sun Oct 3 18:13:44 1999 Owen Taylor <otaylor@redhat.com>
2989 * gtk/gtkwidget.c (gtk_reset_shapes_recurse):
2990 Fix a reference to window_private->destroyed.
2992 * gtk/gtkplug.c (gtk_plug_realize): Fix up a direct
2993 (ugly) setting of an internal GdkWindow member to use
2994 a _slightly_ cleaner macro.
2996 * gdk/gdkprivate.h: Split GdkWindowPrivate into
2997 GdkDrawablePrivate and GdkWindowPrivate.
2998 Add extra macros for accessing GDK_DRAWABLE_ components.
3000 * *.[ch]: Massive adjustments for the above, use the
3001 new macros in a lot of places.
3003 Sun Oct 3 15:16:24 1999 Owen Taylor <otaylor@redhat.com>
3005 * gdk/gdktypes.h: Make GdkDrawable the base type,
3008 Sun Oct 3 15:08:44 1999 Owen Taylor <otaylor@redhat.com>
3010 * gdk/gdkdraw.c (gdk_drawable_get_data): Added new function.
3012 Sun Oct 3 14:26:15 1999 Owen Taylor <otaylor@redhat.com>
3014 * gdk/gxid* gdk/x11/gxid*: Move files into x11 subdirectory.
3016 Sun Oct 3 14:16:23 1999 Owen Taylor <otaylor@redhat.com>
3018 * gdk/gdkdrawable.h: Include gdk/gdkdrawable.h with
3019 gdk/ prefix. (Pointed out by chak@is.tsukuba.ac.jp)
3021 * configure.in gdk/Makefile.am x11/: create x-specific subdirectory.
3023 * docs/gtk-config.1: Now autogenerated.
3024 * docs/Changes-1.4.txt: started
3026 1999-10-03 Tor Lillqvist <tml@iki.fi>
3028 * gdk/gdkimage.h gdk/gdkpixmap.h: Change GDK_WINDOWING_WIN32 usage
3029 to #ifdef also here.
3031 * gdk/win32/*.h gdk/win32/*.c: Make corresponding changes as those
3032 Owen did to the X11 backend.
3034 * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Fix it again, don't use
3035 ScrollWindowEx when blitting inside a window, it can't be correct
3036 in the general case.
3038 * gdk/win32/gdkevents.c: Don't handle WM_SIZING, handling
3039 WM_GETMINMAXINFO is easier.
3041 * gdk/win32/gdkimage.c (gdk_image_new): Create new image with
3042 depth equal to the bitspixel value, not the visual's depth.
3044 * gdk/win32/gdkvisual.c (gdk_visual_init): Set the visual's depth
3045 to 24 even if the bitspixel value is 32.
3047 * gdk/gdkrgb.c (gdk_rgb_select_conv): After the above change, no
3048 need to check for depth==32 when bpp==32, depth will always be 24.
3050 Fri Oct 1 18:03:36 1999 Owen Taylor <otaylor@redhat.com>
3052 * docs/Changes-1.4.txt: Started
3054 * gtk/Makefile.am (gdk_headers): Include all the new headers.
3056 * gdk/*.h gdk/*.c: Split gdk.h into lots of itty-bitty little pieces.
3058 * gdk/gdkprivate.h gdk/gdkcc.c: Moved GdkColorContext private
3061 * gdkinput.h gdkinputprivate.h - renamed the internal gdkinput
3062 header to gdkinputprivate.h.
3064 * gdk/gdk.h gdk/gdk.c: Removed gdk_time* functions which have been
3065 unused since before 1.2.
3067 1999-09-30 Tor Lillqvist <tml@iki.fi>
3069 * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): On Win32,
3070 expand possible hex escapes in the font family (put there by
3071 logfont_to_xlfd if the font name isn't a legal XLFD font family,
3072 mainly if it contains slashes). (gtk_font_selection_create_xlfd):
3073 On Win32, add hex escapes here, too.
3075 Wed Sep 29 19:55:35 1999 Owen Taylor <otaylor@redhat.com>
3077 * */*.[ch]: Changed from #if GDK_WINDOWING == GDK_WINDOWING_X11
3078 to #ifdef GDK_WINDOWING_X11.
3080 [ Merges from gtk-1-2 ]
3082 Wed Sep 8 07:13:29 1999 Tim Janik <timj@gtk.org>
3084 * configure.in: fixed "GNU Make" check to pass with new make version
3087 Fri Sep 3 16:04:41 1999 Tim Janik <timj@gtk.org>
3089 * gtk-config.in (--version): don't echo @GTK_VERSION@, but
3090 @GTK_MAJOR_VERSION@.@GTK_MINOR_VERSION@.@GTK_MICRO_VERSION@, so the
3091 AM_PATH_GTK() macros don't get confused by the -pre1.
3093 Thu Sep 2 19:02:37 1999 Owen Taylor <otaylor@redhat.com>
3095 * configure.in (REBUILD): Change check for perl5
3096 to check explicitely for v >= 5.002. (5.001
3097 does not work with our scripts.)
3099 Wed Aug 25 15:45:46 1999 Tim Janik <timj@gtk.org>
3101 * configure.in: evaluate $PERL for the perl version check. added
3102 --disable-rebuilds to give the user an option to completely disable
3103 any source autogeneration rules.
3105 Mon Aug 23 23:16:14 1999 Tim Janik <timj@gtk.org>
3107 * configure.in: evaluate $ac_make when checking for GNU Make.
3109 Mon Aug 23 19:11:17 1999 Tim Janik <timj@gtk.org>
3111 * docs/Makefile.am: added generation.txt.
3113 * Makefile.am: require automake 1.4, build README from README.in and
3114 INSTALL from INSTALL.in in dist-hook.
3117 * INSTALL.in: new files to autogenerate README and INSTALL from.
3119 * configure.in: figure whether we have GNU Make
3121 * docs/generation.txt: minor additions/corrections.
3123 Wed Aug 11 13:38:26 BST 1999 Tony Gale <gale@gtk.org>
3125 * docs/gtkfaq.sgml: FAQ Update
3127 July 30, 1999 Elliot Lee <sopwith@redhat.com>
3129 * configure.in: Fix autoconf warnings about cross compilation by
3130 trying to provide sane defaults for AC_TRY_RUN.
3132 Fri Jul 16 22:20:21 PDT 1999 Manish Singh <yosh@gimp.org>
3135 * ltmain.sh: upgrade to libtool 1.3.3
3137 Thu Jul 8 11:30:18 1999 Owen Taylor <otaylor@redhat.com>
3139 * INSTALL: Indicate that the --with-glib= configure
3140 time flag is unsupported.
3142 Mon Jul 5 20:36:03 1999 Owen Taylor <otaylor@redhat.com>
3144 * docs/generation.txt: Added a file that gives
3145 documenation about the autogeneration process for
3146 various autogenerated files.
3148 Tue Jun 29 15:59:25 1999 Owen Taylor <otaylor@redhat.com>
3150 * configure.in (LIBS): Look for libgmodule in the
3153 Thu Jun 17 13:57:31 1999 Owen Taylor <otaylor@redhat.com>
3155 * docs/gtk_tut.sgml: Removed references to
3156 code examples in my directory on gtk.org as
3157 they should all be in the tutorial now.
3159 * docs/gtk_tut.sgml: Added sources for dial-test
3160 and scribble-xinput programs that were previously
3163 Fri Jun 4 00:08:59 1999 Owen Taylor <otaylor@redhat.com>
3165 * TODO: Added entry about menu keyboard navigation, removed
3166 some finished items.
3168 Mon May 31 00:11:24 1999 Owen Taylor <otaylor@redhat.com>
3170 * acinclude.m4: Standardize on func_dgettext
3171 not func_gettext, so that the checks for dgettext
3172 actually are paid attention to.
3174 Wed May 5 10:47:54 1999 Owen Taylor <otaylor@redhat.com>
3176 * configure.in (LIBS): Add $INTLLIBS into $LIBS
3177 directly, rather than repeating the checks for
3180 * INSTALL: Added information about gettext and
3183 * acinclude.m4 (LIBM): Check for dgettext, not
3184 just gettext. This should hopefully fix things wrt
3185 systems with old versions of GNU gettext installed.
3187 Tue Jun 29 15:59:25 1999 Owen Taylor <otaylor@redhat.com>
3189 * configure.in (LIBS): Look for libgmodule in the
3192 Thu Apr 1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
3194 * autogen.sh: add --enable-maintainer-mode
3196 * configure.in: set ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
3198 Wed Mar 24 23:03:49 CST 1999 Shawn T. Amundson <amundson@gtk.org>
3200 * docs/gtk-config.1.in:
3202 configure.in: gtk-config is now generated.
3204 * docs/gtk-config.1: Removed, now generated.
3206 Thu Sep 23 17:59:59 1999 Tim Janik <timj@gtk.org>
3208 * gdk/gdkevents.c (gdk_event_translate): grr, even if Gdk doesn't
3209 handle CreateNotify itself, still put out a debuging message for
3210 --gdk-debug=events. made the ReparentNotify debugging message more
3212 wrap xcoords translation for ConfigureEvents into an error trap,
3213 a destroy event may already be pending, and in that case, the
3214 actuall coordinate values are not at all critical.
3216 Sat Sep 18 22:24:15 1999 Owen Taylor <otaylor@redhat.com>
3218 * gdk/gdkcc.c: Stop leaking the color_hash all over
3219 the place. Simplify and improve the logic.
3221 Fri Sep 17 09:57:15 1999 Tim Janik <timj@gtk.org>
3223 * gdk/gdk.h, gdk/gdkcolor.c: make return types (gint or gboolean)
3224 for prototypes and function implementations consistent (reported
3227 Tue Sep 14 18:23:01 1999 Tim Janik <timj@gtk.org>
3229 * gdk/gdkevents.c (gdk_event_translate): tell if expose events have
3230 send_event set in debugging output.
3231 (gdk_compress_exposures): default initialize the event so we don't
3232 operate on bogus values (namely send_event).
3234 Thu Sep 2 16:33:59 1999 Owen Taylor <otaylor@redhat.com>
3236 * gdk/gdkwindow.c: When we receive an unexpected
3237 destroy notify on one of our windows, don't just
3238 warn about it, also mark our windows as destroyed.
3240 Sun Sep 5 08:10:53 1999 Owen Taylor <otaylor@redhat.com>
3242 * gdk/gdkfont.c (gdk_font_hash_insert): Add
3243 name => font and name => fontset hashes. The
3244 name => fontset hash is a _big_ win since we
3245 weren't previously caching fontsets at all and loading
3246 fontsets is expensive. The name => font hash
3247 is less of a win, but it does save us from doing
3248 repeated XQueryFont calls on the same font.
3250 * gdk/gdkprivate.h (struct _GdkFontPrivate): Add a names
3251 list so we can remove font/fontset from hash.
3253 Thu Sep 2 19:02:37 1999 Owen Taylor <otaylor@redhat.com>
3255 * gdk/gdkproperty.c (gdk_atom_intern): Remove useless
3256 and slightly confusing test. [ XInternAtom (,,TRUE)
3257 will never return None ].
3259 Sat Sep 4 08:39:26 1999 Owen Taylor <otaylor@redhat.com>
3261 * gdk/gdkwindow.c (gdk_window_set_geometry_hints)
3262 gdk/gdkwindow.c (gdk_window_set_hints):
3264 Don't omit setting the properties if flags == 0 -
3265 there may be an existing set of properties there
3266 already. (Very old bug. Would it be better to
3267 delete the property instead?)
3269 * gdk/gdkselection.c (gdk_selection_property_get): Fix
3270 spelling error in comment.
3272 Wed Sep 1 14:05:30 1999 Owen Taylor <otaylor@redhat.com>
3274 * gdk/gdkimage.c (gdk_image_new): Use gdk_error_trap_push()
3275 to avoid stomping over gdk_error_warnings.
3277 * gdk/gdkimage.c (gdk_image_new): compute image->bpp
3278 as (bits_per_pixel + 7) / 8. This gives the same
3279 result as before for multiples of 8, but actually
3280 a "reasonable" value for 1bit or 4bit displays.
3282 Mon Aug 23 19:11:17 1999 Tim Janik <timj@gtk.org>
3284 * gdk/Makefile.am: minor cleanups, strip spaces on build rules for
3287 Tue Aug 17 07:43:04 1999 Tim Janik <timj@gtk.org>
3289 * gdk/gdkevents.c (gdk_event_translate): give a debugging note when
3290 discarding configure events.
3292 1999-08-18 Federico Mena Quintero <federico@redhat.com>
3294 * gdk/gdkpixmap.c (gdk_pixmap_unref): g_return_if_fail() the
3295 refcount is greater than zero.
3297 * gdk/gdkwindow.c (gdk_window_unref): Likewise.
3299 * gdk/gdkfont.c (gdk_font_unref): Likewise.
3301 * gdk/gdkgc.c (gdk_gc_unref): Likewise.
3303 * gdk/gdkdnd.c (gdk_drag_context_unref): Likewise.
3305 Wed Aug 11 01:04:57 1999 Owen Taylor <otaylor@redhat.com>
3307 * gdk/gdkproperty.c (gdk_property_get): Fix assumption
3308 that format 32 => sizeof(item) == 4. It really is
3311 Tue Jun 29 23:02:42 1999 Owen Taylor <otaylor@redhat.com>
3313 * gdk/gdk.c (gdk_x_error / gdk_x_io_error): Don't
3314 core dump at all on X IO errors, only core dump
3315 if --enable-debug for X errors.
3317 Thu Jun 24 17:06:23 1999 Tim Janik <timj@gtk.org>
3319 * gdk/gdkevents.c (gdk_event_translate): removed old ""Got event for
3320 unknown window:" message. disabled ConfigureNotify discarding code,
3321 because it led to events being processed out of order.
3323 Thu Jun 24 12:22:02 1999 Tim Janik <timj@gtk.org>
3325 * gdk/gdkglobals.c: preinitialize gdk_error_code to 0.
3327 * gdk/gdkevents.c (gdk_event_send_client_message_to_all_recurse): since
3328 we export this function, supress error warnings and don't reset the
3329 error code in the first half of this function.
3331 * gdk/gdk.c (gdk_x_error): set gdk_error_code to the actuall X error
3332 code (instead of just -1) so gdk_error_trap_pop() reveals something
3333 actually informative about the error that happened.
3336 don't rely on gdk_error_code being -1 if an error occoured, but just
3337 gdk_error_code != 0.
3339 Thu Jun 24 11:50:07 1999 Tim Janik <timj@gtk.org>
3341 * gdk/gdkevents.c (gdk_event_apply_filters): advance the filter list
3342 pointer *before* invoking the filter function, so we at least don't
3343 crash if a filter is removed that is currently executed. window filters
3344 *really* need to be made truely reentrant at some point.
3346 Mon Jun 14 11:10:15 1999 Tim Janik <timj@gtk.org>
3348 * gdk/gdkevents.c (gdk_event_translate): print the atom name in the
3349 PropertyNotify debug messages.
3351 Wed May 5 22:51:06 1999 Owen Taylor <otaylor@redhat.com>
3353 Patch from Sung-Hyun Nam <namsh@lgic.co.kr>
3355 * gdk/gdkim.c: Fix cut-and-paste errors for
3356 x/y and PreeditAttributes/StatusAttributes.
3358 Wed May 5 22:24:21 1999 Owen Taylor <otaylor@redhat.com>
3360 * gdk/gdkwindow.c (gdk_window_set_geometry_hints): Change
3361 G_MAXINT to 2^16 to alleviate overflow problems in
3362 various window managers.
3364 Wed Apr 21 00:42:08 1999 Owen Taylor <otaylor@redhat.com>
3366 * gdk/gdkfont.c (gdk_text_measure): Fix the return value
3369 Wed May 5 12:42:01 1999 Owen Taylor <otaylor@redhat.com>
3371 * gdk/gdkwindow.c (gdk_window_set_geometry_hints):
3372 Initialize size_hints.x and size_hints.y because kwm
3373 brokenly pays attention to them.
3374 (Bug #1181 - Lars Heete <hel@admin.de>)
3376 Wed May 5 11:38:56 1999 Owen Taylor <otaylor@redhat.com>
3378 * gdk/gdkrgb.c (gdk_rgb_choose_visual): Free the
3379 return value of gdk_list_visuals().
3380 (Bug #1193 - Morten Welinder <terra@diku.dk>)
3382 Tue May 4 11:12:56 PDT 1999 Manish Singh <yosh@gimp.org>
3384 * gdk/gdkim.c (gdk_im_real_open): cast the return value of
3385 XSetIMValues to (void *) when comparing to NULL, to workaround
3386 the problem of some compilers barfing since older X headers don't
3387 have the prototype for it.
3389 Mon Apr 19 10:11:12 1999 Owen Taylor <otaylor@redhat.com>
3391 * gdk/gdkcolor.c (gdk_colormap_new): Fix memory leak
3392 for pseudocolor where colormap->colors was double
3395 * gdk/gdkcolor.c (gdk_colormap_alloc1): Store the
3396 color value in the hash table with the pixel filled
3397 in so when we do later hash table lookups, the color
3400 Sun May 2 15:29:45 PDT 1999 Manish Singh <yosh@gimp.org>
3402 * gdk/gdkdraw.c (gdk_draw_lines): check private->destroyed before
3405 Tue Apr 27 11:17:35 1999 Owen Taylor <otaylor@redhat.com>
3407 * gdk/gdkdnd.c (xdnd_set_{targets,actions}): Fix leak
3408 pointed out by Morten Welinder <terra@diku.dk>.
3410 Wed Apr 21 14:20:22 1999 George Lebl <jirka@5z.com>
3412 * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
3413 default filter from the list
3415 Wed Apr 21 14:20:22 1999 George Lebl <jirka@5z.com>
3417 * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
3418 default filter from the list
3420 Fri Apr 16 20:41:43 PDT 1999 Manish Singh <yosh@gimp.org>
3422 * gdk/gdk.c: #include "gdkkeysyms.h" for gdk_XConvertCase #defines
3424 * gtk/gtkfontsel.c (gtk_font_selection_create_xlfd): use
3425 g_strdup_printf instead of calcing the length separately
3427 Tue Apr 13 02:49:33 1999 Owen Taylor <otaylor@redhat.com>
3429 * gdk/gdkwindow.c: removed some silly #ifdef HAVE_CONFIG
3430 that we don't do in many other places. (Fixing duplicate
3431 #include of config.h)
3433 * gdk/gdkevents.c: include gdkinput.h _after_ config.h.
3434 Otherwise, #ifndef XINPUT_NONE check in the latter
3435 doesn't work. (Bug #546)
3437 Sun Apr 11 14:38:03 1999 Tim Janik <timj@gtk.org>
3439 * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): check for color
3440 "None" case insensitive.
3442 Tue Apr 6 16:38:51 1999 Owen Taylor <otaylor@redhat.com>
3444 * gdk/gdkselection.c:
3445 Add error traps so if the other end of the connection
3448 Tue Apr 6 12:24:21 1999 Owen Taylor <otaylor@redhat.com>
3450 * gdk/gdkdnd.c (gdk_drag_motion): Separate out the
3451 dest_xid field into two fields - one for the window
3452 to send in messages, one to indicate the last looked
3453 up window for caching purposes. This is needed, so
3454 that Leave messages get the correct window.
3456 Mon Apr 5 13:21:30 1999 Owen Taylor <otaylor@redhat.com>
3458 * gdk/gdkevents.c (gdk_event_check, gdk_event_prepare):
3459 Fix warning created by people mucking around
3460 with the gsource API.
3462 * gdk/gdkevents.c (gdk_io_invoke, gdk_input_add_full):
3463 Change mapping between GIOCondition and GdkInputCondition
3464 to match the way the Linux kernel does it. This should
3465 fix problems where closed pipes were no longer signalling
3466 GDK_INPUT_READ on systems with a native poll().
3468 Mon Apr 5 17:11:57 1999 Owen Taylor <otaylor@redhat.com>
3470 * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): Check
3471 explicitly for the string "None" - it is in the XPM
3472 spec and some servers treat unknown colors in odd ways
3473 (like asking the user!)
3475 Thu Apr 1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
3477 * gdk/gdkevents.c: made "->" into a "." of previous change so
3480 Thu Apr 1 18:41:25 1999 Owen Taylor <otaylor@redhat.com>
3482 * gdk/gdkevents.c (gdk_compress_exposures): Set the
3483 window field of the event structure before calling
3486 1999-03-31 Federico Mena Quintero <federico@nuclecu.unam.mx>
3488 * gdk/gdk.c (gdk_init_check): Use False as the last argument to
3489 XInternAtom() here. This is a particularly Old And Nasty(tm) bug.
3491 Mon Mar 29 17:31:52 1999 Owen Taylor <otaylor@redhat.com>
3493 * gdk/gdkim.c (gdk_mbstowcs): Free the value of the
3494 intermediate text property - prevents major memory
3495 leak when gdk_use_mb.
3496 gtk-d3august-990311-0: Bj|rn Augustsson <d3august@dtek.chalmers.se>
3498 Mon Mar 29 17:02:58 1999 Owen Taylor <otaylor@redhat.com>
3500 Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
3501 gtk-a-higuti-990322-[0-3]
3503 * gdk/gdkfont.c (gdk_text_extents_wc): Make work when
3504 sizeof(wchar_t) != sizeof (GdkWChar)
3506 * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
3507 that was causing -DX_LOCALE not to work.
3509 * gtk/gtkrc.c (gtk_rc_init):
3510 X_LOCALE will never have LC_MESSAGES defined
3512 * gdk/gdk.c (gdk_init_check):
3513 Remove --xim-preedit and --xim-status from argv properly.
3515 * gdk/gdkim.c (gdk_ic_real_new): Add a gdk_flush() so
3516 that the client window is present on the X server
3517 before we pass it to the input method.
3519 Tue Mar 9 10:46:49 1999 Owen Taylor <otaylor@redhat.com>
3521 * gdk/gdkdnd.c (motif_find_drag_window): Fix bug where
3522 if --display is specified on the command line, than
3523 the drag window will not be created on that display.
3525 Tue Mar 9 10:38:24 1999 Owen Taylor <otaylor@redhat.com>
3527 * gdk/gdkproperty.c (gdk_atom_intern): Fixed bug where
3528 lookups with only_if_exists == TRUE were inserting
3529 bogus values into the atom cache.
3531 Wed Mar 17 09:00:00 1999 Tim Janik <timj@gtk.org>
3533 * gdk/gdkselection.c (gdk_selection_property_get): first XFree(t),
3534 then reset it to NULL.
3538 (gdk_colormap_free_colors): use colormap->colors[in_pixels[i]] as the
3539 key for g_hash_table_remove() in both functions, this prevents us
3540 from accessing possibly uninitialized portions of a GdkColor structure
3541 where we are only interested in its pixel value.
3543 Tue Mar 9 01:01:28 1999 Tim Janik <timj@gtk.org>
3545 * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
3546 font hash table, if we have a GdkFontPrivate entry for this font
3547 already, simply increment its reference count, provided by Olaf Dietsche
3548 <olaf.dietsche+list.gtk@netcologne.de>.
3550 1999-09-21 Tor Lillqvist <tml@iki.fi>
3552 * gdk/win32/gdk.c (gdk_exit_func): Delete the gdk_DC when exiting,
3555 * gdk/win32/gdkvisual.c (gdk_visual_init): Remove a couple of
3556 unused variables, leftovers from the X11 version.
3558 * gdk/win32/rc/*.cur: Better cursors provided by Bernd Herd.
3560 * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): Only
3561 downcase fields on X11.
3563 Mon Sep 20 13:17:39 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
3565 * configure.in,po/pt_BR.po: added Portuguese Brazilian file from
3566 Alex Sandro Queiroz e Silva <asandro@lcg.dc.ufc.br>
3568 1999-09-17 Tor Lillqvist <tml@iki.fi>
3570 * gdk/win32/gdk.def: Add gdk_threads_mutex.
3572 * gtk/makefile.msc: Correct path to libintl.
3574 Thanks to Tomi Ollila and Bernd Herd: Fix some inconsistencies in
3575 use of gint vs. int, and gint vs. gboolean in headers and
3576 definitions. Use GtkType for the *_get_type functions. Note that
3577 these changes preserve binary compatibility.
3581 * gdk/gdk.h: Fix inconsistencies: gint vs int.
3585 * gtk/gtkmenufactory.c
3587 * gtk/gtkwidget.c: Fix inconsistencies, also gint
3590 * gtk/gtkcolorsel.[ch]
3592 * gtk/gtkdrawingarea.[ch]
3594 * gtk/gtkhandlebox.[ch]
3595 * gtk/gtkhpaned.[ch]
3596 * gtk/gtkhruler.[ch]
3598 * gtk/gtkpreview.[ch]
3600 * gtk/gtksocket.[ch]
3601 * gtk/gtkstatusbar.[ch]
3602 * gtk/gtktoolbar.[ch]
3604 * gtk/gtkvpaned.[ch]
3605 * gtk/gtkvruler.[ch]: Always use type GtkType for the *_get_type
3608 * gtk/gtkgamma.h: Fix bug, missing () in call of
3609 gtk_gamma_curve_get_type() in GTK_GAMMA_CURVE_CLASS.
3611 1999-09-14 Tor Lillqvist <tml@iki.fi>
3613 * gdk/gdkcolor.c (gdk_colormap_new)
3614 * gdk/win32/gdkcolor.c (gdk_colormap_new): Fix memory leak:
3615 colormap->colors was allocated twice.
3617 * gdk/win32/gdk.c: Remove some unused stuff.
3619 * gdk/win32/gdkcolor.c (gdk_colormap_sync): Initialize all of the
3622 * gtk/gtkfontsel.c (gtk_font_selection_dialog_get_type)
3623 * gtk/gtklabel.h (gtk_label_get_type)
3624 * gtk/gtktipsquery.c (gtk_tips_query_get_type)
3625 * gtk/gtktypeutils.h (gtk_type_name): : Use GtkType
3626 in a couple of places, not guint.
3628 Fri Sep 10 21:31:00 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
3630 * configure.in,po/et.po: added Estonian language file
3632 Wed Sep 1 14:36:12 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
3634 * configure.in,po/da.po: added Danish file
3636 Sun Aug 29 13:38:59 BST 1999 Tony Gale <gale@gtk.org>
3638 * docs/gtkfaq.sgml: Minor FAQ Update
3640 Sat Aug 28 14:34:37 BST 1999 Tony Gale <gale@gtk.org>
3642 * docs/gtkfaq.sgml: FAQ update
3644 1999-08-27 Tor Lillqvist <tml@iki.fi>
3646 Win32: Philippe Colantoni <colanton@aris.ss.uci.edu> suggests a
3647 way to get window contents continually refreshed while resizing. I
3648 didn't like the effects myself, so it's not on by default.
3650 * gdk/win32/gdkprivate.h: New flag variable
3651 gdk_event_func_from_window_proc, FALSE by default.
3653 * gdk/win32/gdk.c (gdk_init_check): Set above flag if the
3654 environment variable GDK_EVENT_FUNC_FROM_WINDOW_PROC is set, or we
3655 are passed --gdk-event-func-from-window-proc.
3657 * gdk/win32/gdkevents.c (gdk_WindowProc): If above flag is set,
3658 and we have am event_func, call it instead of enqueing the event.
3660 1999-08-23 Tor Lillqvist <tml@iki.fi>
3662 * gdk/win32/gdkevents.c (gdk_event_translate): Fix from Simon
3663 Kelley: Set expose_count in GdkEventExposes correctly.
3665 * gdk/win32/gdkwindow.c: Remove dead code (#ifdef
3666 MULTIPLE_WINDOW_CLASSES).
3668 * gdk/win32/gdkdraw.c (gdk_draw_line): Workaround from Hans Breuer
3669 for bug in NT, apparently NT *does* draw the end pixel, too, in
3670 LineTo with a one-pixel pen, so we don't have to do it ourselves.
3672 1999-08-21 Tor Lillqvist <tml@iki.fi>
3674 Improvements by Hans Breuer:
3676 * gdk/win32/gdkwindow.c (RegisterGdkClass): New function
3678 * gdk/win32/gdkwindow.c (gdk_window_new): Use it. Don't set the
3679 CS_?REDRAW flags as they cause lots of (late) redraws when "show
3680 window contents while dragging" is turned on. Allocate at least
3681 one unique class for every GdkWindowType. If support for single
3682 window-specific icons is ever needed (eg. Dialog specific), every
3683 such window should get its own class.
3685 1999-08-19 Tor Lillqvist <tml@iki.fi>
3687 * gdk/win32/gdkgc.c (gdk_gc_new_with_values): Fix a cut&paste
3688 error that caused crashes.
3690 1999-08-17 Tor Lillqvist <tml@iki.fi>
3692 * gdk/win32/gdkdraw.c (gdk_draw_pixmap): When blitting inside one
3693 window, use ScrollWindowEx, and call UpdateWindow. This prevents
3694 bugs when for instance part of the window was outside the
3695 display. Thanks to Philippe Colantoni for finding and fixing this.
3697 1999-08-16 Tor Lillqvist <tml@iki.fi>
3699 * gdk/win32/gdkdraw.c (gdk_draw_arc): Fix start and end radial
3700 endpoint calculations which were totally wrong. (A little RTFMing
3703 * gtk/makefile.{cygwin,msc}: Use libintl extracted from glibc
3704 from a separate directory, not from gettext, because of licensing
3705 issues (we want to use the LGPL version).
3707 * README.win32: Mention the intl from glibc vs from gettext issue.
3709 1999-08-13 Tor Lillqvist <tml@iki.fi>
3711 * gdk/win32/gdkevents.c (gdk_event_translate): Fix a couple of bugs
3712 in the key event handling: Now AltGr chars work again. Also,
3713 now Alt-digits are passed up as well as Control-digits.
3714 Pass keypad plus and minus as normal plus and minus.
3716 Wed Aug 11 13:38:26 BST 1999 Tony Gale <gale@gtk.org>
3718 * docs/gtkfaq.sgml: FAQ Update
3720 1999-07-25 Tor Lillqvist <tml@iki.fi>
3723 * config.h.win32: Add HAVE_WINTAB. Undefine it if bulding without
3726 * gdk/win32/gdkinput.c: Hack some more. Still doesn't quite work
3727 OK, but getting closer. Guard against bogus tilt data from Wacom
3728 ArtPad II with the 3.40 driver. Add ifdefs for HAVE_WINTAB to
3729 enable easier building without Wintab.
3731 * gdk/win32/gdkinput.h
3732 * gdk/win32/gdkevents.c
3733 * gdk/win32/gdkwindow.c: Minor changes related related to above.
3735 * gdk/win32/gdkvisual.c: Simplify a lot, remove leftovers from X11
3736 code. As we have just one visual on Win32, no sense to have it in a
3737 table, and no need for the hash table.
3739 * gdk/win32/rc/cursor*.cur: Edit some of the cursors a bit to look
3740 better on white background.
3742 1999-07-21 Tor Lillqvist <tml@iki.fi>
3744 * README.win32: Update gcc build instructions. Mention gettext is
3747 * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Get correct
3748 supported cursor size with GetSystemMetrics.
3750 * gdk/win32/gdkfont.c
3751 * gtk/gtkfontsel.c: Guard against some font weight and charset
3752 symbols being undefined (in mingw32 headers).
3754 * gdk/win32/makefile.cygwin
3755 * gtk/makefile.cygwin
3756 * gtk/gtkthemes.c: No longer need to have differently named
3757 gcc-built DLLs when using gcc-2.95 and -fnative-struct.
3759 hu Jul 15 13:33:15 BST 1999 Tony Gale <gale@gtk.org>
3761 * docs/gtkfaq.sgml: Long awaited FAQ update.
3763 1999-07-15 Tor Lillqvist <tml@iki.fi>
3765 * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Implement
3766 it. Obscure bit manipulation needed.
3768 * gdk/win32/gdkevents.c: Logging.
3770 * gtk/gtkthemes.c (gtk_theme_engine_get): (Win32) Use new DLL naming
3771 style (file name include compiler name) for theme engines.
3773 1999-07-13 Tor Lillqvist <tml@iki.fi>
3775 * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Less logging verbiage.
3777 * gdk/win32/gdkevents.c: Fix long-standing bug in key
3778 events. The key.string wasn't zero-terminated, still we strdup'ed
3779 it in gdk_event_copy(). Synthesize crossing events for button
3780 events before possible propagation.
3782 * gdk/win32/gdkwindow.c: Log gdk_window_set_title.
3784 * gdk/win32/makefile.cygwin
3785 * gtk/makefile.cygwin: Use new DLL naming style for the
3788 * gdk/win32/makefile.msc
3789 * gtk/makefile.msc: Cosmetics mostly.
3791 * gtk/gtk.def: Add missing entry points.
3793 * gtk/gtksocket.c: Add dummy gtk_socket_get_type() for Win32.
3795 1999-07-09 Tor Lillqvist <tml@iki.fi>
3797 * gdk/win32/gdkdraw.c (gdk_draw_arc): Don't draw anything if width
3798 or height is zero. Don't print a warning if Pie or Arc fails, they
3799 always fail (?) for very narrow ellipses.
3801 * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Call InvalidateRgn for
3802 the part or the destination window corresponding to source area
3803 outside of the source drawable's boundary.
3805 * gdk/win32/gdkdraw.c (gdk_draw_lines, gdk_draw_polygon): Don't do
3806 anything if less than two points.
3808 * gdk/win32/gdkselection.c (gdk_selection_owner_get): Always
3809 return NULL. Gtk cut-and-paste inside a single program works
3810 better this way. (It always gets the clipboard contents from
3811 Windows, not from its own copy, which is cleared anyway. I can't
3812 say I fully understand what happens... Emulating the X selection
3813 and property stuff is a bit of a mess.)
3815 * gdk/win32/gdkevents.c
3816 * gdk/win32/gdkproperty.c: A bit more verbose logging.
3818 * gdk/win32/gdkregion.c: Fix some memory leaks (temporary regions
3819 that never got deleted). Revamp gdk_region_shrink.
3821 * gdk/win32/gdkregion.c: Fix memory leak, delete temporary regions
3824 * gtk/gtk.def: Add some missing entry points.
3826 * gtk/gtkrc.c: Strip trailing directory separator from pixmap path
3829 1999-07-04 Tor Lillqvist <tml@iki.fi>
3831 * gdk/win32/gdkevents.c (gdk_event_translate): Handle
3832 Control-digits specially.
3834 1999-07-03 Tor Lillqvist <tml@iki.fi>
3836 * gtk/makefile.{cygwin,msc}: New pthreads version. Use gettext.
3838 1999-06-28 Tor Lillqvist <tml@iki.fi>
3840 * gdk/win32/gdkimage.c (gdk_image_get): bpl was set wrong for
3841 bitmaps, should be multiple of 4. (Thanks to Hans Breuer for
3844 1999-06-01 Jose H Mercado <jmercado@mit.edu>
3846 * gtk+.spec.in: Corrected some typos in files section.
3848 1999-06-15 Tor Lillqvist <tml@iki.fi>
3850 * README.win32: Mention using GNU gettext.
3851 * config.h.win32: Enable NLS stuff.
3852 * gtk/makefile.msc: Use GNU gettext.
3853 * gdk/win32/gdkdnd.c: Minor header reorg.
3854 * gdk/win32/{gdkevents,gdkwindow}.c: No semantic changes, mainly
3856 * gtk/gtkrc.c (Win32): Make get_gtk_sysconf_directory() public.
3857 * gtk/gtkmain.c (Win32): Use it in bindtextdomain() call.
3859 Wed Jun 2 11:44:25 PDT 1999 Manish Singh <yosh@gimp.org>
3865 * ltmain.sh: upgrade to libtool 1.3.2 (BeOS changes merged)
3867 1999-05-30 Tor Lillqvist <tml@iki.fi>
3869 * gdk/win32/gdkwindow.c: AdjustWindowRectEx2 renamed to
3870 SafeAdjustWindowRectEx. Don't override all calls to
3871 AdjustWindowRectEx by it, but use it only in two places: When
3872 creating a new top-level window and when moving a top-level
3875 Use screen coordinate rectangle, not client rectangle, in
3876 gdk_window_move. Thus SafeAdjustWindowRectEx will do its job only
3877 when we try to place a window so that the decoration (mainly,
3878 title bar) isn't visible.
3880 These changes fix the bug that showed up for instance as the
3881 GIMP's saved top-level windows moving right and down (by an amount
3882 equal to the window decoration) for each session. This bug showed
3883 up also in testgtk's "Saved Position".
3885 gdk_window_resize also redone a bit.
3887 1999-05-25 Tor Lillqvist <tml@iki.fi>
3889 * gtk/testgtkrc: Add (commented out) Windows-style theme
3892 * gdk/win32/gdk.def,gtk/gtk.def: Add some missing entry points.
3894 1999-05-18 Tor Lillqvist <tml@iki.fi>
3896 * gdk/win32/makefile.{cygwin,msc}: Copy our gdkprivate.h and
3897 gdkx.h to a gdk subdirectory, so that applications can include
3898 these with <gdk/*.h> without trouble.
3900 * gdk/win32/gdkimage.c (gdk_image_new_with_depth): Code simplified.
3901 (gdk_image_destroy): Plug resource leak, some GdkImages didn't
3902 have their bitmap destroyed.
3904 * gdk/win32/gdk.def: Add gdk_root_parent.
3906 Wed May 12 03:00:56 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
3912 gtk/Makefile.am: changes to compile nicely (with xlib)
3915 Sat May 1 15:04:42 PDT 1999 Manish Singh <yosh@gimp.org>
3921 * ltmain.sh: upgrade to libtool 1.3
3923 Fri Apr 30 13:38:16 1999 Lars Hamann <lars@gtk.org>
3926 * gtk/gtkctree.c: merges from gtk-1-2
3928 1999-04-25 Tor Lillqvist <tml@iki.fi>
3930 Support added for building using a GNU toolchain on Win32,
3931 gcc -mno-cygwin (egcs-1.1.2) on cygwin-b20.1.
3933 * gdk/win32/makefile.cygwin gtk/makefile.cygwin: New files.
3934 * config.h.win32: Changes for gcc.
3935 * gdk/gdkrectangle.c: Include gdk.h as <gdk/gdk.h>.
3936 * gdk/gdkcolor.c: config.h.win32 already defines strcasecmp.
3937 * gdk/win32/gdkconfig.h: Only the MS compiler has wctype.h.
3938 * gdk/win32/gdkdnd.c: Protect (unused) OLE2 stuff better.
3939 Protect shl stuff unavaiilable with mingw32 headers.
3940 * gdk/win32/gdkevents.c: Fix typo.
3941 * gdk/win32/gdkglobals.c: Use GDKVAR here also for gcc.
3942 * gdk/win32/gdkim.c: Use OEM code page for multibyte chars. (?)
3943 * gdk/win32/gdkinput.c: Use __try __except only with the MS compiler.
3944 * gdk/win32/gdkprivate.h: Make up for some stuff missing from
3945 the mingw32 headers.
3946 * gdk/win32/makefile.msc: Use latest Wintab kit and glib.
3947 * gtk/gtkfilesel.c: Include <glib.h> early, to get stat->_stat
3948 definition on Win32. Test for NATIVE_WIN32, not _MSC_VER.
3949 * gtk/gtkfontsel.c: Protect CHARSET redefinition on Win32.
3950 Test for NATIVE_WIN32, not _MSC_VER.
3951 * gtk/gtkmain.c: No use warning about developer version on Win32,
3952 there aren't any non-developer versions anyhow.
3953 * gtk/gtkrc.c: Test for NATIVE_WIN32, not _MSC_VER.
3954 * gtk/makefile.msc: Use pthread from another directory. Minor other
3957 Wed Apr 21 14:20:22 1999 George Lebl <jirka@5z.com>
3959 * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
3960 default filter from the list
3962 Mon Mar 8 12:52:53 1999 Owen Taylor <otaylor@redhat.com>
3964 * gtk/gtkwidget.c (gtk_widget_grab_default): Add a warning
3965 when gtk_widget_grab_default() is called for a widget that
3966 is not within a GtkWindow.
3968 Sat Apr 10 13:52:54 BST 1999 Tony Gale <gale@gtk.org>
3970 * docs/gtk_tut.sgml, examples/clist.c: use a
3971 scrolled window in the clist example. Minor
3974 Fri Apr 2 09:19:20 BST 1999 Tony Gale <gale@gtk.org>
3976 * docs/gtk_tut.sgml: Style check from David King
3977 <dking@youvegotmail.net>
3979 1999-03-30 Pavel Machek <pavel@artax.karlin.mff.cuni.cz>
3981 * gtk/gtkfontsel.c (gtk_font_selection_get_fonts): Make code
3982 compile with unknown value of GDK_WINDOWING
3984 1999-03-28 Raja R Harinath <harinath@cs.umn.edu>
3986 * gdk/Makefile.am (gdkconfig.h): Make sure `gdkconfig.h' exists
3987 after the rule is fired.
3988 (install-exec-local): Install gdkconfig.h only if the contents are
3989 different from the currently installed gdkconfig.h.
3991 1999-03-26 Raja R Harinath <harinath@cs.umn.edu>
3993 * gdk/Makefile.am (configexecincludedir): Rename from
3994 configincludedir so that gdkconfig.h will be installed
3995 as part of `make install-exec'.
3997 Fri Mar 19 16:50:33 PST 1999 Manish Singh <yosh@gimp.org>
4003 * ltmain.sh: upgrade to libtool 1.2f
4005 * autogen.sh: libtool is not required to autogen gtk+
4007 * acconfig.h: remove WITH_SYMBOL_UNDERSCORE (not explictly
4010 1999-03-18 Tor Lillqvist <tml@iki.fi>
4012 * gdk/gdktypes.h: Merge in Win32 version: Define macro GDKVAR for
4013 declaring gdk variables exported/imported from the DLL. New image
4014 type enum, GDK_IMAGE_SHARED_PIXMAP, for gdk_imlib. New drag and
4015 drop protocol enums, GDK_DRAG_PROTO_WIN32_DROPFILES and
4016 GDK_DRAG_PROTO_OLE2.
4018 * gdk/gdk.h: Merge in Win32 version: Two new functions,
4019 gdk_pixmap_create_on_shared_image and gdk_image_bitmap_new. So far
4020 declared only for the Win32 version, but could be in the X11
4021 version as well. (Needed for a Xlib-less gdk_imlib.)
4022 gdk_color_hash should have only one parameter. Declare
4023 gdk_threads_mutex with GDKVAR.
4025 * gdk/gdkcolor.c (gdk_color_hash): A hash function should have
4028 * gdk/gdkimage.c (gdk_image_get): Initialize bpp correctly. Bytes
4029 per pixel, not bits.
4031 * gdk/gdkrgb.c: Mingle includes somewhat. (gdk_rgb_select_conv):
4032 Fetch bpp (which means bits-per-pixel here) from another place on
4033 Win32. Accept also depth==32 (which we might get on Win32) with
4036 * gtk/{gtkclist,gtkctree,gtkdnd,gtkditable,gtkfontsel,
4037 gtkhandlebox,gtklayout,gtkmain,gtkplug,gtkpreview,gtkrc,
4038 gtkselection,gtksocket,gtkstyle,gtkwidget,gtkwindow}.c:
4039 Include gdx.h from "gdkx.h", not "gdk/gdkx.h", as gdkx.h will be
4040 in the backend-dependent directory, not in the common gdk
4043 * gtk/testgtk.c: Ditto. Also, don't use ../gdk path to gdk
4046 Wed Mar 17 05:06:49 1999 Tim Janik <timj@gtk.org>
4048 * gtk/gtkmain.c (gtk_init_check): tell people that they don't really
4049 want to use the Gtk+ devel version (which is true, and yes - even i am
4050 currently working with the 1.2.x branch). so everyone reading this, you
4051 probably want to issue
4052 cvs checkout -r glib-1-2 glib
4054 cvs checkout -r gtk-1-2 gtk+
4055 as your next two comands.
4057 Wed Mar 17 02:49:32 1999 Tim Janik <timj@gtk.org>
4059 * configure.in: build gtkcompat.h from gtkcompat.h.in instead of
4060 gtkfeatures.h from gtkfeatures.h.in, require GLib 1.3.0.
4062 * gtk/gtkcompat.h.in: combined gtkcompat.h and gtkfeatures.in in this
4063 file. strongly deprecated the GTK_HAVE_* macros, we provide
4064 GTK_CHECK_VERSION() for people that need to check for certain
4067 * gtk/gtkcompat.h: removed this from CVS.
4068 * gtk/gtkfeatures.h.in: removed this from CVS, gtkfeatures.h was a bad
4069 idea right from the start, it just didn't seem like that back then.
4071 Wed Mar 17 01:46:28 1999 Tim Janik <timj@gtk.org>
4073 * merges from gtk-1-2:
4075 Tue Mar 16 17:43:33 1999 Tim Janik <timj@gtk.org>
4077 * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc_string): ensure the
4078 item factory class has been created.
4079 (gtk_item_factory_parse_rc): likewise.
4082 keep proper references for old_active_menu_item.
4083 (gtk_menu_reparent): unset the usize of the new parent,
4084 so the menu can sanely be size requested and we don't get nasty screen
4085 artefacts upon next reparentation.
4086 (gtk_menu_motion_notify): set send_event to TRUE if we synthesize an
4087 enter notify. only synthesize enter notifies if the pointer really is
4088 inside the event window.
4089 (gtk_menu_popdown): use gtk_menu_shell_deselect().
4090 (gtk_menu_popup): move the background setting stuff into
4091 gtk_menu_tearoff_bg_copy() so it can be called from other places as well.
4093 * gtk/gtkmenushell.c (gtk_menu_shell_button_press): use
4094 gtk_menu_shell_select_item() to select the new item.
4095 (gtk_menu_shell_deselect): export this function, so gtkmenu.c can
4096 do the right thing for deselection as well.
4098 Sat Mar 15 20:10:33 1999 Tim Janik <timj@gtk.org>
4100 * gtk/gtkwidget.[hc]:
4101 (gtk_widget_accelerators_locked): return whether a widget's accelerators
4104 * gtk/gtkmenu.c (gtk_menu_key_press): don't remove or install new or
4105 existing accelerators if the widget's accelerators are locked.
4107 Sat Mar 14 19:44:05 1999 Tim Janik <timj@gtk.org>
4109 * gtk/gtkitemfactory.[hc]: allow managing of foreign menu items.
4111 * gtk/gtkmenu.c: truely forward key press and key release events to
4112 the menu widget from the toplevel or tearoff window. we can't simply
4113 connect to that, we need to stop further processing of the events as
4116 Sat Mar 13 13:14:17 1999 Tim Janik <timj@gtk.org>
4119 (gtk_menu_key_press): pass event->keyval, event->state to
4120 gtk_accelerator_valid, instead of event->keyval twice.
4121 refuse to install single letter accelerators for menus that use
4122 single letter shortcuts.
4124 * gtk/gtkitemfactory.c (gtk_item_factory_create_item): use
4125 gtk_menu_ensure_uline_accel_group().
4127 * gtk/gtkmenu.[hc]: added gtk_menu_ensure_uline_accel_group()
4128 which will always return an uline accel group, made
4129 gtk_menu_get_uline_accel_group() return NULL if the group isn't
4132 Mon Mar 15 01:03:27 1999 Lars Hamann <lars@gtk.org>
4134 * gtk/gtkclist.h (struct _GtkCListColumn): added button_passive flag.
4136 * gtk/gtkclist.c (gtk_clist_column_title_passive):
4137 Leave button sensitive, trap button_press, button_release,
4138 motion_notify, enter_notify and leave_notify events instead.
4139 (gtk_clist_column_title_active): disconnect event handler.
4140 (gtk_clist_drag_data_get): fixed memory leak. Reported by
4141 Guillaume Laurent <glaurent@worldnet.fr>
4143 Wed Mar 10 23:49:55 1999 Lars Hamann <lars@gtk.org>
4145 * gtk/gtklayout.c (gtk_layout_adjustment_changed): fixed a few
4146 width/height mixups.
4148 * gtk/gtkctree.c (tree_delete): emit an tree_unselect_row signal
4151 Wed Mar 10 00:11:32 1999 Tim Janik <timj@gtk.org>
4153 * gtk/testgtk.c (create_item_factory): unref the item factory after
4154 window's destruction.
4156 * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): keep a reference
4157 count on the menu shell around the menu item's activation, since the
4158 signal emission may cause menu shell destruction.
4160 * gtk/gtkitemfactory.c:
4161 the previous code leaked one accel group per menu. we use
4162 gtk_menu_get_uline_accel_group() now to fix that, and with that
4163 also create the underline accelerator group of the menus only if
4164 required (i.e. an underline accelerator has been specified).
4165 (gtk_item_factory_construct):
4166 (gtk_item_factory_create_item): removed code that would create an
4167 extra accel group for the menu (and leak references).
4168 (gtk_item_factory_create_item): adapted the underline accelerator
4169 installation code to properly feature gtk_menu_get_uline_accel_group().
4171 * gtk/gtkmenu.[hc]: added gtk_menu_get_accel_group() to retrive
4172 menu->accel_group, this may return NULL if the accelerator group
4173 hasn't been set yet.
4174 added gtk_menu_get_uline_accel_group() to retrive the underline
4175 accelerator group of the menu, this will be created on demand
4176 and proper care is taken about its reference count.
4178 * gtk/gtkitemfactory.h:
4179 * gtk/gtkitemfactory.c:
4180 dumped the approach of keeping a widgets by action list on the
4181 factory since the factory<->widget destroy negotiation didn't work
4182 and would be hard to get going at all. instead we keep a list of
4183 GtkItemFactoryItem items on the factory (GtkItemFactoryItems are
4184 persistant throughout a program's life time).
4185 also, i removed the static const gchar *key_* variables, and made
4186 them inline strings (they weren't actually used anyways).
4187 (gtk_item_factory_add_item): update ifactory->items.
4188 (gtk_item_factory_destroy): destroy ifactory->items (and remove
4189 the item factory pointer from the remaining ifactory widgets).
4190 (gtk_item_factory_get_widget_by_action): walk the GtkItemFactoryItem
4191 list to find the widget.
4192 (gtk_item_factory_get_item): new function that works around
4193 gtk_item_factory_get_widget() limitations, this function will only
4194 return menu items, even for <Branch> entries.
4196 Tue Mar 9 01:01:28 1999 Tim Janik <timj@gtk.org>
4198 * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
4199 font hash table, if we have a GdkFontPrivate entry for this font
4200 already, simply increment its reference count, provided by Olaf Dietsche
4201 <olaf.dietsche+list.gtk@netcologne.de>.
4203 * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
4204 provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
4206 Sun Mar 7 06:13:29 1999 Tim Janik <timj@gtk.org>
4208 * gtk/gtkcontainer.c:
4209 (gtk_container_add_with_args):
4210 (gtk_container_addv):
4211 (gtk_container_add): before adding a child to a conatiner, make sure
4212 it is (default) constructed, this is neccessary because under certain
4213 circumstances the child will get relized and mapped immediatedly, in
4214 which case it has to be constructed already.
4216 Mon Mar 1 17:58:21 1999 Tim Janik <timj@gtk.org>
4218 * gtk/gtksignal.c (gtk_signal_connect_by_type): count object_signal
4219 values > 1 as TRUE also.
4221 1999-03-16 Tor Lillqvist <tml@iki.fi>
4223 * README.win32: New file.
4225 * configure.in: Check for lstat.
4227 * config.h.win32: Add non-definition of HAVE_LSTAT, just for
4230 * gtk/gtkrc.c: If don't HAVE_LSTAT, use stat.
4232 * gtk/gtk.def: Removed CRs.
4234 * gtk/makefile.msc: Correct include path to Win32 GDK version (in
4237 * gdk/win32/makefile.msc: Correct upwards relative paths.
4239 Mon Mar 15 03:38:34 1999 George Lebl <jirka@5z.com>
4241 * gtk/gtkdnd.c: (gtk_drag_highlight) swap the
4242 gtk_drag_highlight_expose and gtk_drag_highlight_paint since
4243 it was connecting a void function to expose_event and the int
4244 returning function to the draw signal
4246 1999-03-14 Jeff Garzik <jgarzik@pobox.com>
4249 Use correct path to libgmodule.la when ref'ing uninstalled copy
4250 of glib. (Already in stable branch, Bug #417)
4252 1999-03-15 Tor Lillqvist <tml@iki.fi>
4254 Win32 merge and general portability stuff:
4256 * acconfig.h,configure.in: Check for <sys/time.h>.
4258 * gdk/win32: New directory (actually, been there for a while).
4260 * gtk/fnmatch.c: Include <glib.h> for G_DIR_SEPARATOR, WIN32 and
4261 NATIVE_WIN32, and use these. Always case fold on Win32. No
4262 backslashed escapes on native Win32.
4264 * gtk/{gtk.def,makefile.msc}: New files.
4266 * gtk/Makefile.am: Add above new files.
4268 * gtk/{gtkaccelgroup,gtkbindings}.c: Include <string.h>
4269 instead of <strings.h>.
4271 * gtk/{gtkcalendar,gtkitemfactory,gtkpreview,gtkrc}.c: Include
4272 config.h. Protect inclusion of <sys/param.h>, <sys/time.h>, and
4273 <unistd.h> appropriately.
4275 * gtk/gtkdnd.c: Merge in Win32 version (which doesn't do much).
4276 Use ABS() (from <glib.h>) instead of abs().
4278 * gtk/gtkfilesel.c: Moved Win32-specific includes after inclusion
4279 of gtk (and thus glib) headers, so that WIN32 will be
4280 defined. With MS C, include <direct.h> for mkdir prototype.
4282 * gtk/gtkitemfactory.c (gtk_item_factory_callback_marshal): Add
4283 some casts, needed by MS C.
4285 * gtk/{gtklayout,gtkplug}.c: Merge in Win32 version (which isn't
4288 * gtk/gtkmain.c: Include gdk/gdkx.h for GDK_WINDOWING. Include
4289 <X11/Xlocale.h> only on X11 platform, otherwise <locale.h>. Use
4290 G_SEARCHPATH_SEPARATOR_S and g_module_build_path.
4292 * gtk/gtkmain.h: Mark variables for export/import on Win32.
4294 * gtk/gtkrange.c (gtk_range_motion_notify): Set mods also in case
4295 the event is not a hint, or its window is not the slider. Needed
4298 * gtk/gtkrc.c: Include config.h and gdk/gdkx.h. Use <locale.h>
4299 unless on X11. Skip \r chars, too. Use G_DIR_SEPARATOR and
4300 G_SEARCHPATH_SEPARATOR(_S). Use g_path_is_absolute. On Win32, use
4301 a subdirectory of the Windows directory as gtk system
4302 configuration directory.
4304 * gtk/gtkselection.c: No chunks on Win32.
4306 * gtk/gtksocket.c: Not implemented on Win32.
4308 * gtk/gtkthemes.c (gtk_theme_engine_get): Use g_module_build_path.
4310 * gtk/makeenums.h: Include gdkprivate.h after gdk.h.
4312 * gtk/maketypes.awk: Declare variables with a macro that expands to
4313 necessary export/import magic in the case of Win32.
4315 * gtk/testrgb.c: Use dynamically allocated buffer. Use GTimers.
4317 1999-03-13 Raja R Harinath <harinath@cs.umn.edu>
4319 * configure.in (gdk_wc): Move widechar tests from `glib' to here,
4320 since those were meant only for gdki18n.h.
4321 * gdk/gdki18n.h: Include gdkconfig.h and use GDK_* instead of G_*
4323 * gtk/Makefile.am (INCLUDES): Add -I../gdk for gdkconfig.h.
4325 1999-03-13 Tor Lillqvist <tml@iki.fi>
4327 * configure.in acconfig.h: Check for dirent.h and pwd.h. Generate
4328 gdk/gdkconfig.h using similar mechanism as GLib's glibconfig.h.
4330 * gtk-config.in: Add @libdir/gtk+/include (where gdkconfig.h is
4331 installed) to CFLAGS.
4333 * gdk/Makefile.am: Add rules for gdkconfig.h.
4335 * gdk/gdktypes.h: Include gdkconfig.h. Define macros for windowing
4338 * gdk/gdkfontsel.c: Don't include Xlib.h, it gets included via
4339 gdkx.h anyway when compiling for X11.
4340 (gtk_font_selection_create_xlfd): Use g_strdup_printf. (In
4341 general): Merge in Win32 version.
4343 * gtk/gtkfilesel.c: Use g_get_current_dir(). Merge in Win32
4344 version: Use G_DIR_SEPARATOR, g_path_is_absolute, no tilde
4345 expansion (if we don't have HAVE_PWD_H), allow for drive
4346 letters. UNC paths (\\server\share\...) are not handled yet. Also,
4347 included code from Craig Setera's port to Win32 (the one that uses
4348 X11, and the cygwin dll), even if it probably will be abandoned.
4350 * gtk/gtkfilesel.c: Don't append a * to the pattern to complete if
4351 the user entered one herself. This way one can complete *.h and
4352 don't get matches on any .help files, for instance.
4354 Tue Mar 9 01:01:28 1999 Tim Janik <timj@gtk.org>
4356 * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
4357 font hash table, if we have a GdkFontPrivate entry for this font
4358 already, simply increment its reference count, provided by Olaf Dietsche
4359 <olaf.dietsche+list.gtk@netcologne.de>.
4361 * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
4362 provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
4364 1999-03-09 Federico Mena Quintero <federico@nuclecu.unam.mx>
4366 * gtk/gtkstyle.c (gtk_default_draw_handle): Significantly reduced
4367 the number of calls to gdk_draw_point() (and thus to X) by
4368 clipping the points by hand.
4370 * gtk/gtkhandlebox.c (draw_textured_frame): Actually make use of
4372 (gtk_handle_box_paint): Only paint the handle if the expose area
4375 Sun Mar 7 18:46:37 1999 ape@lrdpf.spacetec.no (Asbjorn Pettersen)
4377 * gtk/gtkmain.c (add_dll_suffix): Add this function (OS/2 ver.)
4379 Sun Mar 7 11:43:34 1999 ape@spacetec.no (Asbjorn Pettersen)
4381 * gtk/gtkthemes.c (gtk_theme_engine_get): Add OS/2 changes.
4382 Added function gen_8_3_dll_name(gchar *name, gchar *fullname).
4384 Fri Mar 5 09:12:24 1999 ape@lrdpf.spacetec.no (Asbjorn Pettersen)
4386 * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc): Open file in
4387 textmode (O_TEXT) for OS/2 version.
4389 Sun Feb 28 16:46:02 1999 Stefan Jeske <stefan@gtk.org>
4391 * gtk/gtkspinbutton.[c,h] gtk/testgtk.c: Added two new signals to
4392 GtkSpinButton, "input" and "output", to make the output more flexible.
4393 The user has to provide a mapping between adjustment->value and the
4394 output string (and vice versa, if the spin button is editable).
4395 See testgtk for examples.
4397 Sat Feb 27 01:18:47 1999 Tim Janik <timj@gtk.org>
4399 * ChangeLog: moved old ChangeLog to ChangeLog.pre-1-2, and started
4402 * configure.in: set gtk+ version to 1.3.0.