Commit Graph

392 Commits

Author SHA1 Message Date
Tor Lillqvist
0ad4aa57d6 New font private structures, related to fontsets.
1999-11-07  Tor Lillqvist  <tml@iki.fi>

* gdk/win32/gdkprivate.h: New font private structures, related to
fontsets.

* gdk/win32/gdkfont.c: New functions gdk_font_list_new() and
gdk_font_list_free(). On X11, will just be wrappers to
XListFonts() and XFreeFontNames(). On Win32, the code previously
in gtkfontsel.c is now here.

New function gdk_font_xlfd_create(). On X11 will get the FONT
property of the font (for GDK_FONT_FONTs), or call
XBaseFontNameListOfFontSet (for GDK_FONT_FONTSETs), on Win32
builds a XLFD style name from the font information in the LOGFONT
struct(s).

New function gdk_font_xlfd_free(), which correspondingly frees the
string returned by gdk_font_xlfd_create().

Implement fontsets on Win32. Add a function that iterates over a
wide char string and calls a callback function for each substring
of wide chars from the same Unicode subrange (and thus probably
available in the same real font).

Improve the XLFD emulation a bit.

* gdk/win32/gdkim.c (gdk_nmbstowchar_ts): Small bugfix.

* gdk/win32/gdkevents.c: Workaround for suspected bug on Win2k
Beta3, WM_IME_CHAR messages don't seem to contain the composed
multi-byte char as with the Active IMM on Win9x. Oh well, handle
WM_IME_COMPOSITION with GCS_RESULTSTR instead, use
ImmGetCompositionStringW() to get the composed Unicode chars.

* gdk/win32/gdkgc.c
* gdk/win32/gdkdraw.c: Changes needed because of the font private
struct changes.

* gdk/win32/gdk.def: Add the new functions.
1999-11-08 00:09:29 +00:00
Tor Lillqvist
f527b8909f Don't define HAVE_DIMM_H if MSC, as you have to get the Platform SDK to
1999-11-04  Tor Lillqvist  <tml@iki.fi>

* config.h.win32: Don't define HAVE_DIMM_H if MSC, as you have to
get the Platform SDK to get <dimm.h>.

* gdk/win32/gdkevents.c: More event handling fixes and
simplification. Never generate motion events with is_hint true. We
used to do that on bogus grounds earlier. Windows sends
WM_MOUSEMOVE messages on button events even if the mouse hasn't
moved, ignore these.

* gdk/win32/gdkfont.c: Load all fonts as (pretended) fontsets.

* gdk/win32/gdkglobals.c
* gdk/win32/gdkprivate.h: Define a typedef for the pointer to
the TrackMouseEvent function, and use it.

* gdk/win32/gdkwindow.c: Terminate widechar string with a zero
char before calling WideCharToMultiByte in order to get a string
for the window title.

* gdk/win32/gdkdnd.c: Some more random hacking, ifdeffed out.

* gdk/win32/gdk.def: Remove obsolete functions.

* gdk/win32/makefile.{cygwin,msc}: Remove gdkcompat.{o,obj}. Add
/nodefaultlib and /defaultlib switches.

* gtk/gtkrc.c: s/gwin_getlocale/g_win32_getlocale/.
1999-11-04 23:42:51 +00:00
Arturo Espinosa
9d8da16ee9 More docs work - Federico 1999-11-04 21:52:08 +00:00
Havoc Pennington
085a27d330 In docs, explain what a dither offset is for.
1999-11-04  Havoc Pennington  <hp@pobox.com>

* src/gdk-pixbuf-render.c (gdk_pixbuf_render_to_drawable): In
docs, explain what a dither offset is for.
(gdk_pixbuf_render_to_drawable_alpha): Explain why you would use
this function vs. gdk_pixbuf_render_to_drawable().
1999-11-04 20:16:17 +00:00
Cody Russell
8e6f4fc803 src/gdk-pixbuf-drawable.c: Changed the behavior to return NULL if part of
the requested image is offscreen, rather than clipping the image.
1999-11-03 00:37:40 +00:00
Cody Russell
07c656cdf1 src/gdk-pixbuf-drawable.c (gdk_pibxuf_from_drawable_core): Now calls
gdk_pixbuf_new_from_art_pixbuf() instead of gdk_pixbuf_new().
1999-11-02 23:59:03 +00:00
Tor Lillqvist
00c5e83871 Add new keysyms from X11R6.4 (including EuroSign).
1999-10-31  Tor Lillqvist  <tml@iki.fi>

* gdk/gdkkeysyms.h: Add new keysyms from X11R6.4 (including
EuroSign).

* gdk/gdktypes.h: Add note about wchar_t not necessarily being the
same type as GdkWChar, especially on Win32.

* gdk/win32/*.c: Change gdk_root_parent to be a pointer.

* gdk/win32/*.c: Assume all strings are UTF-8. Convert to Unicode
before passing to Windows GDI for drawing etc. Convert to the
system default codepage before passing to Windows as window
titles.

* gdk/win32/gdkprivate.h: Add more fields to GdkWindowPrivate to
support changing input locale on the fly.

* gdk/win32/gdkevent.c: Support input language (keyboard locale)
on-the-fly changes. Convert incoming characters from the current
codepage to Unicode (and then to a UTF-8 multi-byte string) based
on the current input language. Use keysym<->Unicode mapping tables
and functions borrowed from xterm sources.

Support IMEs (Input Method Editors) for CJK languages. On non-CJK
editions of Win9x, use the ActiveX-based Active IMM (Input Method
Manager) if available. IMEs and the Active IMM are available under
the disguise of Chinese, Korean and Japanese support for IE and
Outlook Express from "Windows Update" for Win98. On Win2k, the CJK
support is present in all editions (as long as you install it).

Call DispatchMessage from gdk_events_queue() (and thus
gdk_WindowProc()), instead of duplicating the code in
gdk_WindowProc().

Reworked the grab handling and propagation code, factored out
duplicated code snippets into separate functions. Other cleanups,
too.

* gdk/win32/surrogate-dimm.h: Provide just the bits we need from
the <dimm.h> header describing the Active IMM.

* gdk/win32/gdkfont.c: Pretend to support fontsets, but so far
just do the same as for "single" fonts.

* gdk/win32/gdk.c: Call CoInitialize() (COM initialisation) from
gdk_init_check, and CoUninitialize() from gdk_exit_func. Handle
the new keysyms from gdkkeysyms.h.

* gtk/gtkfontsel.c (Win32): Load the font for the preview as a
fontset, so that gtkentry uses wide characters.

* gtk/gtkrc.c (Win32): Get the locale with gwin_getlocale(). Call
GTk+'s system directory "gtk+", not "gtk".
1999-10-31 21:35:39 +00:00
Federico Mena Quintero
ece5ac121a New function to render a portion of a pixbuf to a drawable. Ignores alpha
1999-10-28  Federico Mena Quintero  <federico@redhat.com>

	* src/gdk-pixbuf-render.c (gdk_pixbuf_render_to_drawable): New
	function to render a portion of a pixbuf to a drawable.  Ignores
	alpha information and takes in a GC.
	(gdk_pixbuf_render_to_drawable_alpha): New function to render a
	portion of a pixbuf to a drawable.  It automatically creates a GC
	and a clipping mask for alpha pixbufs.
1999-10-28 23:25:02 +00:00
Jonathan Blandford
7e96137070 don't send a 0 length buffer.
1999-10-28  Jonathan Blandford  <jrb@redhat.com>

	* src/gdk-pixbuf-loader.c (gdk_pixbuf_loader_write): don't send a
	0 length buffer.
1999-10-28 19:30:11 +00:00
Arturo Espinosa
941167e6d8 Sync to desktop - Federico 1999-10-28 16:13:49 +00:00
Arturo Espinosa
53ffebed19 Sync to laptop - Federico 1999-10-28 00:34:59 +00:00
Federico Mena Quintero
0eb096334e New function to threshold a pixbuf's alpha channel into a bitmap.
1999-10-27  Federico Mena Quintero  <federico@redhat.com>

	* src/gdk-pixbuf-render.c (gdk_pixbuf_render_threshold_alpha): New
	function to threshold a pixbuf's alpha channel into a bitmap.

	* src/gdk-pixbuf.c (gdk_pixbuf_new): Fixed so that it will
	contemplate future extensions to ArtPixBuf's formats.

	* src/io-png.c (png_info_callback): Use the new API of gdk_pixbuf_new().

	* src/gdk-pixbuf.h (gdk_pixbuf_get_height): Added some convenience
	macros to fetch the ArtPixBuf's fields.
1999-10-27 23:36:44 +00:00
Tor Lillqvist
b1c28ea656 Add more font private data.
1999-10-21  Tor Lillqvist  <tml@iki.fi>

* gdk/win32/gdkprivate.h: Add more font private data.

* gdk/win32/gdkfont.c
* gdk/win32/gdkdraw.c: Revamped handling of multi-byte charset
fonts and strings. Now works much better. You still have to
have a correct font selected, though. No fontset emulation yet.
1999-10-20 22:58:37 +00:00
Federico Mena Quintero
74268afdeb Reindented to use the GNOME Indentation.
1999-10-18  Federico Mena Quintero  <federico@redhat.com>

	* src/*: Reindented to use the GNOME Indentation.
1999-10-18 19:29:45 +00:00
Tor Lillqvist
018d098240 Don't use TextOutW for GDK_FONT_FONT fonts (which is all we have for now,
1999-10-14  Tor Lillqvist  <tml@iki.fi>

* gdk/win32/gdkdraw.c (gdk_draw_text_wc): Don't use TextOutW for
GDK_FONT_FONT fonts (which is all we have for now, we don't
emulate fontsets). The X11 version uses plain XDrawString in that
case, too. The string passed to gdk_draw_text_wc seems to be in
fact (at least, when used by gtkentry and gtktext) either in a
single-byte charset, or a DBCS. Not Unicode.

This fixes the problem in gtkfontsel, where even if you had
selected a font with a non-Latin1 charset (windows-greek, for
instance), the preview still used Latin-1 glyphs.

* gdk/win32/gdkfont.c (gdk_text_width_wc): Similar change. Don't
use GetTextExtentPoint32W, use GetTextExtentPoint32A.
(gdk_font_load): Recognize the demibold etc weights, even if we
don't have the corresponding constants in the headers.
(gdk_font_hash_insert): Use same hash mechanism as in the X11
version. Should save font resources a bit, when we don't have
multiple HFONTs for the same font.

* gdk/win32/gdkprivate.h: Add the names field as in the X11
version.
1999-10-13 21:46:33 +00:00
ÉRDI Gergo
b39839820b (since noone objected on gtk-devel)
Passing 0 to XBell allows GDK to use the default X values which can be
set by the user via the xset command (e.g. to turn it off, or to
modify pitch/length/volume, etc)
1999-10-11 20:13:49 +00:00
Cody Russell
a4013d86fb Changed 'pixbuf' variable to 'art_pixbuf' in the core function.
Core function now determines whether the requested geometry is on screen
or not. If part of it is not then the request is clamped to geometry that
is on the screen.
1999-10-10 07:20:37 +00:00
Cody Russell
c512d3864c Changed the functions to return GdkPixBuf* instead of ArtPixBuf*. 1999-10-07 18:20:16 +00:00
Cody Russell
e41dd6a199 Added #include "gdk-pixbuf-drawable.h" to the top. This fixes remaining
compile error.
1999-10-07 06:22:21 +00:00
Arturo Espinosa
e29e536d20 Added files from Cody Russell 1999-10-07 05:11:27 +00:00
Tor Lillqvist
d23e3848a9 Corresponding changes as in X11 backend.
1999-10-05  Tor Lillqvist  <tml@iki.fi>

* gdk/win32/*.[ch]: Corresponding changes as in X11 backend.

* gdk/win32/gdkcompat.c: New file, actually provide an
implementation for the deprecated functions. (Just temporarily.)

* gtk/gtkfilesel.c: Fix an #ifdef syntax botch.

* gtk/makefile.{cygwin,msc}: Update gdk_headers.

* gdk/win32/gdk.def gtk/gtk.def: Updates.
1999-10-05 19:04:48 +00:00
Manish Singh
3b348f74e9 correct checking for BeOS check
* configure.in: correct checking for BeOS check

* gdk/gdktypes.h
* gtk/fnmatch.c
* gtk/gtkfilesel.c
* gtk/gtkitemfactory.c
* gtk/gtkmain.[ch]
* gtk/gtkrc.c: use G_OS_WIN32 and G_HAVE_CYGWIN #defines

-Yosh
1999-10-04 19:03:05 +00:00
Owen Taylor
a8d8872c0c Started compatibility header for renames.
Sun Oct  3 23:09:06 1999  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkcompat.h: Started compatibility header
        for renames.
1999-10-04 02:59:52 +00:00
Owen Taylor
91f7a92ecd Added a .cvsignore 1999-10-03 22:13:50 +00:00
Owen Taylor
f903bdf1a7 Fix a reference to window_private->destroyed.
Sun Oct  3 18:13:44 1999  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkwidget.c (gtk_reset_shapes_recurse):
	Fix a reference to window_private->destroyed.

	* gtk/gtkplug.c (gtk_plug_realize): Fix up a direct
	(ugly) setting of an internal GdkWindow member to use
	a _slightly_ cleaner macro.

	* gdk/gdkprivate.h: Split GdkWindowPrivate into
	GdkDrawablePrivate and GdkWindowPrivate.
	Add extra macros for accessing GDK_DRAWABLE_ components.

	* *.[ch]: Massive adjustments for the above, use the
	new macros in a lot of places.
1999-10-03 22:12:41 +00:00
Owen Taylor
344e8000a2 Move files into x11 subdirectory.
Sun Oct  3 14:26:15 1999  Owen Taylor  <otaylor@redhat.com>

	* gdk/gxid* gdk/x11/gxid*: Move files into x11 subdirectory.
1999-10-03 18:17:59 +00:00
Owen Taylor
ef088b50ab Include gdk/gdkdrawable.h with gdk/ prefix. (Pointed out by
Sun Oct  3 14:16:23 1999  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkdrawable.h: Include gdk/gdkdrawable.h with
	gdk/ prefix. (Pointed out by chak@is.tsukuba.ac.jp)

	* x11/: create x-specific subdirectory.
1999-10-03 18:09:00 +00:00
Tor Lillqvist
4c84db87d9 A few includes added for the picky MSVC compiler. 1999-10-02 22:53:45 +00:00
Tor Lillqvist
c50941c82d Change GDK_WINDOWING_WIN32 usage to #ifdef also here.
1999-10-03  Tor Lillqvist  <tml@iki.fi>

* gdk/gdkimage.h gdk/gdkpixmap.h: Change GDK_WINDOWING_WIN32 usage
to #ifdef also here.

* gdk/win32/*.h gdk/win32/*.c: Make corresponding changes as those
Owen did to the X11 backend.

* gdk/win32/gdkdraw.c (gdk_draw_pixmap): Fix it again, don't use
ScrollWindowEx when blitting inside a window, it can't be correct
in the general case.

* gdk/win32/gdkevents.c: Don't handle WM_SIZING, handling
WM_GETMINMAXINFO is easier.

* gdk/win32/gdkimage.c (gdk_image_new): Create new image with
depth equal to the bitspixel value, not the visual's depth.

* gdk/win32/gdkvisual.c (gdk_visual_init): Set the visual's depth
to 24 even if the bitspixel value is 32.

* gdk/gdkrgb.c (gdk_rgb_select_conv): After the above change, no
need to check for depth==32 when bpp==32, depth will always be 24.
1999-10-02 22:42:58 +00:00
Owen Taylor
637a466d5c Started
Fri Oct  1 18:03:36 1999  Owen Taylor  <otaylor@redhat.com>

        * docs/Changes-1.4.txt: Started

	* gtk/Makefile.am (gdk_headers): Include all the new headers.

        * gdk/*.h gdk/*.c: Split gdk.h into lots of itty-bitty little pieces.

	* gdk/gdkprivate.h gdk/gdkcc.c: Moved GdkColorContext private
	into C file.

	* gdkinput.h gdkinputprivate.h - renamed the internal gdkinput
	header to gdkinputprivate.h.

	* gdk/gdk.h gdk/gdk.c: Removed gdk_time* functions which have been
	unused since before 1.2.
1999-10-01 23:18:30 +00:00
Owen Taylor
41be586333 Changed from #if GDK_WINDOWING == GDK_WINDOWING_X11 to #ifdef
Wed Sep 29 19:55:35 1999  Owen Taylor  <otaylor@redhat.com>

	* */*.[ch]: Changed from #if GDK_WINDOWING == GDK_WINDOWING_X11
	to #ifdef GDK_WINDOWING_X11.
1999-09-29 23:47:22 +00:00
Federico Mena Quintero
95b3f3e460 [ Merges from gtk-1-2 ]
Wed Sep  8 07:13:29 1999  Tim Janik  <timj@gtk.org>

	* configure.in: fixed "GNU Make" check to pass with new make version
	3.77.95.

Fri Sep  3 16:04:41 1999  Tim Janik  <timj@gtk.org>

	* gtk-config.in (--version): don't echo @GTK_VERSION@, but
	@GTK_MAJOR_VERSION@.@GTK_MINOR_VERSION@.@GTK_MICRO_VERSION@, so the
	AM_PATH_GTK() macros don't get confused by the -pre1.

Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>

	* configure.in (REBUILD): Change check for perl5
	  to check explicitely for v >= 5.002. (5.001
	  does not work with our scripts.)

Wed Aug 25 15:45:46 1999  Tim Janik  <timj@gtk.org>

	* configure.in: evaluate $PERL for the perl version check. added
	--disable-rebuilds to give the user an option to completely disable
	any source autogeneration rules.

Mon Aug 23 23:16:14 1999  Tim Janik  <timj@gtk.org>

	* configure.in: evaluate $ac_make when checking for GNU Make.

Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>

	* docs/Makefile.am: added generation.txt.

	* Makefile.am: require automake 1.4, build README from README.in and
	INSTALL from INSTALL.in in dist-hook.

	* README.in:
	* INSTALL.in: new files to autogenerate README and INSTALL from.

	* configure.in: figure whether we have GNU Make

	* docs/generation.txt: minor additions/corrections.

Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>

	* docs/gtkfaq.sgml: FAQ Update

July 30, 1999 Elliot Lee <sopwith@redhat.com>

	* configure.in: Fix autoconf warnings about cross compilation by
	trying to provide sane defaults for AC_TRY_RUN.

Fri Jul 16 22:20:21 PDT 1999 Manish Singh <yosh@gimp.org>

	* ltconfig
	* ltmain.sh: upgrade to libtool 1.3.3

Thu Jul  8 11:30:18 1999  Owen Taylor  <otaylor@redhat.com>

	* INSTALL: Indicate that the --with-glib= configure
	time flag is unsupported.

Mon Jul  5 20:36:03 1999  Owen Taylor  <otaylor@redhat.com>

	* docs/generation.txt: Added a file that gives
	documenation about the autogeneration process for
	various autogenerated files.

Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>

	* configure.in (LIBS): Look for libgmodule in the
	right location.

Thu Jun 17 13:57:31 1999  Owen Taylor  <otaylor@redhat.com>

	* docs/gtk_tut.sgml: Removed references to
	code examples in my directory on gtk.org as
	they should all be in the tutorial now.

	* docs/gtk_tut.sgml: Added sources for dial-test
	and scribble-xinput programs that were previously
	missing.

Fri Jun  4 00:08:59 1999  Owen Taylor  <otaylor@redhat.com>

	* TODO: Added entry about menu keyboard navigation, removed
	some finished items.

Mon May 31 00:11:24 1999  Owen Taylor  <otaylor@redhat.com>

	* acinclude.m4: Standardize on func_dgettext
	not func_gettext, so that the checks for dgettext
	actually are paid attention to.

Wed May  5 10:47:54 1999  Owen Taylor  <otaylor@redhat.com>

	* configure.in (LIBS): Add $INTLLIBS into $LIBS
	directly, rather than repeating the checks for
	gettext.

	* INSTALL: Added information about gettext and
	NLS support.

	* acinclude.m4 (LIBM): Check for dgettext, not
	just gettext. This should hopefully fix things wrt
	systems with old versions of GNU gettext installed.

Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>

	* configure.in (LIBS): Look for libgmodule in the
	right location.

Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>

	* autogen.sh: add --enable-maintainer-mode

	* configure.in: set ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"

Wed Mar 24 23:03:49 CST 1999 Shawn T. Amundson <amundson@gtk.org>

	* docs/gtk-config.1.in:
	  docs/Makefile.am:
	  configure.in: gtk-config is now generated.

	* docs/gtk-config.1: Removed, now generated.

Thu Sep 23 17:59:59 1999  Tim Janik  <timj@gtk.org>

        * gdk/gdkevents.c (gdk_event_translate): grr, even if Gdk doesn't
        handle CreateNotify itself, still put out a debuging message for
        --gdk-debug=events. made the ReparentNotify debugging message more
        verbose.
        wrap xcoords translation for ConfigureEvents into an error trap,
        a destroy event may already be pending, and in that case, the
        actuall coordinate values are not at all critical.

Sat Sep 18 22:24:15 1999  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkcc.c: Stop leaking the color_hash all over
	the place. Simplify and improve the logic.

Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>

	* gdk/gdk.h, gdk/gdkcolor.c: make return types (gint or gboolean)
	for prototypes and function implementations consistent (reported
	by Tomas Ogren).

Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>

	* gdk/gdkevents.c (gdk_event_translate): tell if expose events have
	send_event set in debugging output.
	(gdk_compress_exposures): default initialize the event so we don't
	operate on bogus values (namely send_event).

Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkwindow.c: When we receive an unexpected
	destroy notify on one of our windows, don't just
	warn about it, also mark our windows as destroyed.

Sun Sep  5 08:10:53 1999  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkfont.c (gdk_font_hash_insert): Add
	  name => font and name => fontset hashes. The
	  name => fontset hash is a _big_ win since we
	  weren't previously caching fontsets at all and loading
	  fontsets is expensive. The name => font hash
	  is less of a win, but it does save us from doing
	  repeated XQueryFont calls on the same font.

	* gdk/gdkprivate.h (struct _GdkFontPrivate): Add a names
	  list so we can remove font/fontset from hash.

Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkproperty.c (gdk_atom_intern): Remove useless
	  and slightly confusing test. [ XInternAtom (,,TRUE)
	  will never return None ].

Sat Sep  4 08:39:26 1999  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkwindow.c (gdk_window_set_geometry_hints)
	  gdk/gdkwindow.c (gdk_window_set_hints):

	Don't omit setting the properties if flags == 0 -
	there may be an existing set of properties there
	already. (Very old bug. Would it be better to
	delete the property instead?)

	* gdk/gdkselection.c (gdk_selection_property_get): Fix
	  spelling error in comment.

Wed Sep  1 14:05:30 1999  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkimage.c (gdk_image_new): Use gdk_error_trap_push()
	  to avoid stomping over gdk_error_warnings.

	* gdk/gdkimage.c (gdk_image_new): compute image->bpp
	  as (bits_per_pixel + 7) / 8. This gives the same
	  result as before for multiples of 8, but actually
	  a "reasonable" value for 1bit or 4bit displays.

Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>

	* gdk/Makefile.am: minor cleanups, strip spaces on build rules for
	GNU Make.

Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>

	* gdk/gdkevents.c (gdk_event_translate): give a debugging note when
	discarding configure events.

1999-08-18  Federico Mena Quintero  <federico@redhat.com>

	* gdk/gdkpixmap.c (gdk_pixmap_unref): g_return_if_fail() the
	refcount is greater than zero.

	* gdk/gdkwindow.c (gdk_window_unref): Likewise.

	* gdk/gdkfont.c (gdk_font_unref): Likewise.

	* gdk/gdkgc.c (gdk_gc_unref): Likewise.

	* gdk/gdkdnd.c (gdk_drag_context_unref): Likewise.

Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkproperty.c (gdk_property_get): Fix assumption
	that format 32 => sizeof(item) == 4. It really is
	sizeof(long).

Tue Jun 29 23:02:42 1999  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdk.c (gdk_x_error / gdk_x_io_error): Don't
	core dump at all on X IO errors, only core dump
	if --enable-debug for X errors.

Thu Jun 24 17:06:23 1999  Tim Janik  <timj@gtk.org>

	* gdk/gdkevents.c (gdk_event_translate): removed old ""Got event for
	unknown window:" message. disabled ConfigureNotify discarding code,
	because it led to events being processed out of order.

Thu Jun 24 12:22:02 1999  Tim Janik  <timj@gtk.org>

	* gdk/gdkglobals.c: preinitialize gdk_error_code to 0.

	* gdk/gdkevents.c (gdk_event_send_client_message_to_all_recurse): since
	we export this function, supress error warnings and don't reset the
	error code in the first half of this function.

	* gdk/gdk.c (gdk_x_error): set gdk_error_code to the actuall X error
	code (instead of just -1) so gdk_error_trap_pop() reveals something
	actually informative about the error that happened.

	* gdk/*.c:
	don't rely on gdk_error_code being -1 if an error occoured, but just
	gdk_error_code != 0.

Thu Jun 24 11:50:07 1999  Tim Janik  <timj@gtk.org>

	* gdk/gdkevents.c (gdk_event_apply_filters): advance the filter list
	pointer *before* invoking the filter function, so we at least don't
	crash if a filter is removed that is currently executed. window filters
	*really* need to be made truely reentrant at some point.

Mon Jun 14 11:10:15 1999  Tim Janik  <timj@gtk.org>

	* gdk/gdkevents.c (gdk_event_translate): print the atom name in the
	PropertyNotify debug messages.

Wed May  5 22:51:06 1999  Owen Taylor  <otaylor@redhat.com>

        Patch from Sung-Hyun Nam <namsh@lgic.co.kr>

	* gdk/gdkim.c: Fix cut-and-paste errors for
	x/y and PreeditAttributes/StatusAttributes.

Wed May  5 22:24:21 1999  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkwindow.c (gdk_window_set_geometry_hints): Change
	G_MAXINT to 2^16 to alleviate overflow problems in
	various window managers.

Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkfont.c (gdk_text_measure): Fix the return value
        for fontsets.

Wed May  5 12:42:01 1999  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkwindow.c (gdk_window_set_geometry_hints):
	Initialize size_hints.x and size_hints.y because kwm
	brokenly pays attention to them.
	(Bug #1181 -  Lars Heete <hel@admin.de>)

Wed May  5 11:38:56 1999  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkrgb.c (gdk_rgb_choose_visual): Free the
	return value of gdk_list_visuals().
	(Bug #1193 - Morten Welinder <terra@diku.dk>)

Tue May  4 11:12:56 PDT 1999 Manish Singh <yosh@gimp.org>

	* gdk/gdkim.c (gdk_im_real_open): cast the return value of
	XSetIMValues to (void *) when comparing to NULL, to workaround
	the problem of some compilers barfing since older X headers don't
	have the prototype for it.

Mon Apr 19 10:11:12 1999  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkcolor.c (gdk_colormap_new): Fix memory leak
	for pseudocolor where colormap->colors was double
	allocated.

	* gdk/gdkcolor.c (gdk_colormap_alloc1): Store the
	color value in the hash table with the pixel filled
	in so when we do later hash table lookups, the color
	value is correct.

Sun May  2 15:29:45 PDT 1999 Manish Singh <yosh@gimp.org>

	* gdk/gdkdraw.c (gdk_draw_lines): check private->destroyed before
	making the call

Tue Apr 27 11:17:35 1999  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkdnd.c (xdnd_set_{targets,actions}): Fix leak
	pointed out by Morten Welinder <terra@diku.dk>.

Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>

	* gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
	  default filter from the list

Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>

	* gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
	  default filter from the list

Fri Apr 16 20:41:43 PDT 1999 Manish Singh <yosh@gimp.org>

	* gdk/gdk.c: #include "gdkkeysyms.h" for gdk_XConvertCase #defines

	* gtk/gtkfontsel.c (gtk_font_selection_create_xlfd): use
	g_strdup_printf instead of calcing the length separately

Tue Apr 13 02:49:33 1999  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkwindow.c: removed some silly #ifdef HAVE_CONFIG
	that we don't do in many other places. (Fixing duplicate
	#include of config.h)

	* gdk/gdkevents.c: include gdkinput.h _after_ config.h.
	Otherwise, #ifndef XINPUT_NONE check in the latter
	doesn't work. (Bug #546)

Sun Apr 11 14:38:03 1999  Tim Janik  <timj@gtk.org>

	* gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): check for color
	"None" case insensitive.

Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkselection.c:
	Add error traps so if the other end of the connection
	dies, we survive.

Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkdnd.c (gdk_drag_motion): Separate out the
	dest_xid field into two fields - one for the window
	to send in messages, one to indicate the last looked
	up window for caching purposes. This is needed, so
	that Leave messages get the correct window.

Mon Apr  5 13:21:30 1999  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkevents.c (gdk_event_check, gdk_event_prepare):
	Fix warning created by people mucking around
	with the gsource API.

	* gdk/gdkevents.c (gdk_io_invoke, gdk_input_add_full):
	Change mapping between GIOCondition and GdkInputCondition
	to match the way the Linux kernel does it. This should
	fix problems where closed pipes were no longer signalling
	GDK_INPUT_READ on systems with a native poll().

Mon Apr  5 17:11:57 1999  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): Check
	explicitly for the string "None" - it is in the XPM
	spec and some servers treat unknown colors in odd ways
	(like asking the user!)

Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>

	* gdk/gdkevents.c: made "->" into a "." of previous change so
	it compiles

Thu Apr  1 18:41:25 1999  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkevents.c (gdk_compress_exposures): Set the
	window field of the event structure before calling
	user filters.

1999-03-31  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* gdk/gdk.c (gdk_init_check): Use False as the last argument to
	XInternAtom() here.  This is a particularly Old And Nasty(tm) bug.

Mon Mar 29 17:31:52 1999  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkim.c (gdk_mbstowcs): Free the value of the
	intermediate text property - prevents major memory
        leak when gdk_use_mb.
	gtk-d3august-990311-0: Bj|rn Augustsson <d3august@dtek.chalmers.se>

Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>

        Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
	gtk-a-higuti-990322-[0-3]

	* gdk/gdkfont.c (gdk_text_extents_wc): Make  work when
	sizeof(wchar_t) != sizeof (GdkWChar)

	* configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
	that was causing -DX_LOCALE not	to work.

	* gtk/gtkrc.c (gtk_rc_init):
	X_LOCALE will never have LC_MESSAGES defined

	* gdk/gdk.c (gdk_init_check):
	Remove --xim-preedit and --xim-status from argv properly.

	* gdk/gdkim.c (gdk_ic_real_new): Add a gdk_flush() so
	that the client window is present on the X server
	before we pass it to the input method.

Tue Mar  9 10:46:49 1999  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkdnd.c (motif_find_drag_window): Fix bug where
	if --display is specified on the command line, than
	the drag window will not be created on that display.

Tue Mar  9 10:38:24 1999  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkproperty.c (gdk_atom_intern): Fixed bug where
	lookups with only_if_exists == TRUE were inserting
	bogus values into the atom cache.

Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>

	* gdk/gdkselection.c (gdk_selection_property_get): first XFree(t),
	then reset it to NULL.

	* gdk/gdkcolor.c:
	(gdk_colors_free):
	(gdk_colormap_free_colors): use colormap->colors[in_pixels[i]] as the
	key for g_hash_table_remove() in both functions, this prevents us
	from accessing possibly uninitialized portions of a GdkColor structure
	where we are only interested in its pixel value.

Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>

	* 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
	<olaf.dietsche+list.gtk@netcologne.de>.

1999-09-21  Tor Lillqvist  <tml@iki.fi>
1999-09-28 20:19:13 +00:00
Tor Lillqvist
de1cf2ecba Delete the gdk_DC when exiting, just to be sure.
1999-09-21  Tor Lillqvist  <tml@iki.fi>

* gdk/win32/gdk.c (gdk_exit_func): Delete the gdk_DC when exiting,
just to be sure.

* gdk/win32/gdkvisual.c (gdk_visual_init): Remove a couple of
unused variables, leftovers from the X11 version.

* gdk/win32/rc/*.cur: Better cursors provided by Bernd Herd.

* gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): Only
downcase fields on X11.
1999-09-21 19:12:50 +00:00
Tor Lillqvist
4850edb29b Add gdk_threads_mutex.
1999-09-17  Tor Lillqvist  <tml@iki.fi>

* gdk/win32/gdk.def: Add gdk_threads_mutex.

* gtk/makefile.msc: Correct path to libintl.

Thanks to Tomi Ollila and Bernd Herd: Fix some inconsistencies in
use of gint vs. int, and gint vs. gboolean in headers and
definitions. Use GtkType for the *_get_type functions. Note that
these changes preserve binary compatibility.

* gdk/gdk.c
* gdk/win32/gdk.c
* gdk/gdk.h: Fix inconsistencies: gint vs int.

* gtk/gtkmain.c
* gtk/gtkclist.c
* gtk/gtkmenufactory.c
* gtk/gtknotebook.c
* gtk/gtkwidget.c: Fix inconsistencies, also gint
vs. gboolean.

* gtk/gtkcolorsel.[ch]
* gtk/gtkcombo.[ch]
* gtk/gtkdrawingarea.[ch]
* gtk/gtkgamma.[ch]
* gtk/gtkhandlebox.[ch]
* gtk/gtkhpaned.[ch]
* gtk/gtkhruler.[ch]
* gtk/gtkplug.[ch]
* gtk/gtkpreview.[ch]
* gtk/gtkruler.[ch]
* gtk/gtksocket.[ch]
* gtk/gtkstatusbar.[ch]
* gtk/gtktoolbar.[ch]
* gtk/gtkvbbox.[ch]
* gtk/gtkvpaned.[ch]
* gtk/gtkvruler.[ch]: Always use type GtkType for the *_get_type
functions.

* gtk/gtkgamma.h: Fix bug, missing () in call of
gtk_gamma_curve_get_type() in GTK_GAMMA_CURVE_CLASS.
1999-09-17 18:17:20 +00:00
Tor Lillqvist
04f5c2a1e7 gdk/gdkcolor.c (gdk_colormap_new) Fix memory leak: colormap->colors was
1999-09-14  Tor Lillqvist  <tml@iki.fi>

* gdk/gdkcolor.c (gdk_colormap_new)
* gdk/win32/gdkcolor.c (gdk_colormap_new): Fix memory leak:
colormap->colors was allocated twice.

* gdk/win32/gdk.c: Remove some unused stuff.

* gdk/win32/gdkcolor.c (gdk_colormap_sync): Initialize all of the
colormap.

* gtk/gtkfontsel.c (gtk_font_selection_dialog_get_type)
* gtk/gtklabel.h (gtk_label_get_type)
* gtk/gtktipsquery.c (gtk_tips_query_get_type)
* gtk/gtktypeutils.h (gtk_type_name): : Use GtkType
in a couple of places, not guint.
1999-09-13 22:06:11 +00:00
Tor Lillqvist
aafd722b21 Win32: Philippe Colantoni <colanton@aris.ss.uci.edu> suggests a way to get
1999-08-27  Tor Lillqvist  <tml@iki.fi>

Win32: Philippe Colantoni <colanton@aris.ss.uci.edu> suggests a
way to get window contents continually refreshed while resizing. I
didn't like the effects myself, so it's not on by default.

* gdk/win32/gdkprivate.h: New flag variable
gdk_event_func_from_window_proc, FALSE by default.

* gdk/win32/gdk.c (gdk_init_check): Set above flag if the
environment variable GDK_EVENT_FUNC_FROM_WINDOW_PROC is set, or we
are passed --gdk-event-func-from-window-proc.

* gdk/win32/gdkevents.c (gdk_WindowProc): If above flag is set,
and we have am event_func, call it instead of enqueing the event.
1999-08-26 22:22:03 +00:00
Tor Lillqvist
cf451eb447 Fix from Simon Kelley: Set expose_count in GdkEventExposes correctly.
* gdk/win32/gdkevents.c (gdk_event_translate): Fix from Simon
Kelley: Set expose_count in GdkEventExposes correctly.

* gdk/win32/gdkwindow.c: Remove dead code (#ifdef
MULTIPLE_WINDOW_CLASSES).

* gdk/win32/gdkdraw.c (gdk_draw_line): Workaround from Hans Breuer
for bug in NT, apparently NT *does* draw the end pixel, too, in
LineTo with a one-pixel pen, so we don't have to do it ourselves.
1999-08-23 18:53:11 +00:00
Tor Lillqvist
b52072a7f8 Improvements by Hans Breuer:
* gdk/win32/gdkwindow.c (RegisterGdkClass): New function

	* gdk/win32/gdkwindow.c (gdk_window_new): Use it. Don't set the
	CS_?REDRAW flags as they cause lots of (late) redraws when "show
	window contents while dragging" is turned on. Allocate at least
	one unique class for every GdkWindowType. If support for single
	window-specific icons is ever needed (eg. Dialog specific), every
	such window should get its own class.
1999-08-21 00:41:24 +00:00
Tor Lillqvist
29b00ba8e5 Fix a cut&paste error that caused crashes.
* gdk/win32/gdkgc.c (gdk_gc_new_with_values): Fix a cut&paste
	error that caused crashes.
1999-08-19 19:10:26 +00:00
Tor Lillqvist
70372ba8bd When blitting inside one window, use ScrollWindowEx, and call
* gdk/win32/gdkdraw.c (gdk_draw_pixmap): When blitting inside one
	window, use ScrollWindowEx, and call UpdateWindow. This prevents
	bugs when for instance part of the window was outside the
	display. Thanks to Philippe Colantoni for finding and fixing this.
1999-08-17 17:47:14 +00:00
Tor Lillqvist
0455fa3029 Fix start and end radial endpoint calculations which were totally wrong.
* gdk/win32/gdkdraw.c (gdk_draw_arc): Fix start and end radial
	endpoint calculations which were totally wrong. (A little RTFMing
	helps a lot ;-)

	* gtk/makefile.{cygwin,msc}: Use libintl extracted from glibc
	from a separate directory, not from gettext, because of licensing
	issues (we want to use the LGPL version).

	* README.win32: Mention the intl from glibc vs from gettext issue.
1999-08-16 04:45:01 +00:00
Tor Lillqvist
60fbf3800b Fix a couple of bugs in the key event handling: Now AltGr chars work
* gdk/win32/gdkevents.c (gdk_event_translate): Fix a couple of bugs
	in the key event handling: Now AltGr chars work again. Also,
	now Alt-digits are passed up as well as Control-digits.
	Pass keypad plus and minus as normal plus and minus.
1999-08-12 21:44:22 +00:00
Owen Taylor
ecef1e1f2f Added a file describing some upcoming and more
distant major changes to GDK.
1999-08-09 02:11:54 +00:00
Tor Lillqvist
0775c02e08 A couple of minor fixes, not worth any ChangeLog entry (?). 1999-08-06 19:13:08 +00:00
Tor Lillqvist
6af18860b6 Edit some of the cursors a bit to look better on white background.
* gdk/win32/rc/cursor*.cur: Edit some of the cursors a bit to look
 	better on white background.
1999-07-25 22:57:20 +00:00
Tor Lillqvist
51046a9fbf README.win32 Add HAVE_WINTAB. Undefine it if bulding without the Wintab
* README.win32
	* config.h.win32: Add HAVE_WINTAB. Undefine it if bulding without
 	the Wintab SDK.

	* gdk/win32/gdkinput.c: Hack some more. Still doesn't quite work
 	OK, but getting closer. Guard against bogus tilt data from Wacom
 	ArtPad II with the 3.40 driver. Add ifdefs for HAVE_WINTAB to
 	enable easier building without Wintab.

	* gdk/win32/gdkinput.h
	* gdk/win32/gdkevents.c
	* gdk/win32/gdkwindow.c: Minor changes related related to above.

	* gdk/win32/gdkvisual.c: Simplify a lot, remove leftovers from X11
 	code. As we have just one visual on Win32, no sense to have it in a
 	table, and no need for the hash table.
1999-07-25 20:02:21 +00:00
Tor Lillqvist
45a3396064 Update gcc build instructions. Mention gettext is GPL.
* 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.
1999-07-21 19:27:25 +00:00
Tor Lillqvist
38aa9a941b Implement it. Obscure bit manipulation needed.
* 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-14 23:30:15 +00:00
Tor Lillqvist
e3c310e538 Less logging verbiage.
* 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-12 23:12:39 +00:00
Tor Lillqvist
c9b2958b6c Don't draw anything if width or height is zero. Don't print a warning if
* 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 bít 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-10 00:26:54 +00:00