3247b1d687c962d7fe6468bbf4ed84371406f0a0
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).
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
Languages
C
90.8%
CSS
7.3%
Meson
0.5%
SCSS
0.4%
GLSL
0.3%
Other
0.5%