1999-07-21 Tor Lillqvist * README.win32: Update gcc build instructions. Mention gettext is GPL. * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Get correct supported cursor size with GetSystemMetrics. * gdk/win32/gdkfont.c * gtk/gtkfontsel.c: Guard against some font weight and charset symbols being undefined (in mingw32 headers). * gdk/win32/makefile.cygwin * gtk/makefile.cygwin * gtk/gtkthemes.c: No longer need to have differently named gcc-built DLLs when using gcc-2.95 and -fnative-struct. hu Jul 15 13:33:15 BST 1999 Tony Gale * docs/gtkfaq.sgml: Long awaited FAQ update. 1999-07-15 Tor Lillqvist * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Implement it. Obscure bit manipulation needed. * gdk/win32/gdkevents.c: Logging. * gtk/gtkthemes.c (gtk_theme_engine_get): (Win32) Use new DLL naming style (file name include compiler name) for theme engines. 1999-07-13 Tor Lillqvist * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Less logging verbiage. * gdk/win32/gdkevents.c: Fix long-standing bug in key events. The key.string wasn't zero-terminated, still we strdup'ed it in gdk_event_copy(). Synthesize crossing events for button events before possible propagation. * gdk/win32/gdkwindow.c: Log gdk_window_set_title. * gdk/win32/makefile.cygwin * gtk/makefile.cygwin: Use new DLL naming style for the GCC-compiled ones. * gdk/win32/makefile.msc * gtk/makefile.msc: Cosmetics mostly. * gtk/gtk.def: Add missing entry points. * gtk/gtksocket.c: Add dummy gtk_socket_get_type() for Win32. 1999-07-09 Tor Lillqvist * gdk/win32/gdkdraw.c (gdk_draw_arc): Don't draw anything if width or height is zero. Don't print a warning if Pie or Arc fails, they always fail (?) for very narrow ellipses. * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Call InvalidateRgn for the part or the destination window corresponding to source area outside of the source drawable's boundary. * gdk/win32/gdkdraw.c (gdk_draw_lines, gdk_draw_polygon): Don't do anything if less than two points. * gdk/win32/gdkselection.c (gdk_selection_owner_get): Always return NULL. Gtk cut-and-paste inside a single program works better this way. (It always gets the clipboard contents from Windows, not from its own copy, which is cleared anyway. I can't say I fully understand what happens... Emulating the X selection and property stuff is a bit of a mess.) * gdk/win32/gdkevents.c * gdk/win32/gdkproperty.c: A bit more verbose logging. * gdk/win32/gdkregion.c: Fix some memory leaks (temporary regions that never got deleted). Revamp gdk_region_shrink. * gdk/win32/gdkregion.c: Fix memory leak, delete temporary regions after use. * gtk/gtk.def: Add some missing entry points. * gtk/gtkrc.c: Strip trailing directory separator from pixmap path component. 1999-07-04 Tor Lillqvist * gdk/win32/gdkevents.c (gdk_event_translate): Handle Control-digits specially. 1999-07-03 Tor Lillqvist * gtk/makefile.{cygwin,msc}: New pthreads version. Use gettext. 1999-06-28 Tor Lillqvist * gdk/win32/gdkimage.c (gdk_image_get): bpl was set wrong for bitmaps, should be multiple of 4. (Thanks to Hans Breuer for finding this.) 1999-06-01 Jose H Mercado * gtk+.spec.in: Corrected some typos in files section. 1999-06-15 Tor Lillqvist * README.win32: Mention using GNU gettext. * config.h.win32: Enable NLS stuff. * gtk/makefile.msc: Use GNU gettext. * gdk/win32/gdkdnd.c: Minor header reorg. * gdk/win32/{gdkevents,gdkwindow}.c: No semantic changes, mainly cosmetics. * gtk/gtkrc.c (Win32): Make get_gtk_sysconf_directory() public. * gtk/gtkmain.c (Win32): Use it in bindtextdomain() call. Wed Jun 2 11:44:25 PDT 1999 Manish Singh * acinclude.m4 * config.guess * config.status * ltconfig * ltmain.sh: upgrade to libtool 1.3.2 (BeOS changes merged) 1999-05-30 Tor Lillqvist * gdk/win32/gdkwindow.c: AdjustWindowRectEx2 renamed to SafeAdjustWindowRectEx. Don't override all calls to AdjustWindowRectEx by it, but use it only in two places: When creating a new top-level window and when moving a top-level window. Use screen coordinate rectangle, not client rectangle, in gdk_window_move. Thus SafeAdjustWindowRectEx will do its job only when we try to place a window so that the decoration (mainly, title bar) isn't visible. These changes fix the bug that showed up for instance as the GIMP's saved top-level windows moving right and down (by an amount equal to the window decoration) for each session. This bug showed up also in testgtk's "Saved Position". gdk_window_resize also redone a bit. 1999-05-25 Tor Lillqvist * gtk/testgtkrc: Add (commented out) Windows-style theme include line. * gdk/win32/gdk.def,gtk/gtk.def: Add some missing entry points. 1999-05-18 Tor Lillqvist * gdk/win32/makefile.{cygwin,msc}: Copy our gdkprivate.h and gdkx.h to a gdk subdirectory, so that applications can include these with without trouble. * gdk/win32/gdkimage.c (gdk_image_new_with_depth): Code simplified. (gdk_image_destroy): Plug resource leak, some GdkImages didn't have their bitmap destroyed. * gdk/win32/gdk.def: Add gdk_root_parent. Wed May 12 03:00:56 CDT 1999 Shawn T. Amundson * configure.in gtk-config.in ltconfig ltmain.sh gtk/Makefile.am: changes to compile nicely (with xlib) on BeOS Sat May 1 15:04:42 PDT 1999 Manish Singh * acinclude.m4 * config.guess * config.sub * ltconfig * ltmain.sh: upgrade to libtool 1.3 Fri Apr 30 13:38:16 1999 Lars Hamann * gtk/gtkclist.c: * gtk/gtkctree.c: merges from gtk-1-2 1999-04-25 Tor Lillqvist Support added for building using a GNU toolchain on Win32, gcc -mno-cygwin (egcs-1.1.2) on cygwin-b20.1. * gdk/win32/makefile.cygwin gtk/makefile.cygwin: New files. * config.h.win32: Changes for gcc. * gdk/gdkrectangle.c: Include gdk.h as . * gdk/gdkcolor.c: config.h.win32 already defines strcasecmp. * gdk/win32/gdkconfig.h: Only the MS compiler has wctype.h. * gdk/win32/gdkdnd.c: Protect (unused) OLE2 stuff better. Protect shl stuff unavaiilable with mingw32 headers. * gdk/win32/gdkevents.c: Fix typo. * gdk/win32/gdkglobals.c: Use GDKVAR here also for gcc. * gdk/win32/gdkim.c: Use OEM code page for multibyte chars. (?) * gdk/win32/gdkinput.c: Use __try __except only with the MS compiler. * gdk/win32/gdkprivate.h: Make up for some stuff missing from the mingw32 headers. * gdk/win32/makefile.msc: Use latest Wintab kit and glib. * gtk/gtkfilesel.c: Include early, to get stat->_stat definition on Win32. Test for NATIVE_WIN32, not _MSC_VER. * gtk/gtkfontsel.c: Protect CHARSET redefinition on Win32. Test for NATIVE_WIN32, not _MSC_VER. * gtk/gtkmain.c: No use warning about developer version on Win32, there aren't any non-developer versions anyhow. * gtk/gtkrc.c: Test for NATIVE_WIN32, not _MSC_VER. * gtk/makefile.msc: Use pthread from another directory. Minor other changes. Wed Apr 21 14:20:22 1999 George Lebl * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the default filter from the list Mon Mar 8 12:52:53 1999 Owen Taylor * gtk/gtkwidget.c (gtk_widget_grab_default): Add a warning when gtk_widget_grab_default() is called for a widget that is not within a GtkWindow. Sat Apr 10 13:52:54 BST 1999 Tony Gale * docs/gtk_tut.sgml, examples/clist.c: use a scrolled window in the clist example. Minor tutorial fixes. Fri Apr 2 09:19:20 BST 1999 Tony Gale * docs/gtk_tut.sgml: Style check from David King 1999-03-30 Pavel Machek * gtk/gtkfontsel.c (gtk_font_selection_get_fonts): Make code compile with unknown value of GDK_WINDOWING 1999-03-28 Raja R Harinath * gdk/Makefile.am (gdkconfig.h): Make sure `gdkconfig.h' exists after the rule is fired. (install-exec-local): Install gdkconfig.h only if the contents are different from the currently installed gdkconfig.h. 1999-03-26 Raja R Harinath * gdk/Makefile.am (configexecincludedir): Rename from configincludedir so that gdkconfig.h will be installed as part of `make install-exec'. Fri Mar 19 16:50:33 PST 1999 Manish Singh * acinclude.m4 * config.guess * config.sub * ltconfig * ltmain.sh: upgrade to libtool 1.2f * autogen.sh: libtool is not required to autogen gtk+ * acconfig.h: remove WITH_SYMBOL_UNDERSCORE (not explictly needed) 1999-03-18 Tor Lillqvist * gdk/gdktypes.h: Merge in Win32 version: Define macro GDKVAR for declaring gdk variables exported/imported from the DLL. New image type enum, GDK_IMAGE_SHARED_PIXMAP, for gdk_imlib. New drag and drop protocol enums, GDK_DRAG_PROTO_WIN32_DROPFILES and GDK_DRAG_PROTO_OLE2. * gdk/gdk.h: Merge in Win32 version: Two new functions, gdk_pixmap_create_on_shared_image and gdk_image_bitmap_new. So far declared only for the Win32 version, but could be in the X11 version as well. (Needed for a Xlib-less gdk_imlib.) gdk_color_hash should have only one parameter. Declare gdk_threads_mutex with GDKVAR. * gdk/gdkcolor.c (gdk_color_hash): A hash function should have just one parameter. * gdk/gdkimage.c (gdk_image_get): Initialize bpp correctly. Bytes per pixel, not bits. * gdk/gdkrgb.c: Mingle includes somewhat. (gdk_rgb_select_conv): Fetch bpp (which means bits-per-pixel here) from another place on Win32. Accept also depth==32 (which we might get on Win32) with bpp==32. * gtk/{gtkclist,gtkctree,gtkdnd,gtkditable,gtkfontsel, gtkhandlebox,gtklayout,gtkmain,gtkplug,gtkpreview,gtkrc, gtkselection,gtksocket,gtkstyle,gtkwidget,gtkwindow}.c: Include gdx.h from "gdkx.h", not "gdk/gdkx.h", as gdkx.h will be in the backend-dependent directory, not in the common gdk directory. * gtk/testgtk.c: Ditto. Also, don't use ../gdk path to gdk headers. Wed Mar 17 05:06:49 1999 Tim Janik * gtk/gtkmain.c (gtk_init_check): tell people that they don't really want to use the Gtk+ devel version (which is true, and yes - even i am currently working with the 1.2.x branch). so everyone reading this, you probably want to issue cvs checkout -r glib-1-2 glib and cvs checkout -r gtk-1-2 gtk+ as your next two comands. Wed Mar 17 02:49:32 1999 Tim Janik * configure.in: build gtkcompat.h from gtkcompat.h.in instead of gtkfeatures.h from gtkfeatures.h.in, require GLib 1.3.0. * gtk/gtkcompat.h.in: combined gtkcompat.h and gtkfeatures.in in this file. strongly deprecated the GTK_HAVE_* macros, we provide GTK_CHECK_VERSION() for people that need to check for certain Gtk+ versions. * gtk/gtkcompat.h: removed this from CVS. * gtk/gtkfeatures.h.in: removed this from CVS, gtkfeatures.h was a bad idea right from the start, it just didn't seem like that back then. Wed Mar 17 01:46:28 1999 Tim Janik * merges from gtk-1-2: Tue Mar 16 17:43:33 1999 Tim Janik * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc_string): ensure the item factory class has been created. (gtk_item_factory_parse_rc): likewise. * gtk/gtkmenu.c: keep proper references for old_active_menu_item. (gtk_menu_reparent): unset the usize of the new parent, so the menu can sanely be size requested and we don't get nasty screen artefacts upon next reparentation. (gtk_menu_motion_notify): set send_event to TRUE if we synthesize an enter notify. only synthesize enter notifies if the pointer really is inside the event window. (gtk_menu_popdown): use gtk_menu_shell_deselect(). (gtk_menu_popup): move the background setting stuff into gtk_menu_tearoff_bg_copy() so it can be called from other places as well. * gtk/gtkmenushell.c (gtk_menu_shell_button_press): use gtk_menu_shell_select_item() to select the new item. (gtk_menu_shell_deselect): export this function, so gtkmenu.c can do the right thing for deselection as well. Sat Mar 15 20:10:33 1999 Tim Janik * gtk/gtkwidget.[hc]: (gtk_widget_accelerators_locked): return whether a widget's accelerators are locked. * gtk/gtkmenu.c (gtk_menu_key_press): don't remove or install new or existing accelerators if the widget's accelerators are locked. Sat Mar 14 19:44:05 1999 Tim Janik * gtk/gtkitemfactory.[hc]: allow managing of foreign menu items. * gtk/gtkmenu.c: truely forward key press and key release events to the menu widget from the toplevel or tearoff window. we can't simply connect to that, we need to stop further processing of the events as well. Sat Mar 13 13:14:17 1999 Tim Janik * gtk/gtkmenu.c: (gtk_menu_key_press): pass event->keyval, event->state to gtk_accelerator_valid, instead of event->keyval twice. refuse to install single letter accelerators for menus that use single letter shortcuts. * gtk/gtkitemfactory.c (gtk_item_factory_create_item): use gtk_menu_ensure_uline_accel_group(). * gtk/gtkmenu.[hc]: added gtk_menu_ensure_uline_accel_group() which will always return an uline accel group, made gtk_menu_get_uline_accel_group() return NULL if the group isn't yet created. Mon Mar 15 01:03:27 1999 Lars Hamann * gtk/gtkclist.h (struct _GtkCListColumn): added button_passive flag. * gtk/gtkclist.c (gtk_clist_column_title_passive): Leave button sensitive, trap button_press, button_release, motion_notify, enter_notify and leave_notify events instead. (gtk_clist_column_title_active): disconnect event handler. (gtk_clist_drag_data_get): fixed memory leak. Reported by Guillaume Laurent Wed Mar 10 23:49:55 1999 Lars Hamann * gtk/gtklayout.c (gtk_layout_adjustment_changed): fixed a few width/height mixups. * gtk/gtkctree.c (tree_delete): emit an tree_unselect_row signal if needed. Wed Mar 10 00:11:32 1999 Tim Janik * gtk/testgtk.c (create_item_factory): unref the item factory after window's destruction. * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): keep a reference count on the menu shell around the menu item's activation, since the signal emission may cause menu shell destruction. * gtk/gtkitemfactory.c: the previous code leaked one accel group per menu. we use gtk_menu_get_uline_accel_group() now to fix that, and with that also create the underline accelerator group of the menus only if required (i.e. an underline accelerator has been specified). (gtk_item_factory_construct): (gtk_item_factory_create_item): removed code that would create an extra accel group for the menu (and leak references). (gtk_item_factory_create_item): adapted the underline accelerator installation code to properly feature gtk_menu_get_uline_accel_group(). * gtk/gtkmenu.[hc]: added gtk_menu_get_accel_group() to retrive menu->accel_group, this may return NULL if the accelerator group hasn't been set yet. added gtk_menu_get_uline_accel_group() to retrive the underline accelerator group of the menu, this will be created on demand and proper care is taken about its reference count. * gtk/gtkitemfactory.h: * gtk/gtkitemfactory.c: dumped the approach of keeping a widgets by action list on the factory since the factory<->widget destroy negotiation didn't work and would be hard to get going at all. instead we keep a list of GtkItemFactoryItem items on the factory (GtkItemFactoryItems are persistant throughout a program's life time). also, i removed the static const gchar *key_* variables, and made them inline strings (they weren't actually used anyways). (gtk_item_factory_add_item): update ifactory->items. (gtk_item_factory_destroy): destroy ifactory->items (and remove the item factory pointer from the remaining ifactory widgets). (gtk_item_factory_get_widget_by_action): walk the GtkItemFactoryItem list to find the widget. (gtk_item_factory_get_item): new function that works around gtk_item_factory_get_widget() limitations, this function will only return menu items, even for entries. Tue Mar 9 01:01:28 1999 Tim Janik * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our font hash table, if we have a GdkFontPrivate entry for this font already, simply increment its reference count, provided by Olaf Dietsche . * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix provided by Olaf Dietsche . Sun Mar 7 06:13:29 1999 Tim Janik * gtk/gtkcontainer.c: (gtk_container_add_with_args): (gtk_container_addv): (gtk_container_add): before adding a child to a conatiner, make sure it is (default) constructed, this is neccessary because under certain circumstances the child will get relized and mapped immediatedly, in which case it has to be constructed already. Mon Mar 1 17:58:21 1999 Tim Janik * gtk/gtksignal.c (gtk_signal_connect_by_type): count object_signal values > 1 as TRUE also. 1999-03-16 Tor Lillqvist * README.win32: New file. * configure.in: Check for lstat. * config.h.win32: Add non-definition of HAVE_LSTAT, just for completeness. * gtk/gtkrc.c: If don't HAVE_LSTAT, use stat. * gtk/gtk.def: Removed CRs. * gtk/makefile.msc: Correct include path to Win32 GDK version (in ..\gdk\win32). * gdk/win32/makefile.msc: Correct upwards relative paths. Mon Mar 15 03:38:34 1999 George Lebl * gtk/gtkdnd.c: (gtk_drag_highlight) swap the gtk_drag_highlight_expose and gtk_drag_highlight_paint since it was connecting a void function to expose_event and the int returning function to the draw signal 1999-03-14 Jeff Garzik * configure.in: Use correct path to libgmodule.la when ref'ing uninstalled copy of glib. (Already in stable branch, Bug #417) 1999-03-15 Tor Lillqvist Win32 merge and general portability stuff: * acconfig.h,configure.in: Check for . * gdk/win32: New directory (actually, been there for a while). * gtk/fnmatch.c: Include for G_DIR_SEPARATOR, WIN32 and NATIVE_WIN32, and use these. Always case fold on Win32. No backslashed escapes on native Win32. * gtk/{gtk.def,makefile.msc}: New files. * gtk/Makefile.am: Add above new files. * gtk/{gtkaccelgroup,gtkbindings}.c: Include instead of . * gtk/{gtkcalendar,gtkitemfactory,gtkpreview,gtkrc}.c: Include config.h. Protect inclusion of , , and appropriately. * gtk/gtkdnd.c: Merge in Win32 version (which doesn't do much). Use ABS() (from ) instead of abs(). * gtk/gtkfilesel.c: Moved Win32-specific includes after inclusion of gtk (and thus glib) headers, so that WIN32 will be defined. With MS C, include for mkdir prototype. * gtk/gtkitemfactory.c (gtk_item_factory_callback_marshal): Add some casts, needed by MS C. * gtk/{gtklayout,gtkplug}.c: Merge in Win32 version (which isn't implemented). * gtk/gtkmain.c: Include gdk/gdkx.h for GDK_WINDOWING. Include only on X11 platform, otherwise . Use G_SEARCHPATH_SEPARATOR_S and g_module_build_path. * gtk/gtkmain.h: Mark variables for export/import on Win32. * gtk/gtkrange.c (gtk_range_motion_notify): Set mods also in case the event is not a hint, or its window is not the slider. Needed on Win32, at least. * gtk/gtkrc.c: Include config.h and gdk/gdkx.h. Use unless on X11. Skip \r chars, too. Use G_DIR_SEPARATOR and G_SEARCHPATH_SEPARATOR(_S). Use g_path_is_absolute. On Win32, use a subdirectory of the Windows directory as gtk system configuration directory. * gtk/gtkselection.c: No chunks on Win32. * gtk/gtksocket.c: Not implemented on Win32. * gtk/gtkthemes.c (gtk_theme_engine_get): Use g_module_build_path. * gtk/makeenums.h: Include gdkprivate.h after gdk.h. * gtk/maketypes.awk: Declare variables with a macro that expands to necessary export/import magic in the case of Win32. * gtk/testrgb.c: Use dynamically allocated buffer. Use GTimers. 1999-03-13 Raja R Harinath * configure.in (gdk_wc): Move widechar tests from `glib' to here, since those were meant only for gdki18n.h. * gdk/gdki18n.h: Include gdkconfig.h and use GDK_* instead of G_* for widechar tests. * gtk/Makefile.am (INCLUDES): Add -I../gdk for gdkconfig.h. 1999-03-13 Tor Lillqvist * configure.in acconfig.h: Check for dirent.h and pwd.h. Generate gdk/gdkconfig.h using similar mechanism as GLib's glibconfig.h. * gtk-config.in: Add @libdir/gtk+/include (where gdkconfig.h is installed) to CFLAGS. * gdk/Makefile.am: Add rules for gdkconfig.h. * gdk/gdktypes.h: Include gdkconfig.h. Define macros for windowing APIs. * gdk/gdkfontsel.c: Don't include Xlib.h, it gets included via gdkx.h anyway when compiling for X11. (gtk_font_selection_create_xlfd): Use g_strdup_printf. (In general): Merge in Win32 version. * gtk/gtkfilesel.c: Use g_get_current_dir(). Merge in Win32 version: Use G_DIR_SEPARATOR, g_path_is_absolute, no tilde expansion (if we don't have HAVE_PWD_H), allow for drive letters. UNC paths (\\server\share\...) are not handled yet. Also, included code from Craig Setera's port to Win32 (the one that uses X11, and the cygwin dll), even if it probably will be abandoned. * gtk/gtkfilesel.c: Don't append a * to the pattern to complete if the user entered one herself. This way one can complete *.h and don't get matches on any .help files, for instance. Tue Mar 9 01:01:28 1999 Tim Janik * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our font hash table, if we have a GdkFontPrivate entry for this font already, simply increment its reference count, provided by Olaf Dietsche . * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix provided by Olaf Dietsche . 1999-03-09 Federico Mena Quintero * gtk/gtkstyle.c (gtk_default_draw_handle): Significantly reduced the number of calls to gdk_draw_point() (and thus to X) by clipping the points by hand. * gtk/gtkhandlebox.c (draw_textured_frame): Actually make use of the clip parameter. (gtk_handle_box_paint): Only paint the handle if the expose area intersects it. Sun Mar 7 18:46:37 1999 ape@lrdpf.spacetec.no (Asbjorn Pettersen) * gtk/gtkmain.c (add_dll_suffix): Add this function (OS/2 ver.) Sun Mar 7 11:43:34 1999 ape@spacetec.no (Asbjorn Pettersen) * gtk/gtkthemes.c (gtk_theme_engine_get): Add OS/2 changes. Added function gen_8_3_dll_name(gchar *name, gchar *fullname). Fri Mar 5 09:12:24 1999 ape@lrdpf.spacetec.no (Asbjorn Pettersen) * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc): Open file in textmode (O_TEXT) for OS/2 version. Sun Feb 28 16:46:02 1999 Stefan Jeske * gtk/gtkspinbutton.[c,h] gtk/testgtk.c: Added two new signals to GtkSpinButton, "input" and "output", to make the output more flexible. The user has to provide a mapping between adjustment->value and the output string (and vice versa, if the spin button is editable). See testgtk for examples. Sat Feb 27 01:18:47 1999 Tim Janik * ChangeLog: moved old ChangeLog to ChangeLog.pre-1-2, and started new one. * configure.in: set gtk+ version to 1.3.0.