1 1999-05-30 Tor Lillqvist <tml@iki.fi>
3 * gdk/win32/gdkwindow.c: AdjustWindowRectEx2 renamed to
4 SafeAdjustWindowRectEx. Don't override all calls to
5 AdjustWindowRectEx by it, but use it only in two places: When
6 creating a new top-level window and when moving a top-level
9 Use screen coordinate rectangle, not client rectangle, in
10 gdk_window_move. Thus SafeAdjustWindowRectEx will do its job only
11 when we try to place a window so that the decoration (mainly,
12 title bar) isn't visible.
14 These changes fix the bug that showed up for instance as the
15 GIMP's saved top-level windows moving right and down (by an amount
16 equal to the window decoration) for each session. This bug showed
17 up also in testgtk's "Saved Position".
19 gdk_window_resize also redone a bit.
21 1999-05-25 Tor Lillqvist <tml@iki.fi>
23 * gtk/testgtkrc: Add (commented out) Windows-style theme
26 * gdk/win32/gdk.def,gtk/gtk.def: Add some missing entry points.
28 1999-05-18 Tor Lillqvist <tml@iki.fi>
30 * gdk/win32/makefile.{cygwin,msc}: Copy our gdkprivate.h and
31 gdkx.h to a gdk subdirectory, so that applications can include
32 these with <gdk/*.h> without trouble.
34 * gdk/win32/gdkimage.c (gdk_image_new_with_depth): Code simplified.
35 (gdk_image_destroy): Plugged resource leak, some GdkImages didn't
36 have their bitmap destroyed.
38 * gdk/win32/gdk.def: Add gdk_root_parent.
40 Wed May 12 03:00:56 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
46 gtk/Makefile.am: changes to compile nicely (with xlib)
49 Sat May 1 15:04:42 PDT 1999 Manish Singh <yosh@gimp.org>
55 * ltmain.sh: upgrade to libtool 1.3
57 Fri Apr 30 13:38:16 1999 Lars Hamann <lars@gtk.org>
60 * gtk/gtkctree.c: merges from gtk-1-2
62 1999-04-25 Tor Lillqvist <tml@iki.fi>
64 Support added for building using a GNU toolchain on Win32,
65 gcc -mno-cygwin (egcs-1.1.2) on cygwin-b20.1.
67 * gdk/win32/makefile.cygwin gtk/makefile.cygwin: New files.
68 * config.h.win32: Changes for gcc.
69 * gdk/gdkrectangle.c: Include gdk.h as <gdk/gdk.h>.
70 * gdk/gdkcolor.c: config.h.win32 already defines strcasecmp.
71 * gdk/win32/gdkconfig.h: Only the MS compiler has wctype.h.
72 * gdk/win32/gdkdnd.c: Protect (unused) OLE2 stuff better.
73 Protect shl stuff unavaiilable with mingw32 headers.
74 * gdk/win32/gdkevents.c: Fix typo.
75 * gdk/win32/gdkglobals.c: Use GDKVAR here also for gcc.
76 * gdk/win32/gdkim.c: Use OEM code page for multibyte chars. (?)
77 * gdk/win32/gdkinput.c: Use __try __except only with the MS compiler.
78 * gdk/win32/gdkprivate.h: Make up for some stuff missing from
80 * gdk/win32/makefile.msc: Use latest Wintab kit and glib.
81 * gtk/gtkfilesel.c: Include <glib.h> early, to get stat->_stat
82 definition on Win32. Test for NATIVE_WIN32, not _MSC_VER.
83 * gtk/gtkfontsel.c: Protect CHARSET redefinition on Win32.
84 Test for NATIVE_WIN32, not _MSC_VER.
85 * gtk/gtkmain.c: No use warning about developer version on Win32,
86 there aren't any non-developer versions anyhow.
87 * gtk/gtkrc.c: Test for NATIVE_WIN32, not _MSC_VER.
88 * gtk/makefile.msc: Use pthread from another directory. Minor other
91 Wed Apr 21 14:20:22 1999 George Lebl <jirka@5z.com>
93 * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
94 default filter from the list
96 Mon Mar 8 12:52:53 1999 Owen Taylor <otaylor@redhat.com>
98 * gtk/gtkwidget.c (gtk_widget_grab_default): Add a warning
99 when gtk_widget_grab_default() is called for a widget that
100 is not within a GtkWindow.
102 Sat Apr 10 13:52:54 BST 1999 Tony Gale <gale@gtk.org>
104 * docs/gtk_tut.sgml, examples/clist.c: use a
105 scrolled window in the clist example. Minor
108 Fri Apr 2 09:19:20 BST 1999 Tony Gale <gale@gtk.org>
110 * docs/gtk_tut.sgml: Style check from David King
111 <dking@youvegotmail.net>
113 1999-03-30 Pavel Machek <pavel@artax.karlin.mff.cuni.cz>
115 * gtk/gtkfontsel.c (gtk_font_selection_get_fonts): Make code
116 compile with unknown value of GDK_WINDOWING
118 1999-03-28 Raja R Harinath <harinath@cs.umn.edu>
120 * gdk/Makefile.am (gdkconfig.h): Make sure `gdkconfig.h' exists
121 after the rule is fired.
122 (install-exec-local): Install gdkconfig.h only if the contents are
123 different from the currently installed gdkconfig.h.
125 1999-03-26 Raja R Harinath <harinath@cs.umn.edu>
127 * gdk/Makefile.am (configexecincludedir): Rename from
128 configincludedir so that gdkconfig.h will be installed
129 as part of `make install-exec'.
131 Fri Mar 19 16:50:33 PST 1999 Manish Singh <yosh@gimp.org>
137 * ltmain.sh: upgrade to libtool 1.2f
139 * autogen.sh: libtool is not required to autogen gtk+
141 * acconfig.h: remove WITH_SYMBOL_UNDERSCORE (not explictly
144 1999-03-18 Tor Lillqvist <tml@iki.fi>
146 * gdk/gdktypes.h: Merge in Win32 version: Define macro GDKVAR for
147 declaring gdk variables exported/imported from the DLL. New image
148 type enum, GDK_IMAGE_SHARED_PIXMAP, for gdk_imlib. New drag and
149 drop protocol enums, GDK_DRAG_PROTO_WIN32_DROPFILES and
152 * gdk/gdk.h: Merge in Win32 version: Two new functions,
153 gdk_pixmap_create_on_shared_image and gdk_image_bitmap_new. So far
154 declared only for the Win32 version, but could be in the X11
155 version as well. (Needed for a Xlib-less gdk_imlib.)
156 gdk_color_hash should have only one parameter. Declare
157 gdk_threads_mutex with GDKVAR.
159 * gdk/gdkcolor.c (gdk_color_hash): As a hash function should have
162 * gdk/gdkimage.c (gdk_image_get): Initialize bpp correctly. Bytes
165 * gdk/gdkrgb.c: Mingle includes somewhat. (gdk_rgb_select_conv):
166 Fetch bpp (which means bits-per-pixel here) from another place on
167 Win32. Accept also depth==32 (which we might get on Win32) with
170 * gtk/{gtkclist,gtkctree,gtkdnd,gtkditable,gtkfontsel,
171 gtkhandlebox,gtklayout,gtkmain,gtkplug,gtkpreview,gtkrc,
172 gtkselection,gtksocket,gtkstyle,gtkwidget,gtkwindow}.c:
173 Include gdx.h from "gdkx.h", not "gdk/gdkx.h", as gdkx.h will be
174 in the backend-dependent directory, not in the common gdk
177 * gtk/testgtk.c: Ditto. Also, don't use ../gdk patchs to gdk
180 Wed Mar 17 05:06:49 1999 Tim Janik <timj@gtk.org>
182 * gtk/gtkmain.c (gtk_init_check): tell people that they don't really
183 want to use the Gtk+ devel version (which is true, and yes - even i am
184 currently working with the 1.2.x branch). so everyone reading this, you
185 probably want to issue
186 cvs checkout -r glib-1-2 glib
188 cvs checkout -r gtk-1-2 gtk+
189 as your next two comands.
191 Wed Mar 17 02:49:32 1999 Tim Janik <timj@gtk.org>
193 * configure.in: build gtkcompat.h from gtkcompat.h.in instead of
194 gtkfeatures.h from gtkfeatures.h.in, require GLib 1.3.0.
196 * gtk/gtkcompat.h.in: combined gtkcompat.h and gtkfeatures.in in this
197 file. strongly deprecated the GTK_HAVE_* macros, we provide
198 GTK_CHECK_VERSION() for people that need to check for certain
201 * gtk/gtkcompat.h: removed this from CVS.
202 * gtk/gtkfeatures.h.in: removed this from CVS, gtkfeatures.h was a bad
203 idea right from the start, it just didn't seem like that back then.
205 Wed Mar 17 01:46:28 1999 Tim Janik <timj@gtk.org>
207 * merges from gtk-1-2:
209 Tue Mar 16 17:43:33 1999 Tim Janik <timj@gtk.org>
211 * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc_string): ensure the
212 item factory class has been created.
213 (gtk_item_factory_parse_rc): likewise.
216 keep proper references for old_active_menu_item.
217 (gtk_menu_reparent): unset the usize of the new parent,
218 so the menu can sanely be size requested and we don't get nasty screen
219 artefacts upon next reparentation.
220 (gtk_menu_motion_notify): set send_event to TRUE if we synthesize an
221 enter notify. only synthesize enter notifies if the pointer really is
222 inside the event window.
223 (gtk_menu_popdown): use gtk_menu_shell_deselect().
224 (gtk_menu_popup): move the background setting stuff into
225 gtk_menu_tearoff_bg_copy() so it can be called from other places as well.
227 * gtk/gtkmenushell.c (gtk_menu_shell_button_press): use
228 gtk_menu_shell_select_item() to select the new item.
229 (gtk_menu_shell_deselect): export this function, so gtkmenu.c can
230 do the right thing for deselection as well.
232 Sat Mar 15 20:10:33 1999 Tim Janik <timj@gtk.org>
234 * gtk/gtkwidget.[hc]:
235 (gtk_widget_accelerators_locked): return whether a widget's accelerators
238 * gtk/gtkmenu.c (gtk_menu_key_press): don't remove or install new or
239 existing accelerators if the widget's accelerators are locked.
241 Sat Mar 14 19:44:05 1999 Tim Janik <timj@gtk.org>
243 * gtk/gtkitemfactory.[hc]: allow managing of foreign menu items.
245 * gtk/gtkmenu.c: truely forward key press and key release events to
246 the menu widget from the toplevel or tearoff window. we can't simply
247 connect to that, we need to stop further processing of the events as
250 Sat Mar 13 13:14:17 1999 Tim Janik <timj@gtk.org>
253 (gtk_menu_key_press): pass event->keyval, event->state to
254 gtk_accelerator_valid, instead of event->keyval twice.
255 refuse to install single letter accelerators for menus that use
256 single letter shortcuts.
258 * gtk/gtkitemfactory.c (gtk_item_factory_create_item): use
259 gtk_menu_ensure_uline_accel_group().
261 * gtk/gtkmenu.[hc]: added gtk_menu_ensure_uline_accel_group()
262 which will always return an uline accel group, made
263 gtk_menu_get_uline_accel_group() return NULL if the group isn't
266 Mon Mar 15 01:03:27 1999 Lars Hamann <lars@gtk.org>
268 * gtk/gtkclist.h (struct _GtkCListColumn): added button_passive flag.
270 * gtk/gtkclist.c (gtk_clist_column_title_passive):
271 Leave button sensitive, trap button_press, button_release,
272 motion_notify, enter_notify and leave_notify events instead.
273 (gtk_clist_column_title_active): disconnect event handler.
274 (gtk_clist_drag_data_get): fixed memory leak. Reported by
275 Guillaume Laurent <glaurent@worldnet.fr>
277 Wed Mar 10 23:49:55 1999 Lars Hamann <lars@gtk.org>
279 * gtk/gtklayout.c (gtk_layout_adjustment_changed): fixed a few
282 * gtk/gtkctree.c (tree_delete): emit an tree_unselect_row signal
285 Wed Mar 10 00:11:32 1999 Tim Janik <timj@gtk.org>
287 * gtk/testgtk.c (create_item_factory): unref the item factory after
288 window's destruction.
290 * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): keep a reference
291 count on the menu shell around the menu item's activation, since the
292 signal emission may cause menu shell destruction.
294 * gtk/gtkitemfactory.c:
295 the previous code leaked one accel group per menu. we use
296 gtk_menu_get_uline_accel_group() now to fix that, and with that
297 also create the underline accelerator group of the menus only if
298 required (i.e. an underline accelerator has been specified).
299 (gtk_item_factory_construct):
300 (gtk_item_factory_create_item): removed code that would create an
301 extra accel group for the menu (and leak references).
302 (gtk_item_factory_create_item): adapted the underline accelerator
303 installation code to properly feature gtk_menu_get_uline_accel_group().
305 * gtk/gtkmenu.[hc]: added gtk_menu_get_accel_group() to retrive
306 menu->accel_group, this may return NULL if the accelerator group
308 added gtk_menu_get_uline_accel_group() to retrive the underline
309 accelerator group of the menu, this will be created on demand
310 and proper care is taken about its reference count.
312 * gtk/gtkitemfactory.h:
313 * gtk/gtkitemfactory.c:
314 dumped the approach of keeping a widgets by action list on the
315 factory since the factory<->widget destroy negotiation didn't work
316 and would be hard to get going at all. instead we keep a list of
317 GtkItemFactoryItem items on the factory (GtkItemFactoryItems are
318 persistant throughout a program's life time).
319 also, i removed the static const gchar *key_* variables, and made
320 them inline strings (they weren't actually used anyways).
321 (gtk_item_factory_add_item): update ifactory->items.
322 (gtk_item_factory_destroy): destroy ifactory->items (and remove
323 the item factory pointer from the remaining ifactory widgets).
324 (gtk_item_factory_get_widget_by_action): walk the GtkItemFactoryItem
325 list to find the widget.
326 (gtk_item_factory_get_item): new function that works around
327 gtk_item_factory_get_widget() limitations, this function will only
328 return menu items, even for <Branch> entries.
330 Tue Mar 9 01:01:28 1999 Tim Janik <timj@gtk.org>
332 * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
333 font hash table, if we have a GdkFontPrivate entry for this font
334 already, simply increment its reference count, provided by Olaf Dietsche
335 <olaf.dietsche+list.gtk@netcologne.de>.
337 * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
338 provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
340 Sun Mar 7 06:13:29 1999 Tim Janik <timj@gtk.org>
342 * gtk/gtkcontainer.c:
343 (gtk_container_add_with_args):
344 (gtk_container_addv):
345 (gtk_container_add): before adding a child to a conatiner, make sure
346 it is (default) constructed, this is neccessary because under certain
347 circumstances the child will get relized and mapped immediatedly, in
348 which case it has to be constructed already.
350 Mon Mar 1 17:58:21 1999 Tim Janik <timj@gtk.org>
352 * gtk/gtksignal.c (gtk_signal_connect_by_type): count object_signal
353 values > 1 as TRUE also.
355 1999-03-16 Tor Lillqvist <tml@iki.fi>
357 * README.win32: New file.
359 * configure.in: Check for lstat.
361 * config.h.win32: Add non-definition of HAVE_LSTAT, just for
364 * gtk/gtkrc.c: If don't HAVE_LSTAT, use stat.
366 * gtk/gtk.def: Removed CRs.
368 * gtk/makefile.msc: Correct include path to Win32 GDK version (in
371 * gdk/win32/makefile.msc: Correct upwards relative paths.
373 Mon Mar 15 03:38:34 1999 George Lebl <jirka@5z.com>
375 * gtk/gtkdnd.c: (gtk_drag_highlight) swap the
376 gtk_drag_highlight_expose and gtk_drag_highlight_paint since
377 it was connecting a void function to expose_event and the int
378 returning function to the draw signal
380 1999-03-14 Jeff Garzik <jgarzik@pobox.com>
383 Use correct path to libgmodule.la when ref'ing uninstalled copy
384 of glib. (Already in stable branch, Bug #417)
386 1999-03-15 Tor Lillqvist <tml@iki.fi>
388 Win32 merge and general portability stuff:
390 * acconfig.h,configure.in: Check for <sys/time.h>.
392 * gdk/win32: New directory (actually, been there for a while).
394 * gtk/fnmatch.c: Include <glib.h> for G_DIR_SEPARATOR, WIN32 and
395 NATIVE_WIN32, and use these. Always case fold on Win32. No
396 backslashed escapes on native Win32.
398 * gtk/{gtk.def,makefile.msc}: New files.
400 * gtk/Makefile.am: Add above new files.
402 * gtk/{gtkaccelgroup,gtkbindings}.c: Include <string.h>
403 instead of <strings.h>.
405 * gtk/{gtkcalendar,gtkitemfactory,gtkpreview,gtkrc}.c: Include
406 config.h. Protect inclusion of <sys/param.h>, <sys/time.h>, and
407 <unistd.h> appropriately.
409 * gtk/gtkdnd.c: Merge in Win32 version (which doesn't do much).
410 Use ABS() (from <glib.h>) instead of abs().
412 * gtk/gtkfilesel.c: Moved Win32-specific includes after inclusion
413 of gtk (and thus glib) headers, so that WIN32 will be
414 defined. With MS C, include <direct.h> for mkdir prototype.
416 * gtk/gtkitemfactory.c (gtk_item_factory_callback_marshal): Add
417 some casts, needed by MS C.
419 * gtk/{gtklayout,gtkplug}.c: Merge in Win32 version (which isn't
422 * gtk/gtkmain.c: Include gdk/gdkx.h for GDK_WINDOWING. Include
423 <X11/Xlocale.h> only on X11 platform, otherwise <locale.h>. Use
424 G_SEARCHPATH_SEPARATOR_S and g_module_build_path.
426 * gtk/gtkmain.h: Mark variables for export/import on Win32.
428 * gtk/gtkrange.c (gtk_range_motion_notify): Set mods also in case
429 the event is not a hint, or its window is not the slider. Needed
432 * gtk/gtkrc.c: Include config.h and gdk/gdkx.h. Use <locale.h>
433 unless on X11. Skip \r chars, too. Use G_DIR_SEPARATOR and
434 G_SEARCHPATH_SEPARATOR(_S). Use g_path_is_absolute. On Win32, use
435 a subdirectory of the Windows directory as gtk system
436 configuration directory.
438 * gtk/gtkselection.c: No chunks on Win32.
440 * gtk/gtksocket.c: Not implemented on Win32.
442 * gtk/gtkthemes.c (gtk_theme_engine_get): Use g_module_build_path.
444 * gtk/makeenums.h: Include gdkprivate.h after gdk.h.
446 * gtk/maketypes.awk: Declare variables with a macro that expands to
447 necessary export/import magic in the case of Win32.
449 * gtk/testrgb.c: Use dynamically allocated buffer. Use GTimers.
451 1999-03-13 Raja R Harinath <harinath@cs.umn.edu>
453 * configure.in (gdk_wc): Move widechar tests from `glib' to here,
454 since those were meant only for gdki18n.h.
455 * gdk/gdki18n.h: Include gdkconfig.h and use GDK_* instead of G_*
457 * gtk/Makefile.am (INCLUDES): Add -I../gdk for gdkconfig.h.
459 1999-03-13 Tor Lillqvist <tml@iki.fi>
461 * configure.in acconfig.h: Check for dirent.h and pwd.h. Generate
462 gdk/gdkconfig.h using similar mechanism as GLib's glibconfig.h.
464 * gtk-config.in: Add @libdir/gtk+/include (where gdkconfig.h is
465 installed) to CFLAGS.
467 * gdk/Makefile.am: Add rules for gdkconfig.h.
469 * gdk/gdktypes.h: Include gdkconfig.h. Define macros for windowing
472 * gdk/gdkfontsel.c: Don't include Xlib.h, it gets included via
473 gdkx.h anyway when compiling for X11.
474 (gtk_font_selection_create_xlfd): Use g_strdup_printf. (In
475 general): Merge in Win32 version.
477 * gtk/gtkfilesel.c: Use g_get_current_dir(). Merge in Win32
478 version: Use G_DIR_SEPARATOR, g_path_is_absolute, no tilde
479 expansion (if we don't have HAVE_PWD_H), allow for drive
480 letters. UNC paths (\\server\share\...) are not handled yet. Also,
481 included code from Craig Setera's port to Win32 (the one that uses
482 X11, and the cygwin dll), even if it probably will be abandoned.
484 * gtk/gtkfilesel.c: Don't append a * to the pattern to complete if
485 the user entered one herself. This way one can complete *.h and
486 don't get matches on any .help files, for instance.
488 Tue Mar 9 01:01:28 1999 Tim Janik <timj@gtk.org>
490 * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
491 font hash table, if we have a GdkFontPrivate entry for this font
492 already, simply increment its reference count, provided by Olaf Dietsche
493 <olaf.dietsche+list.gtk@netcologne.de>.
495 * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
496 provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
498 1999-03-09 Federico Mena Quintero <federico@nuclecu.unam.mx>
500 * gtk/gtkstyle.c (gtk_default_draw_handle): Significantly reduced
501 the number of calls to gdk_draw_point() (and thus to X) by
502 clipping the points by hand.
504 * gtk/gtkhandlebox.c (draw_textured_frame): Actually make use of
506 (gtk_handle_box_paint): Only paint the handle if the expose area
509 Sun Mar 7 18:46:37 1999 ape@lrdpf.spacetec.no (Asbjorn Pettersen)
511 * gtk/gtkmain.c (add_dll_suffix): Add this function (OS/2 ver.)
513 Sun Mar 7 11:43:34 1999 ape@spacetec.no (Asbjorn Pettersen)
515 * gtk/gtkthemes.c (gtk_theme_engine_get): Add OS/2 changes.
516 Added function gen_8_3_dll_name(gchar *name, gchar *fullname).
518 Fri Mar 5 09:12:24 1999 ape@lrdpf.spacetec.no (Asbjorn Pettersen)
520 * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc): Open file in
521 textmode (O_TEXT) for OS/2 version.
523 Sun Feb 28 16:46:02 1999 Stefan Jeske <stefan@gtk.org>
525 * gtk/gtkspinbutton.[c,h] gtk/testgtk.c: Added two new signals to
526 GtkSpinButton, "input" and "output", to make the output more flexible.
527 The user has to provide a mapping between adjustment->value and the
528 output string (and vice versa, if the spin button is editable).
529 See testgtk for examples.
531 Sat Feb 27 01:18:47 1999 Tim Janik <timj@gtk.org>
533 * ChangeLog: moved old ChangeLog to ChangeLog.pre-1-2, and started
536 * configure.in: set gtk+ version to 1.3.0.