Tor Lillqvist 3247b1d687 Some bug fixes and cleanup of selection and DND functionality. Now
2002-01-06  Tor Lillqvist  <tml@iki.fi>

	Some bug fixes and cleanup of selection and DND functionality. Now
	cut&paste inside an application works again. Removed attempts at
	supporting the X11 PRIMARY selection -style cut&paste, can't be
	made to work correctly anyway, and is "non-Windowsish".

	There are still things that need to be fixed regarding the
	clipboard and DND:

	- Unicode issues. We currently bluntly store UTF-8 text as
	CF_TEXT, and expect CF_TEXT to be UTF-8. This is very wrong, just
	try to copy-paste non-ASCII text between a GTK+ app and Notepad,
	for instance. Instead we should use CF_UNICODETEXT if we are on
	NT. If on 9x, when storing into the clipboard, check if the string
	can be represented in a single code page, and in that case use
	that. Also, store CF_LOCALE data in the clipboard to (indirectly)
	indicate that code page.

	Problem: How to elegantly check what code page, if any, contains
	all the Unicode characters in a string? What if there is no such
	code page, don't store anything then?

	Problem: In order to store CF_LOCALE data, how does one find a
	language that uses the code page in question? Build a reverse
	mapping table once, use that?

	- Handling of non-text data in the clipboard. Not that I think
	any relevant GTK+ application even tries to handle much else
	than text on the clipboard?

	- Need to add Archaeopteryx Software's OLE2 DND support.

	* 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.

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

	* gdk/win32/gdkproperty-win32.c

	* gdk/win32/gdkselection-win32.c: Now we don't try to support the
	X11 PRIMARY selection -style cut&paste at all, it won't fit anyway
	in the Windows cut&paste model. Only support CLIPBOARD style
	cut&paste, which matches nicely with Windows Clipboard.

	Clear up 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.

	(sel_prop_store): Now static.

	(gdk_win32_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.

	* gdkprivate-win32.h: Declare gdk_win32_dropfiles_store.

	* gdkglobals-win32.c
	* gdkmain-win32.c: gdk_selection_property is a GdkAtom, not
	ATOM. Declare also text_uri_list_atom globally, initialise.

	* gdkwindow-win32.c: Some lint cleanup (ambiguous else, unused
	variables).
2002-01-06 02:04:43 +00:00
2001-11-08 23:10:13 +00:00
2001-10-22 23:27:22 +00:00
2000-03-14 19:57:25 +00:00
2000-03-14 19:57:25 +00:00
2001-10-28 02:11:08 +00:00
2001-11-08 23:10:13 +00:00
1999-09-28 20:19:13 +00:00

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

This is GTK+ version 1.3.0. 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/

A mailing list is located at:
  gtk-list@redhat.com

To subscribe: mail -s subscribe gtk-list-request@redhat.com < /dev/null
(Send mail to gtk-list-request@redhat.com with the subject "subscribe")

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

This is the gtk-1-3-win32-production branch, intended only for
Windows. See README.win32.

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

Bugs should be reported to the GNOME bug tracking
system. (http://bugs.gnome.org). To report a problem
about GTK+, send mail to submit@bugs.gnome.org.

The subject of the mail should describe your problem.
In the body of the mail, you should first include
a "pseudo-header" that gives the package and 
version number. This should be separated by a blank
line from the actual headers.

 Package: gtk+
 Version: 1.3.0

[ Please substitute 1.3.0 with the version of GTK+ that
  you have installed ]

Then describe the bug. 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.

  (Bugs that can be reproduced within the  GIMP are almost as good 
  as bugs that can be reproduced in testgtk. If you are reporting a 
  bug found with the GIMP, please include the version number of the GIMP 
  you are using)

* 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.

An example of a bug report:

====
To: submit@bugs.gnome.org
From: yourname@your.address.org
Subject: handlebox test in testgtk is misnamed.

Package: gtk+
Version: 1.3.0

When I run gtk/testgtk, the button "handle box"
is misnamed. There are multiple handle boxes in
the demo, so it should be "handle boxes", to
be like "buttons" or "check buttons".
===

Patches
=======

Patches can be uploaded to the incoming/ directory on
ftp.gtk.org.  Please follow the instructions there, and include
your name and email address in the README file.

If the patch fixes a bug, it is usually a good idea to include
all the information described in "How to Report Bugs".
Description
GTK is a multi-platform toolkit for creating graphical user interfaces.
Readme 570 MiB
Languages
C 90.8%
CSS 7.3%
Meson 0.5%
SCSS 0.4%
GLSL 0.3%
Other 0.5%