1. 17 Dec, 2002 1 commit
    • Tor Lillqvist's avatar
      Minor cosmetics. · 7ed6dc1d
      Tor Lillqvist authored
      2002-12-17  Tor Lillqvist  <tml@iki.fi>
      
      	* gdk/win32/gdkglobals-win32.c: Minor cosmetics.
      
      	Implement two missing functions (#101369)
      
      	* gdk/win32/gdkevents-win32.c
      	(gdk_display_add_client_message_filter): Implement by calling
      	gdk_add_client_message_filter(), no separate displays on Windows,
      	at least not yet.
      
      	* gdk/win32/gdkgc-win32.c (gdk_gc_get_screen): Implement by
      	returning the only screen so far, _gdk_screen.
      7ed6dc1d
  2. 16 Nov, 2002 2 commits
    • Tor Lillqvist's avatar
      Add missing entries, needed by gtk. · 36a56b08
      Tor Lillqvist authored
      2002-11-16  Tor Lillqvist  <tml@iki.fi>
      
      	* gdk/gdk.def: Add missing entries, needed by gtk.
      
      	* gdk/win32/gdkcolor-win32.c (gdk_screen_get_system_colormap):
      	Remove g_return_val_if_fail call. This function is called from
      	gdk_display_open() with the _gdk_screen it just created, but when
      	gdk_screen_get_default() still returns NULL.
      
      	* gdk/win32/gdkdisplay-win32.c
      	* gdk/win32/gdkscreen-win32.c: Make more like the linux-fb
      	versions. For instance, don't call
      	gdk_display_manager_set_default_display() from gdk_display_open().
      
      	* gdk/win32/gdkglobals-win32.c: Move _gdk_display, _gdk_screen and
      	_gdk_parent_root here.
      
      	* gdk/win32/gdkinput.c (gdk_display_list_devices): New function.
      
      	* gdk/win32/gdkmain-win32.c (gdk_get_display): New function.
      
      	* gdk/win32/gdkvisual-win32.c (gdk_screen_get_system_visual):
      	Don't require that the screen parameter is non-NULL. It can be,
      	and the linux-fb version doesn't check either.
      
      	* gdk/win32/gdkwindow-win32.c (gdk_window_set_skip_taskbar_hint,
      	gdk_window_set_skip_pager_hint, gdk_window_fullscreen,
      	gdk_window_unfullscreen): Implement as no-ops.
      36a56b08
    • Tor Lillqvist's avatar
      Reflect recent renamings and removals of functions. · fda3e296
      Tor Lillqvist authored
      2002-11-15  Tor Lillqvist  <tml@iki.fi>
      
      	* gdk/gdk.def: Reflect recent renamings and removals of functions.
      
      	Merge from stable:
      
      	Start implementing all fill styles (i.e. tiled, stippled, and
      	opaque stippled in addition to the plain solid style) in the Win32
      	backend in an elegant and generic way. For now only did the
      	draw_rectangle() and draw_glyphs() methods. The rest will
      	follow. Previously some of the drawing methods implemented opaque
      	stippling, but not tiles or non-opaque stippling.
      
      	Seems to work fine, now the check marks show up in check buttons,
      	the stippled background and stippled text in gtk-demo's Text
      	Widget look as they should, and GtkText's line wrap arrow shows
      	correctly instead of an ugly rectangle. [This refers to the stable
      	branch, haven't actually checked HEAD.]
      
      	The implementation does do a lot of pixmap handling and blitting
      	back and forth, especially on Win9x. But performance is hopefully
      	not an issue. I don't think many applications do a lot of tiled or
      	stippled drawing.
      
      	* gdk/win32/gdkprivate-win32.h: Define a new macro, GDI_CALL, that
      	calls a GDI function and prints a warning if it failed. Also
      	API_CALL for non-GDI calls. Cleans all the the if (!BlaBla())
      	WIN32_GDI_FAILED ("BlaBla") snippets, these can now be written
      	GDI_CALL (BlaBla, ()). Declare new functions.
      
      	* gdk/win32/gdkdrawable-win32.c: Use GDI_CALL macro in lots of places.
      
      	(generic_draw): New function that handles all the blitting
      	necessary to implement tiles and stipples. A function that
      	actually draws stuff is passed as a parameter to
      	generic_draw(). If the fill style is solid, it is called
      	directly, to draw on the destination drawable. Otherwise it is
      	called to draw on a temporary mask bitmap, which then is used in
      	blitting operations. The tiles and/or stipples are rendered into
      	another temporary pixmap. If MaskBlt() is available (on NT/2k/XP),
      	it is used, otherwise a sequence of BitBlt() is used to do the
      	final composition onto the destination drawable.
      
      	(draw_tiles_lowlevel, draw_tiles): Some renaming and code
      	reorg. Use BitBlt() to blit each tile, not gdk_draw_drawable().
      
      	(rop2_to_rop3): New function, does binary->ternary rop mapping.
      
      	(blit_from_pixmap, blit_inside_window, blit_from_window): Use
      	rop2_to_rop3(). Previously used SRCCOPY always...
      
      	(draw_rectangle, gdk_win32_draw_rectangle, draw_glyphs,
      	gdk_win32_draw_glyphs): Split functionality into two functions,
      	with generic_draw() doing its magic inbetween.
      
      	* gdk/win32/gdkevents-win32.c: Remove the TrackMouseEvent code, it
      	was ifdeffed out and wouldn't have done anything even if
      	enabled. Remove the GDK_EVENT_FUNC_FROM_WINDOW_PROC code, didn't
      	have any effect any more anyway after all the changes GTK+ has
      	gone through in the last years. Remove some #if 0 code.
      
      	* gdk/win32/gdkgc-win32.c (gdk_gc_copy): Set the copy's hdc field
      	to NULL in case a GC is copied while it has a Windows DC active.
      
      	* gdk/win32/gdkprivate-win32.h
      	* gdk/win32/gdkglobals-win32.c: Remove gdk_event_func_from_window_proc.
      
      	* gdk/win32/gdkmain-win32.c: Remove -event-func-from-window-proc
      	option. If there is a PRETEND_WIN9X envvar, set windows_version as
      	if on Win9x.
      
      	* gdk/win32/gdkpixmap-win32.c (_gdk_win32_pixmap_new,
      	gdk_pixmap_new): Combine these two, _gdk_win32_pixmap_new() wasn't
      	used or exported. Make a bit more like the X11 version. Hopefully
      	I didn't break the fragile palettized display ("pseudocolor")
      	code.
      
      	* gdk/win32/gdkgc-win32.c: Various debugging output improvements.
      
      	(predraw_set_foreground): Check whether
      	tile/stipple origins are valid when calling SetBrushOrgEx().
      
      	(gdk_win32_hdc_get): Ifdef out code that tries to handle the
      	stipple by converting it into a region, and combining the clip
      	region with that. A stipple shouldn't work like that, it should
      	replicate in x and y directions. Stipples are now handled by
      	generic_draw() in gdkdrawable-win32.c.
      
      	* gdk/win32/gdkmain-win32.c: (gdk_win32_gcvalues_mask_to_string,
      	gdk_win32_rop2_to_string): New debugging functions.
      
      	(gdk_win32_print_dc): Print also DC's rop2 and text color.
      fda3e296
  3. 12 Nov, 2002 1 commit
    • Tor Lillqvist's avatar
      gdk/win32/gdkprivate-win32.h Rename all global variables and functions to · e96a41be
      Tor Lillqvist authored
      2002-11-12  Tor Lillqvist  <tml@iki.fi>
      
      	* gdk/win32/gdkprivate-win32.h
      	* gdk/win32/*.c: Rename all global variables and functions to
      	start with underscore.
      
      	Merge from stable:
      
      	More work on the Win32 backend. The cause of some scrolling
      	problems was that SetWindowPos() and ScrollWindowEx() don't blit
      	those parts of the window they think are invalid. As we didn't
      	keep Windows's update region in synch with GDK's, Windows thought
      	those areas that in fact had been updated were invalid. Calling
      	ValidateRgn() in _gdk_windowing_window_queue_antiexpose() seems to
      	be an elegant and efficient solution, removing from Windows's
      	update region those areas we are about to repaint proactively.
      
      	In some cases garbage leftover values were used for the clip
      	origin in GdkGCWin32. This showed up as odd blank areas around the
      	pixmaps included in the Text Widget in gtk-demo.
      
      	Having the clip region either as a GdkRegion or a HRGN in
      	GdkGCWin32 was unnecessary, it's better to just use a HRGN.
      
      	The translation and antiexpose queue handling in
      	gdkgeometry-win32.c seems unnecessary (and not implementable in
      	the same way as on X11 anyway, no serial numbers) on Windows,
      	ifdeffed out.
      
      	Don't (try to) do guffaw scrolling as there is no static window
      	gravity on Windows. Guffaw scrolling would be unnecessary anyway,
      	as there is the ScrollWindow() API. This improves the behaviour of
      	the Text Widget demo in gtk-demo a lot. But I have no idea how the
      	lack of static win gravity should be handled in other places where
      	the X11 code uses it. Especially _gdk_window_move_resize_child().
      
      	There is still some problem in expose handling. By moving an
      	obscuring window back and forth over testgtk's main window, for
      	instance, every now and then you typically get narrow vertical or
      	horizontal strips of pixels that haven't been properly redrawn
      	after being exposed. A fencepost error somewhere?
      
      	Otherwise, all of testgtk and gtk-demo except "big windows" now
      	seem to work pretty well.
      
      	Bug #79720 should be fixed now.
      
      	* gdk/win32/gdkcolor-win32.c (gdk_win32_color_to_string,
      	gdk_win32_print_paletteentries, gdk_win32_print_system_palette,
      	gdk_win32_print_hpalette)
      	* gdk/win32/gdkdrawable-win32.c (gdk_win32_drawable_description)
      	* gdk/win32/gdkevents-win32.c (gdk_win32_message_name):
      	Move all debugging helper functions to gdkmain-win32.c.
      
      	* gdk/win32/gdkdrawable-win32.c (_gdk_win32_draw_tiles):
      	Rewrite. Make static. Must take tile origin parameters, too.
      
      	(gdk_win32_draw_rectangle): Pass the tile/stipple origin to
      	_gdk_win32_draw_tiles(). Remove #if 0 code.
      
      	(blit_inside_window): Don't call ScrollDC(), that didn't work at
      	all like I thought. A simple call to BitBlt() is enough.
      
      	* gdk/win32/gdkevents-win32.c (gdk_event_translate) Remove unused
      	latin_locale_loaded variable.
      
      	(_gdk_win32_get_next_tick): New function. Used to make sure
      	timestamps of events are always increasing, both in events
      	generated from the window procedure and in events gotten via
      	PeekMessage(). Not sure whether this is actually useful, but it
      	seemed as a good idea.
      
      	(real_window_procedure): Don't use a local GdkEventPrivate
      	variable. Don't attempt any compression of configure or expose
      	events here, handled elsewhere.
      
      	(erase_background): Accumulate window offsets when traversing up
      	the parent chain for GDK_PARENT_RELATIVE_BG, in order to get
      	correct alignment of background pixmaps. Don't fill with
      	BLACK_BRUSH if GDK_NO_BG.
      
      	(gdk_event_get_graphics_expose): A bit more verbose debugging output.
      
      	(gdk_event_translate): Use _gdk_win32_get_next_tick(). In the
      	WM_PAINT handler, don't check for empty update rect. When we get a
      	WM_PAINT, the update region isn't empty. And if it for some
      	strange reason is, that will be handled later anyway. Call
      	GetUpdateRgn() before calling BeginPaint() and EndPaint() (which
      	empty the update region).
      
      	* gdk/win32/gdkdnd-win32.c
      	* gdk/win32/gdkinput-win32.c:
      	Use _gdk_win32_get_next_tick().
      
      	* gdk/win32/gdkfont-win32.c: Use %p to print HFONTs.
      
      	(gdk_text_size): Remove, unused.
      
      	* gdk/win32/gdkgc-win32.c:  Set clip origins to zero
      	when appropriate.
      
      	(gdk_gc_copy): Increase refcount on colormap if present.
      
      	(gdk_win32_hdc_get): Handle just hcliprgn. If we have a stipple,
      	combine it with clip region after selecting into the DC.
      
      	(_gdk_win32_bitmap_to_hrgn): Rename from _gdk_win32_bitmap_to_region.
      
      	(_gdk_win3_gdkregion_to_hrgn): New function, code snippet
      	extracted from gdk_win32_hdc_get().
      
      	* gdk/win32/gdkgeometry-win32.c: Ifdef out the translate_queue
      	handling.
      
      	(gdk_window_copy_area_scroll): Increase clipRect to avoid
      	ScrollWindowEx() not scrolling pixels it thinks are invalid.
      	Scroll also children with the ScrollWindowEx() call. No need to
      	call gdk_window_move() on the children.
      
      	(gdk_window_scroll): Don't do guffaw scrolling.
      
      	(gdk_window_compute_position): Fix typo, used win32_y where x was
      	intended.
      
      	(gdk_window_premove, gdk_window_postmove,
      	gdk_window_clip_changed): Add debugging output.
      
      	(_gdk_windowing_window_queue_antiexpose): Just call ValidateRgn()
      	on the region.
      
      	(_gdk_window_process_expose): No use for the serial number
      	parameter now. Instead of a rectangle, take a region parameter, as
      	Windows gives us one in WM_PAINT.
      
      	* gdk/win32/gdkmain-win32.c (_gdk_win32_lbstyle_to_string,
      	_gdk_win32_pstype_to_string, _gdk_win32_psstyle_to_string,
      	_gdk_win32_psendcap_to_string, _gdk_win32_psjoin_to_string,
      	_gdk_win32_rect_to_string, _gdk_win32_gdkrectangle_to_string,
      	_gdk_win32_gdkregion_to_string): New debugging functions.
      
      	(static_printf): Helper function for the above. sprintfs into a
      	static circular buffer, return value should be used "soon".
      
      	* gdk/win32/gdkwindow-win32.c (gdk_propagate_shapes): Plug memory
      	leak, free list after use.
      
      	(gdk_window_gravity_works): Remove, we know that there is no such
      	thing on Windows.
      
      	(gdk_window_set_static_bit_gravity,
      	gdk_window_set_static_win_gravity): Ditto, remove, they didn't do
      	anything anyway.
      
      	(_gdk_windowing_window_init, gdk_window_foreign_new): Call
      	_gdk_window_init_position() like in the X11 backend.
      
      	(gdk_window_reparent): Don't call the now nonexistent
      	gdk_window_set_static_win_gravity(). No idea what should be done
      	instead.
      
      	(gdk_window_get_geometry): The returned x and y should be relative
      	to parent. Used to be always zero..
      
      	(gdk_window_set_static_gravities): Return FALSE if trying to set
      	static gravity.
      
      	* gdk/win32/gdkprivate-win32.h: Drop the clip_region field from
      	GdkGCWin32. Only use the HRGN hcliprgn. Declare new
      	functions.
      
      	* gdk/win32/*.c: Use new debugging functions.
      
      	* gdk/win32/rc/gdk.rc.in: Update copyright year.
      e96a41be
  4. 26 Feb, 2002 1 commit
    • Tor Lillqvist's avatar
      Implement the functions that until now just were non-functional stubs. For · 93fa867e
      Tor Lillqvist authored
      2002-02-26  Tor Lillqvist  <tml@iki.fi>
      
      	* gdk/win32/gdkkeys-win32.c: Implement the functions that until
      	now just were non-functional stubs. For "hardware keycodes", we
      	use Windows virtual keycodes. Not scancodes, although that at
      	first might seem more low-level and a better match to X11
      	keycodes.
      
      	The Windows API is really mixed up and confused with respect to
      	scancodes and virtual keycodes. (Surprised?) Some scancodes are
      	generated by two keys on the keyboard (!), and although the
      	keyboard messages do have a flag to indicate which key the user
      	pressed, other API that take a scan code as input don't let you
      	specify which actual key you mean.
      
      	(update_keymap): Function to build a X11-like representation of
      	the keyboard. Each key has four keysyms: two levels (nonshifted
      	and shifted) and two groups (normal and with AltGr).
      
      	(gdk_keymap_get_direction): Use the codepage corresponding to the
      	thread's input locale, not the system codepage.
      
      	* gdk/win32/gdkglobals-win32.c
      	* gdk/win32/gdkmain-win32.c
      	* gdk/win32/gdkprivate-win32.h
      	* gdk/win32/gdkwindow-win32.h
      	* gdk/win32/gdkwindow-win32.c: Remove the input_locale and
      	charset_info fields from GdkWindowImplWin32. Input locale is
      	per-thread in Windows, and as GDK on Windows really only works
      	when the GDI interaction all happens in just one thread anyway,
      	this state can be global. Use globals _gdk_input_locale and
      	_gdk_input_codepage instead. Set these based on the thread's input
      	locale (keyboard layout, or which IME is active).
      
      	* gdk/win32/gdkevents-win32.c: Set the group and hardware_keycode
      	fields in GDK key events. On input locale change messages, set
      	the global state variables, and inform update_keymap() that it
      	has to rebuild the keymap.
      93fa867e
  5. 17 Feb, 2002 1 commit
    • Tor Lillqvist's avatar
      Massive changes. Too many to list here, but I'll try a summary: · bc1ec5c1
      Tor Lillqvist authored
      2002-02-17  Tor Lillqvist  <tml@iki.fi>
      
      	* gdk/win32/*.c: Massive changes. Too many to list here, but I'll
      	try a summary:
      
      	1) Unify GdkPixmap and GdkImage implementation: For each
      	GdkPixmap, allocate a GdkImage, and vice versa.
      	GdkPixmapImplWin32Data has a pointer to the GdkImage.
      	GdkImage::windowing_data is a pointer to the GdkPixmap.
      
      	This simplifies many pixmap and image related functions a lot, and
      	reduces duplicated code snippets. For instance, there is only one
      	place in gdk/win32 where CreateDIBSection() is called, in the
      	function _gdk_win32_new_pixmap(). Converting a bitmap (GdkPixmap)
      	to a Windows region is almost trivial, with the bitmap bits being
      	readily accessible in the associated GdkImage.
      
      	All blitting between GdkPixmaps, GdkWindows and GdkImages goes
      	through handled the _gdk_win32_blit() function, which calls
      	different functions to handle the cases of blitting from pixmaps,
      	inside windows (scrolling), or from windows, which all require
      	somewhat different handling.
      
      	2) Support 256-color mode. This has long been very broken, now it
      	works more or less OK. Keep the logical palette for each colormap
      	as small as possible while allocating and freeing colors. Select
      	and realize the logical palette associated with a GdkColormap into
      	a DC before drawing or blitting.
      
      	When the display is in 256-color mode, make it possible for the
      	user to override the size of the palette(s) used with either the
      	GDK_WIN32_MAX_COLORS environment variable, or a -max-colors
      	command line option. It is possible to reduce the palette size all
      	the way down to using just the 16 static colors (which causes the
      	system visual to be of type GDK_VISUAL_STATIC_COLOR. This could
      	possibly be useful if one desperately wants to avoid color
      	flashing. (Note that in order for this to work properly, an as of
      	yet not commited fix to gdkrgb.c is needed.)
      
      	Handle the palette messages. On WM_PALETTECHANGED, call
      	UpdateColors() for the given window hierarchy. Do this only if a
      	window in some other top-level window hierarchy caused the palette
      	change (realized a palette). Do this max five times in a row (an
      	arbitrarily chosen limit), though, otherwise redraw by generating
      	expose events. On WM_QUERYNEWPALETTE, cause a redraw of the whole
      	window hierarchy by generating GDK_EXPOSE events.
      
      	3) Code cleanup in general. For instance, remove the "emulated"
      	X11 structs ColormapStruct, Visual and XStandardColormap. Use the
      	new GDK_DEBUG_* flags for debugging output in the relevant source
      	files. Remove the unused colormap hash table in gdkcolor-win32.c
      
      	4) Plug some resource leaks.
      
      2002-02-14  Tor Lillqvist  <tml@iki.fi>
      
      	* gdk/win32/gdkdnd-win32.c (gdk_dropfiles_filter): Use
      	g_filename_to_uri() to actually create legal URIs in the
      	text/uri-list data.
      bc1ec5c1
  6. 10 Jan, 2002 1 commit
    • Tor Lillqvist's avatar
      Apply the same fixes and improvements as to the gtk-1-3-win32-production · 1b7cff47
      Tor Lillqvist authored
      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.
      1b7cff47
  7. 29 Oct, 2001 1 commit
    • Tor Lillqvist's avatar
      New file, hand-written wrapper for the Wintab library. · a53f14a6
      Tor Lillqvist authored
      2001-10-29  Tor Lillqvist  <tml@iki.fi>
      
      	* gdk/win32/libwntab32x.la: New file, hand-written wrapper for the
      	Wintab library.
      
      	* gdk/win32/gdkwin32.h
      	* gdk/win32/gdkprivate-win32.h: Reorganise to match corresponding
      	X11 headers better, and to enable gdkwin32.h to be installed and
      	included from applications, but not the *-win32.h headers.
      
      	* gdk/win32/*.c: Corresponding small changes, simplifications of
      	#includes.
      
      	* gdk/win32/gdkregion-win32.c: Remove.
      
      	* gdk/win32/gdkevents-win32.c (print_event): Add GDK_SETTING.
      
      	* gdk/win32/gdkfont-win32.c
      	* gdk/win32/gdkgeometry-win32.c: Remove unused variables.
      
      	* gdk/win32/gdkproperty-win32.c (gdk_atom_intern): Don't insert
      	GDK_NONE values into hash table.
      
      	Changes for autoconfiscated build on Win32, and addition of Win32
      	backend to the related files:
      
      	* gdk/win32/Makefile.am: Actually enable building the win32
      	objects here, not just list all files in EXTRA_DIST. Link in the
      	compiled resource file from rc/gdk-win32res.lo. If HAVE_WINTAB,
      	copy the Wintab library into the .libs directory.
      
      	* gdk/win32/gdkwindow-win32.c (RegisterGdkClass): Don't assume the
      	name of the GDK DLL when fetching the icon. Use the HMODULE saved
      	in gdk_dll_hinstance by DllMain.
      
      	* gdk/win32/rc/Makefile.am: Build gdk-win32res.lo using the
      	build/win32/lt-compile-resource script.
      
      	* gdk/win32/rc/gdk.rc.in
      	* gtk/gtk-win32.rc.in: Use the DLL name that libtool would use.
      a53f14a6
  8. 28 Oct, 2001 1 commit
    • Hans Breuer's avatar
      static correct-ness, underscore prefixing of library internal functions · 93f12bd6
      Hans Breuer authored
      2001-10-28  Hans Breuer  <hans@breuer.org>
      
      	* gdk/gdk.c gdk/gdkevents.c
      	  gdk/win32/gdkcolor-win32.c gdk/win32/gdkdnd-win32.c
      	  gdk/win32/gdkdrawable-win32.c gdk/win32/gdkevents-win32.c
      	  gdk/win32/gdkfont-win32.c gdk/win32/gdkgc-win32.c
      	  gdk/win32/gdkim-win32.c gdk/win32/gdkmain-win32.c
      	  gdk/win32/gdkprivate-win32.h gdk/win32/gdkproperty-win32.c
      	  gdk/win32/gdkselection-win32.c gdk/win32/gdkwin32.h
      	  gdk/win32/gdkwindow-win32.c gdk/win32/gdkwindow-win32.h :
      	static correct-ness, underscore prefixing of library internal
      	functions
      	(applied the undisputed and the win32 part. Of the latter
      	 I'm probably the one who will change it back again, if Owen
      	 decides that the Gdk*Impl types should not be private to Gdk)
      
      	* gdk/gdk.def : added the remaining exported functions
      93f12bd6
  9. 07 Sep, 2001 1 commit
    • Owen Taylor's avatar
      Make gdkx.h the only installed header from gdk/x11. All structures in · 1bbf2ac7
      Owen Taylor authored
      Fri Sep  7 11:51:44 2001  Owen Taylor  <otaylor@redhat.com>
      
            Make gdkx.h the only installed header from gdk/x11.
            All structures in gdk/x11 are opaque.
      
      	* gdk/x11/Makefile.am gdk/x11/gdkx.h gdk/x11/gdkprivate-x11.h:
      	Don't install gdk{drawable,pixmap,window}-x11.h.
      
      	* gdk/x11/{gdkcolormap-x11.c, gdkfont-x11.c, gdkx.h, gdkvisual-x11.c:
      	Move GdkColormapPrivateX11, GdkFontPrivateX GdkImagePrivateX11,
      	GdkVisualClass into C files.
      
      	* gdk/gdkpixmap-x11.[ch]: Make gdk_pixmap_impl_get_type() static.
      
      	* gdk/x11/{gdkcolor-x11.c, gdkcursor-x11.c, gdkdrawable-x11.c,
      	gdkfont-x11.c, gdkgc-x11.c, gdkx.h, gdkimage-x11,gdkvisual-x11.c}
      	Add public functions to replace previously exported direct
      	structure access.
      	gdk_x11_colormap_get_{xdisplay,xcolormap}
      	gdk_x11_cursor_get_{xdisplay,xcursor},
      	gdk_x11_drawable_get_{xdisplay,xcursor,gdk_x11_visual_get_xvisual,
      	gdk_x11_font_get_{xdisplay,xfont}, gdk_x11_image_get_{xdisplay,ximage},
      	gdk_x11_gc_get_{xdisplay,ximage}
      
      	* gdk/gdkprivate.h gdk/gdkinternals.h: Move GdkColorInfo,
      	GdkEventFilter, GdkClientFilter, GdkFontPrivate to gdkinternals.
      
            Fix a number of variables and functions that were exported
            "accidentally" from GDK.
      
      	* gdk/**.[ch]: gdk => _gdk for gdk_visual_init,
      	gdk_events_init, gdk_input_init, gdk_dnd_init, gdk_image_exit,
      	gdk_input_exit,	gdk_windowing_exit, gdk_event_func, gdk_event_data,
      	gdk_event_notify, gdk_queued_events, gdk_queued_tail,
      	gdk_event_new, gdk_events_queue, gdk_events_unqueue,
      	gdk_event_queue_find_first, gdk_event_queue_remove_link,
      	gdk_event_queue_append, gdk_event_button_generate,
      	gdk_debug_flags, gdk_default_filters, gdk_parent_root.
      
      	* gdk/x11/{gdkevents-x11.c, gdkglobals-x11.c, gdkimage-x11.c,
      	   gdkmain-x11.c, gdkprivate-x11.h, gdk/x11/gdkwindow-x11.c}:
      	gdk => _gdk for gdk_event_mask_table, gkd_nevent_masks,
      	gdk_wm_window_protocols, gdk_leader_window, gdk_xgrab_window,
      	gdk_use_xshm, gdk_input_ignore_core.
      
      	* gdk/x11/xsettings-common.h (xsettings_list_insert): Add
      	#defines to namespace functions into the private _gdk_
      	namespace.
      
      	* gdk/gdkwindow.[ch] gdk/x11/gdkx.h: Add gdk_get_default_root_window ()
      	to replace gdk_parent_root exported variable. Adjust and
      	deprecate GDK_ROOT_PARENT().
      
      	* demos/{testpixbuf-drawable.c,testpixbuf-save.c}: Fix
      	GDK_ROOT_PARENT usage, remove includes of port-specific
      	headers.
      
      	* gdk/{win32,x11,fb}/gdkinput*.[ch]: s/gdk/_gdk/ for
      	_gdk_input_gxid_host, _gdk_input_gxid_port, _gdk_input_ignore_core,
      	gdk_input_devices, _gdk_input_windows, gdk_init_input_core.
      
      	* gdk/x11/{gdkevents-x11.,c gdkglobals-x11.c, gdkmain-x11.c}
      	docs/Changes-2.0.txt: Remove gdk_wm_protocols,
      	gdk_wm_delete_window functions, gdk_wm_take_focus,
      	use gdk_atom_intern() instead.
      
      	* gdk/linux-fb/{gdkselection-fb.c, gdkmain-fb.c, gdkprivatefb.h}
      	  gdk/win32/{gdkselection-win32.c, gdkmgdkwin32.h, gdkprivate-win32.h}
      	  gdk/x11/{gdkselection-x11.c gdkx.h, gtkprivate-x11.h}
      	  gtk/gtkselection.c
              Unexport gdk_selection_property, just use
      	gdk_atom_intern ("GDK_SELECTION").
      
      	* gdk/x11/{gdkprivate-x11.h,gdkdrawable-x11h,gdkgc-x11.c,gdkx.h}:
      	Unexport gdk_drawable_impl_x11_get_type, gdk_gc_x11_get_type,
      	GDK_GC_X11 cast macros, GdkGCX11 structures, GdkCursorPrivate,
      	GdkVisualprivate, gdk_x11_gc_flush.
      
            Make a number of public exports of variables into functions
            to increase encapsulation.
      
      	* gdk/gdkinternals.h gdk/gdkinput.h gdk/gdkevents.h
      	gdk/linux-fb/gdkmouse-fb.c: gdk_core_pointer => _gdk_core_pointer,
      	move to gdkinternals.h. Add gdk_device_get_core_pointer ().
      
      	* gdk/gdkprivate.h gdk/gdkpango.c gdk/gdkinternals.h
      	docs/Changes-2.0.txt: Unexport gdk_parent_root, gdk_error_code,
      	gdk_error_warnings.
      
      	* gdk/x11/{gdkcolormap-x11.c, gdkmain-x11.c, gdkx.h}
      	  docs/Changes-2.0.txt:
      	s/gdk_screen/_gdk_screen/, add gdk_x11_get_default_screen()
      	s/gdk_root_window/_gdk_root_window/, add gdk_x11_get_default_root_xwindow()
      	Add gdk_x11_get_default_xdisplay().
      
      	* gdk/gdk.h gdk/gdk.c linux-fb/gdkfb.h linux-fb/gdkglobals-fb.c
      	win32/gdkwin32.h x11/gdkglobals-x11.c gdk/x11/gdkmain-x11.c
      	gdk/x11/gdkx.h: gdk/gdk.def: Add gdk_get/set_program_class,
      	Don't export gdk_progclass, move --class command line
      	option and handling to common portion of GDK.
      
            Miscellaneous fixes:
      
      	* gdk/x11/gdkwindow-x11.c (gdk_window_set_icon_list): Fix
      	g_return_val_if_fail that should have been g_return_if_fail.
      
      	* gdk/gdkinternals.h gdk/gdkprivate.h: Move
      	gdk_synthesize_window_state() to the semi-public gdkprivate.h.
      
      	* gtk/gtkdnd.c (_gtk_drag_source_handle_event): Remove uneeded
      	X11 dependency.
      
      	* gdk/linux-fb/gdkmain-fb.c gdk/win32/gdkmain-win32.c gdk/TODO:
      	Remove unused gdk_key_repeat_disable/restore.
      
      	* linux-fb/gdkglobals-fb.c win32/gdkglobals-win32.c
      	x11/gdkglobals-x11.c x11/gdkprivate-x11.h gdk/gdk.def:
      	Remove unused gdk_null_window_warnings variable.
      
      	* gdk/Makefile.am (DIST_SUBDIRS) nanox/*: cvs remove nanox;
      	it can be retrieved from the repository; it is too far
      	from functional to be worth having people check out;
      	it would be easier to start from scratch, I suspect.
      
      	* gdk/x11/gdkpixmap-x11.c: Fix lvalue usage of GDK_PIXMAP_XID().
      
      	* gdk/x11/gdkkeys-x11.c gdk/gdkrgb.c gdk/gdkwindow.c
      	gdk/x11/gdkpango-x11.c gdk/x11/gdkselection-x11.c:
      	Fix some accidentally global variables and unused global variables.
      
      	* gdk/x11/gdkkeys-x11.c gdk/gdkrgb.c gdk/gdkwindow.c
      	gdk/x11/gdkpango-x11.c gdk/x11/gdkselection-x11.c:
      	Fix some accidentally global variables and unused global variables.
      
            Add some space for future expansion to multihead.
      
      	* gdk/gdkdrawable.h: Add four reserved function pointers
      	for future expansion of GdkDrawableClass.
      
      	* gtk/gtkwindow.h gtk/gtkinvisible.h: Add reserved pointer
      	where we can put a GdkScreen * later.
      1bbf2ac7
  10. 26 Jul, 2000 1 commit
  11. 25 Jul, 2000 1 commit
    • Tor Lillqvist's avatar
      Include the build directory. · 5ac61d3e
      Tor Lillqvist authored
      2000-07-25  Tor Lillqvist  <tml@iki.fi>
      
      	* Makefile.am: Include the build directory.
      
      	* configure.in: Generate build/Makefile and build/win32/Makefile.
      
      	* config.h.win32: Add USE_GMODULE and USE_MMX for gdk-pixbuf.
      
      	* gdk/gdk.def
      	* gtk/gtk.def: Updates.
      
      	* gdk/makefile.mingw.in: Define GDK_COMPILATION. Link with
      	PANGOWIN32_LIBS and gdk_pixbuf.
      
      	* gdk/win32: Compiles, but no doubt doesn't work at all.
      
      	* gdk/win32/makefile.mingw.in: Define GDK_COMPILATION.
      
      	* gdk/win32/gdkinput.c: New file, temporarily.
      
      	* gdk/win32/gdkinput-win32.h: New file
      
      	* gdk/win32/gdkinputprivate.h: Remove.
      
      	* gtk/gtkrc.[ch] (gtk_win32_get_installation_directory): Renamed and
      	made externally visible.
      5ac61d3e
  12. 23 Jul, 2000 1 commit
  13. 20 Nov, 1999 1 commit
  14. 11 Nov, 1999 1 commit
  15. 08 Nov, 1999 1 commit
    • Owen Taylor's avatar
      Move all X specific code into the x11/ directory. Aside from shuffling · e9b6bfcc
      Owen Taylor authored
      Mon Nov  8 14:47:04 1999  Owen Taylor  <otaylor@redhat.com>
      
      	Move all X specific code into the x11/ directory.
      	Aside from shuffling things around, did the following:
      
             * gdk/gdkprivate.h gdk/gdk.h gdk/x11/gdkmain-x11.h: Add
      	 gdk_arg_context_* - a simple argument parsing system
      	 in the style of popt.
      
             * gdk/gdkdrawable.[ch] gdk/gdkprivate.h gdk/gdkwindow.[ch]
      	 gdk/x11/gdkprivate-x11.h:
      	 Remove X specific stuff from GdkDrawable and GdkWindowPrivate -
      	 add ->klass and ->klass_data fields. The klass_data
      	 field points to an auxilliary structure that is
      	 windowing system dependent.
      
             * gdk/gdkfont.c: Make most of the measurement functions
      	 simply wrappers around gdk_text_extents().
      
             * gdk/gdkfont.c gdk/gdkprivate.h gdk/x11/gdkfont-x11.c: Add a
      	 _gdk_font_strlen() function that hides the weird
      	 behavior in gtk+-1.[02] where a string is interpreted
      	 differently for 8-bit and 16-bit fonts.
      
             * gdk/gdkevents.c: Add a new function gdk_event_button_generate()
      	 to store common code for synthesizing double/triple
      	 press events.
      
             * gdk/gdkgc.[ch]: Virtualize in the same way as gdkdrawable.h.
      	 Make all the function that modify an existing GC
      	 simply wrappers around gdk_gc_set_values().
      
             * gdk/gdkcc.[ch]: Moved into x11/ directory in preparation
      	 for throwing out later.
      
             * gdk/gdkfont.c gdk/gdkimage.c gdk/gdkcolor.c: Change GdkFontPrivate,
      	 GdkImagePrivate and GdkColormapPrivate to have a
      	 windowing system dependent part (GdkFontPrivateX etc.)
      	 that "derives" from the system-independent part.
      
             * configure.in gdk/x11/Makefile.in gdk/x11/gdkinput*.c:
      	 Got rid of the included-source-files for XInput in
      	 favor of automake conditionals. (Which didn't exist
      	 when XInput support was originally added.)
      
             * gdk/gdkrgb.c: Remove the visual id from the debugging
      	 statements since that is X11 specific; print out
      	 type/depth info instead.
      e9b6bfcc
  16. 28 Sep, 1999 1 commit
    • Federico Mena Quintero's avatar
      [ Merges from gtk-1-2 ] · 95b3f3e4
      Federico Mena Quintero authored
      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>
      95b3f3e4
  17. 24 Feb, 1999 1 commit
  18. 16 Dec, 1998 3 commits
  19. 15 Dec, 1998 1 commit
    • Owen Taylor's avatar
      Commented out testthreads from the build process, since we won't have any · a0c84d68
      Owen Taylor authored
      Tue Dec 15 01:38:53 1998  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/Makefile.am: Commented out testthreads from
      	the build process, since we won't have any idea
      	how to create a thread.
      
      	* configure.in (LIBS): use glib-config ... gthread
      	so we always build a thread-compatible library.
      
              * gtk/gtkaccellabel.c gtk/gtkclist.c gtk/gtkcolorsel.c
      	  gtk/gtkcombo.c gtk/gtkcontainer.c gtk/gtkentry.c
      	  gtk/gtklist.c gtk/gtkmenuitem.c gtk/gtknotebook.c
      	  gtk/gtkrange.c gtk/gtkselection.c gtk/gtkspinbutton.c
      	  gtk/gtktext.c gtk/gtktooltips.c gtk/gtkwidget.c:
      
      	Add GTK_THREADS_ENTER/LEAVE pairs around timeouts
      	and idles to account for the fact that they are no
      	longer called within the GTK+ lock.
      
      	* gtk/gtkprivate.h: Added definitions for locking
      	the main GTK+ mutex.
      
      	* gtk/gtkmain.c: Re-implement the main loop
      	in terms of the GLib main loop.
      
      	* gdk/gdk.h gdk/gdkthreads.c gdk/Makefile.am: Removed threading
      	functionality, as it seems better to subsume GDK within the
      	GTK+ lock than vice-versa.
      
              * gdk/gdkevents.c: New file, containing event handling bits
      	from gdk.c.
      
      	* gdk/gdkevents.c: Implement event source for GDK
      	events.
      
      	* configure.in gdk/gdkevents.c: Removed attempts to
      	subtract base_id, which were already non-functional.
      a0c84d68
  20. 09 Dec, 1998 1 commit
    • Owen Taylor's avatar
      Destroy widgets _after_ propagating unrealize signals through the widget · 207757e7
      Owen Taylor authored
      Mon Dec  7 10:27:09 1998  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtkwidget.c: Destroy widgets _after_ propagating unrealize
      	signals through the widget heirarchy. This is unpleasant, as it
      	causes more X traffic, but is necessary, because we have to clean
      	up our Input Contexts before destroying the X windows.
      	(from matsu-981109-0.patch)
      
      Mon Dec  7 10:18:18 1998  Owen Taylor  <otaylor@redhat.com>
      
      	Applied gtk-a-higuti-981202-0 :
      	[ a-higuti@math.sci.hokudai.ac.jp (Akira Higuchi) ]
      
      	* gdk/gdk.h gdk/gdk.c
      		(gdk_mbstowcs): New function. Nearly equals to mbstowcs, but
      			implemented by a combination of Xlib functions, so
      			it works even with X_LOCALE.
      		(gdk_wcstombs): New function.
      		(g_mbtowc): Removed. No longer needed.
      
      	* gdk/gdk.h gdk/gdkfont.c gdk/gdkdraw.c:
      	        Added _wc() variants to gdk_text_width(),
      		gdk_char_width(), gdk_draw_text(),
      
      	* gdk/gdki18n.h
      		(mblen, mbtowc, wctomb, mbstowcs, wcstombs,
      		 wcslen, wcscpy, wcsncpy):
      			Removed. No longer needed.
      		(iswalnum): Removed.
      		(gdk_iswalnum): New macro.
      		(gdk_iswspace): New macro.
      	* gdk/gdktype.h
      		(GdkWChar): New typedef.
      
      	* gtk/gtkentry.h, gtk/gtkentry.c
      		There are many changes according to the change of the
      		internal representation of text, from multibyte string
      		to wide characters.
      	* gtk/gtkprivate.h, gtk/gtkmain.c
      		Removed the variable gtk_use_mb and related codes.
      	* gtk/gtkspinbutton.c
      		Some changes according to the change of type of entry->text.
      	* gtk/gtktext.h, gtk/gtktext.c
      		Changed the internal representation of text. We use GdkWchar
      		if a fontset is supplied. If not, we use guchar to save
      		memory.
      207757e7
  21. 24 Nov, 1998 1 commit
    • Jeff Garzik's avatar
      Removed DEFS "+=" mess that breaks recent automakes. INCLUDES is the · 91d99f89
      Jeff Garzik authored
      
      * gdk/Makefile.am, gtk/Makefile.am:
      
              Removed DEFS "+=" mess that breaks recent automakes.
              INCLUDES is the correct way to add to CFLAGS from Makefile.am.
      
      * gdk/gdk.c, gdk/gdkglobals.c, gdk/gdkimage.c, gdk/gdkinput.c,
      gdk/gdkpixmap.c, gdk/gdkthreads.c, gdk/gdkwindow.c,
      gdk/gxid_lib.c, gtk/fnmatch.c, gtk/gtkclist.c, gtk/gtkmain.c,
      gtk/testthreads.c:
      
              Include "config.h" instead of "../config.h".
      
              Now that DEFS works again, automake will automatically pass us
              the location of config.h in -I.
      91d99f89
  22. 25 Sep, 1998 1 commit
    • Tim Janik's avatar
      new function to get the *real* geometry position of a window, taken · c961dd18
      Tim Janik authored
      Sat Sep 25 23:33:55 1998  Tim Janik  <timj@gtk.org>
      
              * gdk/gdkwindow.c (gdk_window_get_root_origin): new function to get
              the *real* geometry position of a window, taken possible window
              manager offsets into account.
              this has been succesfully tested with fvwm, fvwm-2, bowman, olwm,
              olvwm, twm, ctwm, mlvwm, windowmaker and enlightenment.
              it does fail though for amiwm which adds windows to a pseudo root
              window, and for icewm by a small offset because it defines the
              geometry position whithin its border.
      
              * gtk/testgtk.c: added "saved position" test to figure how
              gdk_window_get_root_origin() interacts with window managers (repopup
              this window to figure ;).
      c961dd18
  23. 18 Aug, 1998 1 commit
    • Tim Janik's avatar
      use g_get_current_dir() instead of getcwd(). · 49dfa78e
      Tim Janik authored
      Tue Aug 18 17:54:40 1998  Tim Janik  <timj@gtk.org>
      
              * gtk/gtkrc.c (gtk_rc_parse_file): use g_get_current_dir() instead of
              getcwd().
      
              * gdk/gdkprivate.h:
              * gdk/gdkglobals.c:
              * gdk/gdkwindow.c:
              * gdk/gdk.c:
              * gtk/gtkwindow.c:
              * gtk/gtkitemfactory.c:
              dropped gdk_progname, use g_get_prgname()/g_set_prgname() instead.
      
              * gtk/gtkselection.c:
              * gtk/gtkpreview.c:
              * gtk/gtkobject.c:
              * gtk/gtkmain.c:
              * gtk/gtktypeutils.c: indentation fixes due to g_message() use.
      
              * gdk/gdkrgb.c: exchanged occourances of g_print with g_message.
      49dfa78e
  24. 16 May, 1998 1 commit
    • Owen Taylor's avatar
      Basic thread-awareness: · 45714833
      Owen Taylor authored
      Fri May 15 21:16:54 1998  Owen Taylor  <otaylor@gtk.org>
      
      	Basic thread-awareness:
      
      	* acconfig.h configure.in: New option --with-threads=[yes/posix/no]
      
      	* gdk/Makefile.am gdk/gdkthreads.c: Added new functions
      	gdk_threads_[init/enter/leave] for applications, plus
      	gdk_threads_wake to wake the mainloop thread out of
      	the select().
      
      	* gtk/Makefile.am: gtk/testthreads.c: Test program for threads
      
      Fri May 15 12:08:48 1998  Owen Taylor  <otaylor@gtk.org>
      
      	* gtk/testgtk.c (list_clear): Account for the fact
      	that gtk_list_clear_items is not inclusive. (Clears
      	[start, end))
      45714833
  25. 13 Apr, 1998 1 commit
  26. 10 Mar, 1998 2 commits
  27. 06 Mar, 1998 2 commits
  28. 01 Mar, 1998 2 commits
  29. 26 Feb, 1998 1 commit
  30. 19 Feb, 1998 1 commit
    • Owen Taylor's avatar
      configure.in gdk/gdk.[ch] gdk/gdkcc.c gdk/gdkglobals.c · fc7e845c
      Owen Taylor authored
      Thu Feb 19 01:11:48 1998  Owen Taylor  <owt1@cornell.edu>
      
      	* configure.in         gdk/gdk.[ch]         gdk/gdkcc.c
      	  gdk/gdkglobals.c     gdk/gdkinputcommon.h gdk/gdkprivate.h
      	  gdk/gdkvisual.c      glib/configure.in    glib/glib.h
      	  glib/gutils.c        gtk/Makefile.am      gtk/gtkmain.c
      	  gtk/gtkobject.[ch]   gtk/gtkdebug.h       docs/debugging.txt
      
      	New system for controlling debugging:
      
      	* --enable-debug=[no/yes/minimum]
      	* G_DISABLE_ASSERT and G_DISABLE_CHECKS for glib
      	* G_NO_CHECK_CASTS to control cast checking
      	* G_ENABLE_DEBUG enables run time checking which controls:
      	    Object tracing
      	    Showing events
      	    Miscellaneous g_print's in GDK
      	  And is controlled by --gdk-debug/GDK_DEBUG, --gtk-debug/GTK_DEBUG
              * debug_level and show_events are gone from GTK
      
      	See docs/debugging.txt for details.
      
      	And some fixups to the configure.in's so '-g' can be
      	overriden on the command line for --enable-debug
      fc7e845c
  31. 24 Nov, 1997 1 commit