GTK is a multi-platform toolkit for creating graphical user interfaces.
Go to file
Tor Lillqvist 1b7cff4755 Apply the same fixes and improvements as to the gtk-1-3-win32-production
2002-01-10  Tor Lillqvist  <tml@iki.fi>

	Apply the same fixes and improvements as to the
	gtk-1-3-win32-production branch: Bug fixes and cleanup of
	selection and DND functionality. Still doesn't work as well as the
	win32-production branch, though, but getting closer.

	After this, need to add Archaeopteryx Software's OLE2 DND support.

	* gdk/win32/gdkselection-win32.c (gdk_selection_owner_set,
	gdk_selection_send_notify, generate_selection_notify): Don't use
	SendMessage() to generate events for the same app, instead use
	gdk_event_put().

	* gdk/win32/gdkprivate-win32.h
	* gdk/win32/gdkglobals-win32.c
	* gdk/win32/gdkmain-win32.c
	* gdk/win32/gdkevents-win32.c: Thus, remove declaration, definition,
	initialisation and handling of gdk_selection_notify_msg,
	gdk_selection_request_msg and gdk_selection_clear_msg.

	* gdk/win32/gdkselection-win32.c (gdk_text_property_to_text_list,
	gdk_free_text_list, gdk_string_to_compound_text,
	gdk_free_compound_text): Implement trivially, witrh a text_list
	always having a single element, and a compound text always
	consisting of just a single (UTF-8!) string. Let's see how well
	this works.

	* gdk/win32/gdkselection-win32.c (gdk_selection_convert): Fix
	non-ASCII paste from the clipboard: Try getting the same formats
	from the Windows clipboard that gdk_property_change() puts there:
	CF_UNICODETEXT, UTF8_STRING or CF_TEXT+CF_LOCALE.

	* gdk/win32/gdkproperty-win32.c (gdk_property_change): When
	storing text on the clipboard, handle non-ASCII text
	correctly. The logic is as follows:

	If we have only ASCII characters, use CF_TEXT.

	Else, if we are on NT, use CF_UNICODETEXT.

	Else (we are on Win9x), if all the characters are present in the
	code page of some installed locale, use CF_TEXT and also set
	CF_LOCALE to that locale.

	Else (still on Win9x) store as RTF. We use a very simple RTF
	string, just the text, no fonts or other crap, with the non-ASCII
	characters as Unicode \uN keywords. Additionally, also store the
	UTF-8 string as such, under the format "UTF8_STRING", so that GDK
	can also paste from the Clipboard what it has copied there. (Thus
	no need to implement any RTF parser.)

	(find_common_locale): New function, implements the search for a
	locale for case 3 above.

	* gdk/win32/gdkglobals-win32.c: New global variables
	compound_text, text_uri_list, utf8_string, cf_rtf and
	cf_utf8_string.

	* gdk/win32/gdkim-win32.c (_gdk_ucs2_to_utf8): New function,
	converts from a wchar_t string to UTF-8.
	(_gdk_utf8_to_ucs2): Rename from _gdk_win32_nmbstowchar_ts.
	(_gdk_utf8_to_wcs): Rename from gdk_nmbstowchar_ts.

	* gdk/win32/gdkevents-win32.c (build_keypress_event): Use
	_gdk_ucs2_to_utf8().

	* gdk/win32/gdkselection-win32.c: Remove some unnecessary logging.

	* gdk/win32/gdkdnd-win32.c: Plug memory leaks, the
	gdk_drag_context_ref() was called unnecessarily in a couple of
	places, meaning drag contexts were never freed. The same memory
	leaks seem to be present in gdk/linux-fb/gdkselection-fb.c, BTW.

	(gdk_drop_reply): For WIN32_DROPFILES drops, free the temporarily
	stored file list.

	* gdk/win32/gdkselection-win32.c: Clarify the use of the
	sel_prop_table. Now it is used only for storing the GDK_SELECTION
	"properties".

	The file names dropped with WM_DROPFILES -style DND is stored
	temporarily (between the drop and the target picking them up) in a
	separate place.

	Have a separate hash table to map selection atoms to owner
	windows. This used to be quite mixed up.

	(_gdk_dropfiles_store): New function, to store the dropped file
	list for the drop target to possibly fetch, and clear it
	afterwards, from gdk_drop_reply().

	(gdk_selection_owner_get): Much simplified now.
2002-01-10 00:53:39 +00:00
contrib Added -version-info. 2001-11-26 00:42:29 +00:00
debian Argh. Missed one dumb space in rules file. Fixed. 1998-11-18 06:25:35 +00:00
demos Append EXEEXT to ../gdk-pixbuf/gdk-pixbuf-csource. 2002-01-01 22:17:09 +00:00
docs Now we test we can unselect nodes before selecting new ones. 2002-01-10 00:11:32 +00:00
examples Convert to use pkg-config rather than gtk-config. (#53375, Skip Montanaro) 2001-11-02 15:27:27 +00:00
gdk Apply the same fixes and improvements as to the gtk-1-3-win32-production 2002-01-10 00:53:39 +00:00
gdk-pixbuf Include glib-object.h, Add G_BEGIN_DECLS/END_DECLS to 2002-01-09 16:36:20 +00:00
gtk set the background of our bin window also (fixes #58957) 2002-01-10 00:32:22 +00:00
m4macros Don't try to use pkg-config when we didn't find it. (#62944, Eric Lemings) 2001-10-29 16:51:37 +00:00
modules 1.3.12, interface, binary age 0. 2001-12-23 22:59:30 +00:00
po Updated Polish translation by GNOME PL Team <translators@gnome.pl> 2002-01-07 20:54:27 +00:00
tests declared internal functions static. 2002-01-09 16:23:19 +00:00
.cvsignore shut up CVS 2001-10-30 16:51:39 +00:00
acconfig.h demos/pixbuf-demo.c M_PI -> G_PI. 2001-11-25 23:36:29 +00:00
acinclude.m4 Use autoconf 2.13/2.50 compat macro. 2001-08-27 15:17:51 +00:00
AUTHORS Incremented version to 1.2.0. -Shawn <amundson@gtk.org> 1999-02-25 21:39:14 +00:00
autogen.sh subst GLIB_GENMARSHAL, GOBJECT_QUERY, GLIB_MKENUMS variables 2001-06-07 16:40:01 +00:00
ChangeLog Apply the same fixes and improvements as to the gtk-1-3-win32-production 2002-01-10 00:53:39 +00:00
ChangeLog.pre-1-0 ChangeLog split up into ChangeLog.pre-1-0 and ChangeLog. 1998-04-17 01:07:36 +00:00
ChangeLog.pre-1-2 moved old ChangeLog to ChangeLog.pre-1-2, and started new one. 1999-02-27 00:26:30 +00:00
ChangeLog.pre-2-0 Apply the same fixes and improvements as to the gtk-1-3-win32-production 2002-01-10 00:53:39 +00:00
ChangeLog.pre-2-2 Apply the same fixes and improvements as to the gtk-1-3-win32-production 2002-01-10 00:53:39 +00:00
ChangeLog.pre-2-4 Apply the same fixes and improvements as to the gtk-1-3-win32-production 2002-01-10 00:53:39 +00:00
ChangeLog.pre-2-6 Apply the same fixes and improvements as to the gtk-1-3-win32-production 2002-01-10 00:53:39 +00:00
ChangeLog.pre-2-8 Apply the same fixes and improvements as to the gtk-1-3-win32-production 2002-01-10 00:53:39 +00:00
ChangeLog.pre-2-10 Apply the same fixes and improvements as to the gtk-1-3-win32-production 2002-01-10 00:53:39 +00:00
config.guess Merges from gtk-1-2 2000-03-14 19:57:25 +00:00
config.h.win32.in make it compile with msvc: !HAVE_UNISTD_H; no label without op, even if 2001-11-18 15:37:13 +00:00
config.sub version to 1.3.6 2001-06-14 16:34:21 +00:00
configure.in 1.3.12, interface, binary age 0. 2001-12-23 22:59:30 +00:00
COPYING Changed LGPL address for FSF in all .h and .c files 1998-04-13 02:02:47 +00:00
gdk-2.0-uninstalled.pc.in subst GLIB_GENMARSHAL, GOBJECT_QUERY, GLIB_MKENUMS variables 2001-06-07 16:40:01 +00:00
gdk-2.0.pc.in Add dependency on Atk for accessibility support. 2001-05-03 20:11:14 +00:00
gdk-pixbuf-2.0-uninstalled.pc.in subst GLIB_GENMARSHAL, GOBJECT_QUERY, GLIB_MKENUMS variables 2001-06-07 16:40:01 +00:00
gdk-pixbuf-2.0.pc.in Add dependency on Atk for accessibility support. 2001-05-03 20:11:14 +00:00
gtk-config-2.0.in Updated. 2001-04-03 18:48:46 +00:00
gtk-zip.sh.in Build separate runtime and developer packages. 2001-11-17 02:13:25 +00:00
gtk+-2.0-uninstalled.pc.in Implement a search path for GTK+ modules. 2001-09-11 20:24:40 +00:00
gtk+-2.0.pc.in Implement a search path for GTK+ modules. 2001-09-11 20:24:40 +00:00
gtk+.spec.in Mon Aug 27 2001 Jens Finke <jens@gnome.org> - Renamed package to gtk2. - 2001-08-27 14:36:50 +00:00
HACKING Patch from Hidetoshi Tajima to fix bad match error when target drawable is 2001-11-30 21:14:07 +00:00
INSTALL 1.3.12, interface, binary age 0. 2001-12-24 01:49:19 +00:00
INSTALL.in Add dependency on Atk for accessibility support. 2001-05-03 20:11:14 +00:00
makecopyright Changed LGPL address for FSF in all .h and .c files 1998-04-13 02:02:47 +00:00
Makefile.am Add a "resizable" property, to get rid of the 2001-11-19 21:18:22 +00:00
NEWS 1.3.12, interface, binary age 0. 2001-12-23 22:59:30 +00:00
NEWS.pre-1-0 ooops, fogot this on my last commit... 1998-05-07 07:45:04 +00:00
README 1.3.12, interface, binary age 0. 2001-12-24 01:49:19 +00:00
README.cvs-commits Don't put -lgthread in GLIB_LIBS, GLIB_DEPLIBS 2001-04-17 19:19:09 +00:00
README.in Don't put -lgthread in GLIB_LIBS, GLIB_DEPLIBS 2001-04-17 19:19:09 +00:00
README.nanox make it possible to configure gtk for different targets on the same 2000-06-07 16:44:29 +00:00
README.win32 Add headers. Add section about ActiveIMM. 2001-11-08 20:57:18 +00:00
sanity_check [ Merges from gtk-1-2 ] 1999-09-28 20:19:13 +00:00
TODO Spelling/grammar fixes from Martin Buchholz <martin@xemacs.org> 2000-02-29 13:15:10 +00:00
TODO.xml Another test commit TODO.xml 2000-10-29 02:44:07 +00:00

General Information
===================

This is GTK+ version 1.3.12. GTK+, which stands for the Gimp ToolKit, 
is a library for creating graphical user interfaces for the X Window 
System. It is designed to be small, efficient, and flexible. GTK+ is 
written in C with a very object-oriented approach.

The official ftp site is:
  ftp://ftp.gtk.org/pub/gtk

The official web site is:
  http://www.gtk.org/

Information about mailing lists can be found at
  http://www.gtk.org/mailinglists.html

Installation
============

See the file 'INSTALL'

How to report bugs
==================

Bugs should be reported to the GNOME bug tracking system. 
(http://bugzilla.gnome.org, product gtk+.) You will need
to create an account for yourself.
  
In the bug report please include:
  
* Information about your system. For instance:

   - What operating system and version
   - What version of X
   - For Linux, what version of the C library

  And anything else you think is relevant.

* How to reproduce the bug. 

  If you can reproduce it with the testgtk program that is built 
  in the gtk/ subdirectory, that will be most convenient.  Otherwise, 
  please include a short test program that exhibits the behavior. 
  As a last resort, you can also provide a pointer to a larger piece 
  of software that can be downloaded.

* If the bug was a crash, the exact text that was printed out
  when the crash occured.

* Further information such as stack traces may be useful, but
  is not necessary. If you do send a stack trace, and the error
  is an X error, it will be more useful if the stacktrace
  is produced running the test program with the --sync command
  line option.

Patches
=======

Patches should also be submitted to bugzilla.gnome.org. If the
patch fixes an existing bug, add the patch as an attachment
to that bug report.

Otherwise, enter a new bug report that describes the patch,
and attach the patch to that bug report.

Bug reports containing patches should include the PATCH keyword
in their keyword fields. If the patch adds to or changes the GTK
programming interface, the API keyword should also be included.
  
Patches should be in unified diff form. (The -u option to GNU
diff.)