Commit Graph

381 Commits

Author SHA1 Message Date
Tor Lillqvist
0b4d29fd6e Merge in Win32 version: Define macro GDKVAR for declaring gdk variables
* gdk/gdktypes.h: Merge in Win32 version: Define macro GDKVAR for
declaring gdk variables exported/imported from the DLL. New image
type enum, GDK_IMAGE_SHARED_PIXMAP, for gdk_imlib. New drag and
drop protocol enums, GDK_DRAG_PROTO_WIN32_DROPFILES and
GDK_DRAG_PROTO_OLE2.

* gdk/gdk.h: Merge in Win32 version: Two new functions,
gdk_pixmap_create_on_shared_image and gdk_image_bitmap_new. So far
declared only for the Win32 version, but could be in the X11
version as well. (Needed for a Xlib-less gdk_imlib.)
gdk_color_hash should have only one parameter. Declare
gdk_threads_mutex with GDKVAR.

* gdk/gdkcolor.c (gdk_color_hash): As a hash function should have
just one parameter.

* gdk/gdkimage.c (gdk_image_get): Initialize bpp correctly. Bytes
per pixel, not bits.

* gdk/gdkrgb.c: Mingle includes somewhat. (gdk_rgb_select_conv):
Fetch bpp (which means bits-per-pixel here) from another place on
Win32. Accept also depth==32 (which we might get on Win32) with
bpp==32.

* gtk/{gtkclist,gtkctree,gtkdnd,gtkditable,gtkfontsel,
gtkhandlebox,gtklayout,gtkmain,gtkplug,gtkpreview,gtkrc,
gtkselection,gtksocket,gtkstyle,gtkwidget,gtkwindow}.c:
Include gdx.h from "gdkx.h", not "gdk/gdkx.h", as gdkx.h will be
in the backend-dependent directory, not in the common gdk
directory.

* gtk/testgtk.c: Ditto. Also, don't use ../gdk patchs to gdk
headers.
1999-03-17 23:02:10 +00:00
Tor Lillqvist
d142187b38 Fixes to the win32 backend to actually be able to compile within a
directory hierarchy like this, with common gdk.h and gdktypes.h
for all backends. gdkrectangles.c and gdkrgb.c is copied before
compilation from the x11 backed (which still is in .., but
eventually will be in ..\x11).
1999-03-17 20:12:47 +00:00
Tor Lillqvist
db30076b0b Check for lstat.
* configure.in: Check for lstat.

* config.h.win32: Add non-definition of HAVE_LSTAT, just for
completeness.

* gtk/gtkrc.c: If don't HAVE_LSTAT, use stat.

* gtk/gtk.def: Removed CRs.

* gtk/makefile.msc: Correct include path to Win32 GDK version (in
..\gdk\win32).

* gdk/win32/makefile.msc: Correct upwards relative paths.
1999-03-16 20:03:50 +00:00
Tor Lillqvist
0a23dccde4 Forgot to document maketypes.awk change in ChangeLog. Added gdk.def file. 1999-03-15 00:08:22 +00:00
Tor Lillqvist
c65508d272 This might seem like a large patch, but it isn't that bad, and nothing
should break on Unix/X11.

Win32 merge and general portability stuff:

* acconfig.h,configure.in: Check for <sys/time.h>.

* gdk/win32: New directory (actually, been there for a while).

* gtk/fnmatch.c: Include <glib.h> for G_DIR_SEPARATOR, WIN32 and
NATIVE_WIN32, and use these. Always case fold on Win32. No
backslashed escapes on native Win32.

* gtk/{gtk.def,makefile.msc}: New files.

* gtk/Makefile.am: Add above new files.

* gtk/{gtkaccelgroup,gtkbindings}.c: Include <string.h>
instead of <strings.h>.

* gtk/{gtkcalendar,gtkitemfactory,gtkpreview,gtkrc}.c: Include
config.h. Protect inclusion of <sys/param.h>, <sys/time.h>, and
<unistd.h> appropriately.

* gtk/gtkdnd.c: Merge in Win32 version (which doesn't do much).
Use ABS() (from <glib.h>) instead of abs().

* gtk/gtkfilesel.c: Moved Win32-specific includes after inclusion
of gtk (and thus glib) headers, so that WIN32 will be
defined. With MS C, include <direct.h> for mkdir prototype.

* gtk/gtkitemfactory.c (gtk_item_factory_callback_marshal): Add
some casts, needed by MS C.

* gtk/{gtklayout,gtkplug}.c: Merge in Win32 version (which isn't
implemented).

* gtk/gtkmain.c: Include gdk/gdkx.h for GDK_WINDOWING. Include
<X11/Xlocale.h> only on X11 platform, otherwise <locale.h>.  Use
G_SEARCHPATH_SEPARATOR_S and g_module_build_path.

* gtk/gtkmain.h: Mark variables for export/import on Win32.

* gtk/gtkrange.c (gtk_range_motion_notify): Set mods also in case
the event is not a hint, or its window is not the slider. Needed
on Win32, at least.

* gtk/gtkrc.c: Include config.h and gdk/gdkx.h. Use <locale.h>
unless on X11. Skip \r chars, too. Use G_DIR_SEPARATOR and
G_SEARCHPATH_SEPARATOR(_S). Use g_path_is_absolute. On Win32, use
a subdirectory of the Windows directory as gtk system
configuration directory.

* gtk/gtkselection.c: No chunks on Win32.

* gtk/gtksocket.c: Not implemented on Win32.

* gtk/gtkthemes.c (gtk_theme_engine_get): Use g_module_build_path.

* gtk/makeenums.h: Include gdkprivate.h after gdk.h.

* gtk/testrgb.c: Use dynamically allocated buffer. Use GTimers.
1999-03-15 00:03:37 +00:00
Raja R Harinath
044fd2db47 Move widechar tests from `glib' to here, since those were meant only for
1999-03-13  Raja R Harinath  <harinath@cs.umn.edu>

	* configure.in (gdk_wc): Move widechar tests from `glib' to here,
	since those were meant only for gdki18n.h.
	* gdk/gdki18n.h: Include gdkconfig.h and use GDK_* instead of G_*
	for widechar tests.
	* gtk/Makefile.am (INCLUDES): Add -I../gdk for gdkconfig.h.
1999-03-14 03:27:33 +00:00
Tor Lillqvist
a3c5d33f26 Configure now generates a gdkconfig.h file, in similar way as GLib's
configure generates glibconfig.h. Currently it only defines what
windowing API GDK uses, and on Unix (where configure scripts are
used), it's always X11...

Include gdkconfig.h in gdktypes.h.

gdkconfig.h is installed in @libdir@/gtk+/include (like glibconfig.h
is in @libdir@/glib/include). (This might be debatable?) Add that to
gtk-config --cflags.

Merge in Win32 changes to gtkfontsel.c
1999-03-13 16:40:24 +00:00
Tor Lillqvist
700891684e Check for NULL parameter in gdk_font_load. Plug a memory leak in gdkim.c. 1999-03-12 20:12:58 +00:00
Tim Janik
0c178e965c first lookup the xfont ID in our font hash table, if we have a
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>.

        * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
        provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
1999-03-10 01:15:03 +00:00
Tor Lillqvist
91ed4f809f Some bug fixes and improvements to the Win32 GDK. 1999-03-07 22:25:54 +00:00
Tor Lillqvist
fd1b869a35 cur files are binary. Changed to -kb and committed the correct versions,
previously (in text mode) had been cut off at a ^Z by the Windows CVS client...
1999-03-06 08:45:07 +00:00
Tor Lillqvist
17dd9e43dc cur files are binary. cvs admin -kb and recommit. 1999-03-06 08:42:03 +00:00
Tor Lillqvist
9f3b82e178 Win32 version of GDK source files and resource files (cursors and icons). 1999-03-05 19:53:56 +00:00
CST 1999 Shawn T. Amundson
279e878bdd Added notice to look in AUTHORS and ChangeLog files for a list of changes.
Wed Feb 24 01:22:39 CST 1999 Shawn T. Amundson <amundson@gtk.org>

        * *.[ch]: Added notice to look in AUTHORS and ChangeLog files
	  for a list of changes.
1999-02-24 07:37:18 +00:00
Owen Taylor
148e766334 When sending events to windows with a proxy, set the window field in the
Mon Feb 22 19:06:30 1999  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkdnd.c (xdnd_send_*): When sending events to
	 windows with a proxy, set the window field in the
	 sent event to the original window, not to the proxy.
	 (This gives consistency with Motif, and also provides
	  information to the destination that it wouldn't have
	  otherwise).

	* gtk/gtkdnd.c: Fixed some refcount leaks for windows.

	* gdk/gdkdnd.c (xdnd_send_xevent): When sending
	 Xdnd event to the root window, set the event mask
	 to ButtonPressMask. Hopefully, this should give us
	 compatibility with kfm, if it uses the Qt style
	 of root window drops.
1999-02-23 00:43:26 +00:00
Owen Taylor
16561707f8 Always set the max width or height to at least 1, since 0 triggers bugs in
Sun Feb 21 17:14:44 1999  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkwindow.c (gdk_window_set_geometry_hints): Always
	 set the max width or height to at least 1, since 0
	 triggers bugs in some window managers. (The window
	"pops out" of the frame in fvwm)
1999-02-21 22:12:00 +00:00
Owen Taylor
039d738e3b Changed warnings from g_message() to g_warning().
Sun Feb 21 16:16:22 1999  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkscrolledwindow.c gdk/gdkfont.c gdk/gdkim.c:
	 Changed warnings from g_message() to g_warning().

	* gdk/gdkim.c (gdk_ic_destroy): Changed g_print
	 to g_message within GDK_NOTE()

	* gtk/gtkcolorsel.c  gtk/gtkhandlebox.c:
	 Removed some leftover debugging printfs.
1999-02-21 21:24:02 +00:00
Owen Taylor
25cdbd3560 Account for the fact that Xlib expects format == 32 to be a long, even on
Sun Feb 21 15:59:55 1999  Owen Taylor  <otaylor@redhat.com>

	* gdk/MwmUtil.h gdk/gdkwindow.c: Account for the
	fact that Xlib expects format == 32 to be a long,
	even on 64-bit architectures.

	[ patch from George Lebl (jirka@5z.com) ]
1999-02-21 20:55:04 +00:00
Owen Taylor
295e763b4d removed debugging statements about embedded XID's. They could have been
Sun Feb 21 14:21:46 1999  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkwindow.c: removed debugging statements
	about embedded XID's. They could have been
	moved to the new PLUGSOCKET debug key, but they weren't
	really useful anyways.

	* gdk/gdk.h: Added gdk_error_trap_push/pop to provide
	a clean interface to the gdk_error_code functionality
	of trapping X errors.

	* gtk/gtkplug.c gtk/gtksocket.c: Add error
	traps around accesses to foreign windows.
1999-02-21 19:25:53 +00:00
Owen Taylor
c9312d02a4 Supplement the existing WMNormalHints, don't overwrite them.
Wed Feb 10 10:43:50 1999  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkwindow.c (gdk_window_set_icon, gdk_window_set_group):
	 Supplement the existing WMNormalHints, don't
	 overwrite them.
1999-02-10 15:45:19 +00:00
Tim Janik
88c112cde8 asure that ->value_buf always points to an allocated area.
Wed Feb 10 08:35:36 1999  Tim Janik  <timj@gtk.org>

        * gtk/gtkcolorsel.c (gtk_color_selection_draw_value_bar): asure that
        ->value_buf always points to an allocated area.
        (gtk_color_selection_drag_end): new function hooked up to drag_end to
        destroy the drag_window.

        * gtk/gtkdnd.c: some coding style fixups.

Wed Feb 10 06:47:17 1999  Tim Janik  <timj@gtk.org>

        * gdk/gdkwindow.c: various indentation fixes.

        * gdk/gdkevents.c: coding style fixups.
        NULL initialize event_func, event_notify and event_chunk.
        (expose_predicate): made this function static.
        (gdk_event_handler_set): perform destroy notification even if no
        event_func is set.

        * gdk/gdkrectangle.c (gdk_rectangle_union): added g_return_if_fail
        statements.
1999-02-10 08:06:30 +00:00
Owen Taylor
72d5843898 If we can't find helvetica, fall back to "fixed". If we can't find
Tue Feb  9 19:11:43 1999  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkstyle.c (gtk_style_new): If we can't find
	  helvetica, fall back to "fixed". If we can't
	  find "fixed", exit cleanly.
1999-02-10 00:21:09 +00:00
Owen Taylor
eb437560d3 Adjust saved positions of children when resizing a guffaw_gravity = TRUE
Fri Feb  5 13:23:50 1999  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkwindow.c (gdk_window_move_resize): Adjust
	saved positions of children when resizing a
	guffaw_gravity = TRUE window.

	* gtk/gtkdnd.c (gtk_drag_highlight): Rework the
	 highlighting so that it is done in callbacks for
	 draw and expose. This should solve problems with
         multiple highlights for the same GdkWindow.

	* gtk/gtkdnd.c (gtk_drag_highlight): Fix bug where
	the highlight was being drawn with an incorrect
	width/height for !NO_WINDOW widgets.
1999-02-05 18:40:14 +00:00
Sebastian Wilhelmi
a700058737 s/XIM_INSTANTIATE_IS_MISSING_OR_STRANGE/XIM_INST_IS_MISSING_OR_STRANGE/
1999-01-28  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gdk/gdkim.c:
	s/XIM_INSTANTIATE_IS_MISSING_OR_STRANGE/XIM_INST_IS_MISSING_OR_STRANGE/
1999-01-28 10:05:52 +00:00
Owen Taylor
99b9ce9de6 Allow exposure compression across GravityNotify events to improve the
Wed Jan 27 22:51:23 1999  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkevents.c (expose_predicate): Allow exposure
	 compression across GravityNotify events to improve
 	 the appearance of a GTK+ window unshading.
1999-01-28 03:48:04 +00:00
Owen Taylor
b2c8fed880 [ patch from Takashi Matsuda <matsu@arch.comp.kyutech.ac.jp> ]
Wed Jan 27 21:56:07 1999  Owen Taylor  <otaylor@redhat.com>

        [ patch from Takashi Matsuda <matsu@arch.comp.kyutech.ac.jp> ]

	* acconfig.h configure.in gdk/gdkim.c: Add configure
	flag for disabling XRegisterIMInstantiateCallback(), default
	it to off for Solaris. Always try to open the
	input method immediately, and only if that fails,
	register than instantiate callback.

	* gdk/gdkentry.c: Some tweaks to make sure that we
	only get and set the IC attributes when appropriate.
1999-01-28 03:38:58 +00:00
Owen Taylor
77e99440df Change signatures for gdk_drag_begin() and gdk_drag_motion() so that the
Wed Jan 27 18:57:57 1999  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdk.h gdk/gdkdnd.c: Change signatures for
	gdk_drag_begin() and gdk_drag_motion() so that the set
	of possible actions is passed on each motion, not just at
	the beginning of the drag. We do this so that
	we can restrict the set of possible drag events
	when the user presses a modifier key during a
	drag.

	* gdk/gdkdnd.c: Send a motif Operation-changed
	message when the set of possible actions change,
	as well as when the suggested action change.

	* gdk/gdkdnd.c: Change the XdndActionList whenever
	the set of actions change.

	* gdk/gdkdnd.c: Add a filter to catch changes to
	the XdndActionList property for the source widget.

	* gtk/gtkdnd.c: Change the set of possible actions
	when the user presses Control, Shift, or Control-Shift,
	to only include the corresponding action.

	* gtk/gtkdnd.c (gtk_drag_button_release_cb):
	Disconnect button signals before we possibly
	free info structure.
1999-01-28 01:03:15 +00:00
Owen Taylor
7934cf9aea Remove TimJ's checks for already being mapped or hidden. See the ICCCM's
Tue Jan 26 14:02:50 1999  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkwindow.c (gdk_window_show/hide): Remove TimJ's
	checks for already being mapped or hidden. See
	the ICCCM's section on state changes for why this
	is a bad idea.
1999-01-27 23:49:34 +00:00
Owen Taylor
607949ed5e Separate out GLIB_LIBS and GLIB_DEPLIBS. This may fix the --with-glib
Wed Jan 27 17:05:40 1999  Owen Taylor  <otaylor@redhat.com>

	* Separate out GLIB_LIBS and GLIB_DEPLIBS. This
	may fix the --with-glib option. GLIB_LIBS are
	the libs to link example programs against, while
	GLIB_DEPLIBS are dependency libraries.
1999-01-27 22:08:46 +00:00
Owen Taylor
1472462639 Use floor() instead of truncating to integer values so we get translation
Wed Jan 20 11:19:00 1999  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtklabel.c: Use floor() instead of truncating
	to integer values so we get translation invariance.

	* gtk/gtklayout.c (gtk_layout_size_allocate): Set upper
	and lower values for adjustments in size_allocate().

	* gdk/gdkwindow.c gdk/gdk.h gdk/gdkprivate.h: New
	function gdk_window_set_static_gravities() to set
	up a window for guffaw scrolling.

	* gdk/gdkwindow.c (gdk_window_internal_destroy): Set flags
	indicating destroyed state before cleanup.

	* gtk/gtkprivate.h gtk/gtkwidget.c: Add a new
	private flag IS_OFFSCREEN. If set, this indicates
	to GTK+ that the widget is not to be considered
	viewable regardless of its map state. Queued draws
	on offscreen widgets are suppressed.

	Added new function static gtk_widget_is_offscreen() to
	check this flag on a widget and its ancestors.

	* gtk/gtklayout.[ch]: Major revisions.

	- Use gdk_window_set_static_gravities to set static gravity
	on all child windows, and thus avoid having to create a window
	for NO_WINDOW children.

	- Adjust allocations of children as we scroll them
	so queued draws work correctly.

	- Don't allocate our children directly in a put()
	or move(); just queue a resize() like every other
	widget.

	* gtk/testgtk.c: Make the arrows on the scrollbars
	work, create a larger and more demanding test.
1999-01-27 18:21:20 +00:00
Tim Janik
90c7ea0b91 assert ref_count>0.
Wed Jan 27 09:19:07 1999  Tim Janik  <timj@gtk.org>

        * gdk/gdkcolor.c (gdk_colormap_unref): assert ref_count>0.
1999-01-27 08:53:36 +00:00
Owen Taylor
8ac2b1dda6 Byteswap
Sun Jan 24 18:09:24 1999  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkdnd.c (motif_read_initiator_info): Byteswap
1999-01-24 23:07:33 +00:00
Owen Taylor
a1cc053be2 Fix reversed assertion. (Pointed out by Austin Donnelly
Sun Jan 24 12:17:39 1999  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkcolor.c (gdk_colormap_real_destroy): Fix
	 reversed assertion.
	 (Pointed out by Austin Donnelly <austin@greenend.org.uk>)

	* gtk/gtkruler.c (gtk_ruler_expose): Remove unecessary
	 and harmful call to gtk_paint_box(). We are going
	 to paint onto the backing store later anyways.
1999-01-24 17:19:21 +00:00
Owen Taylor
79fbe48242 X expects longs, not uint32 for XChangeProperty, when format == 32.
Sat Jan 23 11:15:39 1999  Owen Taylor  <otaylor@gtk.org>

	* gdk/gdkdnd.c (gdk_window_register_dnd): X expects
	 longs, not uint32 for XChangeProperty, when
	 format == 32.

	* gdk/gdkdnd.c (motif_read_initiator_info): Byte-swap
	 the MotifInitiatorInfo structure if necessary.

 	* gdk/gdkdnd.c: When extracting and constructing
         Motif DND messages, don't use data.s[], data.l[]
	 since on 64bit architectures, these won't necessarily
	 be in the same place with data.b[].

 	* gtk/testdnd.c (target_drag_drop): Return TRUE for
	 drag_drop within the drop zone.

	* gtk/gtkdnd.c (gtk_drag_dest_handle_event): Only send
	 a XmTRANSFER_FAILURE if no drop site is found, not
	 on every drop!
1999-01-23 20:32:20 +00:00
Owen Taylor
6a690c6d3f Add flags field to GtkTargetEntry table.
Fri Jan 22 19:22:39 1999  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkeditable.c: Add flags field to
	 GtkTargetEntry table.

	* gdk/gdkwindow.c (gdk_window_is_viewable): Treat foreign
	 windows as always viewable, since we can't track their
	 map-state reliably without speed problems. (Fixes
	 problem where updating didn't occur properly within
	 GtkPlug)
1999-01-23 20:31:42 +00:00
Owen Taylor
fea53a95f8 Set and read the XdndActionList property defined in the Xdnd spec. We do
Thu Jan 21 02:11:44 1999  Owen Taylor  <otaylor@redhat.com>

	* Set and read the XdndActionList property defined
	in the Xdnd spec. We do this always, not just for
	XdndActionAsk like the spec says, but if we don't
	find it, we fall back to actions = suggested_action,
	which is compatible with the language of the spec.
1999-01-21 07:08:25 +00:00
Jeff Garzik
8dc58cb2d3 Move not-null assertion before pointer de-ref.
* gdk/gdkdnd.c (gdk_drag_context_unref):
        Move not-null assertion before pointer de-ref.

        * gdk/gdkevents.c (gdk_event_queue_find_first):
        Fix infinite loop bug.  Someone should look at this further to
        make sure the events_pending tests are correct.
1999-01-21 06:24:09 +00:00
Owen Taylor
1adaa231c8 Patch from Felix Bellaby <felix@pooh.u-net.com>
Sun Jan 17 17:56:33 1999  Owen Taylor  <otaylor@redhat.com>

	Patch from Felix Bellaby <felix@pooh.u-net.com>

	* gdk/gdk.c: Use XmbSetWMProperties to set
	the class/command on the loader window so that the
	client machine is also set in the same place.
	(For X11R5 sesssion management compatibility)

	* gdk/gdk.c: (gdk_set_sm_client_id) Implementation
	of function to set the session manager client ID.

	* gdk/gdkwindow.c (gdk_window_new): Set
	WM_CLIENT_LEADER propertiy on all windows pointing
	back to GDK's leader window.
1999-01-17 22:58:59 +00:00
Tim Janik
87620764ae define GTK_DISABLE_COMPAT_H for compilation of gtk code.
Fri Jan 15 19:16:42 1999  Tim Janik  <timj@gtk.org>

        * gtk/Makefile.am: define GTK_DISABLE_COMPAT_H for compilation of gtk
        code.

        * gtk/gtkrc.c (gtk_rc_style_unref): added an assertment.

        * gtk/gtkcompat.h:
        * gtk/gtklabel.h:
        don't provide compatibility defines if GTK_DISABLE_COMPAT_H is defined.

        * gtk/gtkstyle.h:
        * gtk/gtkstyle.c: coding style, indentation and alignment fixups.
        (gtk_draw_string):
        (gtk_paint_string):
        (gtk_draw_polygon):
        (gtk_style_set_background): fixed assertments.
        (gtk_default_draw_ramp):
        (gtk_default_draw_cross):
        (gtk_default_draw_oval): issue warnings since these functions aren't
        yet implemented.

        * gdk/gdkwindow.c:
        (gdk_window_hide): only unmap window if already mapped.
        (gdk_window_show): only map window if !mapped.
        (gdk_window_internal_destroy): destroyed windows can't be mapped.

        * gtk/gtkwidget.c (gtk_widget_event): don't ignore expose events just
        because a resize is queued on a widget, we rely on the expose events
        now.
1999-01-15 18:41:43 +00:00
Owen Taylor
2e99e7713d nparams for selection_get should be 3, not 2. [ From Damon Chaplin
Fri Jan 15 10:22:21 1999  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkwidget.c (gtk_widget_class_init):
	nparams for selection_get should be 3, not 2.
	[ From Damon Chaplin <damon@karuna.freeserve.co.uk> ]

	* gtk/gtkeventbox.c (gtk_event_box_paint): Add a paint
	routine so queued redraws work inside event boxes.

Thu Jan 14 17:47:37 1999  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): Only
 	 redraw character under cursor when not displaying
	highlighted selection.

	* gdk/gdkrgb.c (gdk_rgb_init): Add in a cast to
	gpointer to make IRIX cc happy.

Thu Jan 14 12:29:50 1999  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkcheckbutton.c (gtk_check_button_draw): Restructure
	the drawing code to remove a bit of duplication -
	and to remove a call to gtk_widget_draw_focus()
	that queues a redraw when an expose occurs.

	* gtk/gtklabel.c (gtk_label_expose): Fix up handling
	  of ypadding.

	* gtk/gtknotebook.c (gtk_notebook_draw): If we redraw
	  the whole widget, also redraw the corresponding
	  areas of the child widget. (have_visible_child
	  still has some problems)

	* gdk/gdkpixmap.c: Change some g_new's to g_new0 so
	  that fields unused for pixmaps get initialzized
	  sanely.

        * gdk/gdk.h gdk/gdkwindow.c gdk/gdkprivate.h: Add new calls
	  gdk_window_is_visible() and gdk_window_is_viewable()
	  and a mapped flag to the window private structure.

        * gtk/gtkbin.c gtk/gtkclist.c gtk/gtkfixed.c gtk/gtkitem.c
	  gtk/gtklayout.c gtk/gtklist.c gtk/gtkmenushell.c
	  gtk/gtknotebook.c gtk/gtkpaned.c gtk/gtktree.c
	  gtk/gtktreeitem.c gtk/gtkviewport.c:
	Map windows after mapping children.

	* gtk/gtkwidget.c (gtk_widget_clip_rect): Handle
	rectangles completely clipped away correctly.

	* gtk/gtkwidget.c (gtk_widget_idle_draw): Don't
	call gtk_widget_draw if width or height is 0.

	* gtk/gtkwidget.c (gtk_widget_idle_draw): Don't
	rely on GTK_REDRAW_PENDING after we've cleared
	it. (This was causing draw-combining to not
	happen at all).

	* gtk/gtkbin.c gtk/gtkscale.c: Remove uneccessary calls
	to gtk_widget_queue_draw() when mapping.
1999-01-15 16:00:39 +00:00
Owen Taylor
eb7c4e4589 Do all event processing in dispatch() instead of prepare() and check().
Thu Jan 14 19:19:51 1999  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkevents.c: Do all event processing in
	dispatch() instead of prepare() and check().
1999-01-15 15:56:32 +00:00
Owen Taylor
24f6d8b887 Add a drag_data_received handler for the label.
Tue Jan 12 18:30:51 1999  Owen Taylor  <otaylor@redhat.com>

	* gtk/testdnd.c (label_drag_data_received): Add
	a drag_data_received handler for the label.

Tue Jan 12 15:01:50 1999  Owen Taylor  <otaylor@redhat.com>

        * gdk/gdkevents.c: Removed the putback_events queue,
	since it was causing problems with event ordering -
	just keep a single queue. If we need it, we can
	add priorities to events.

	* gdk/gdkevents.c: Annotate events with flags - we allocate
	a GdkEventPrivate structure in gdk_event_new() and use these
	flags to mark an event being translated as "pending" -
	I.e., not yet ready to be dequeued. So we can put
	the event on the queue and get the order of the
	events right. (This solves the double-click problems)

	* gdk/gdk.h gdk/gdkevents.h: Add gdk_event_peek() to get a copy
	of the next event on the event queue.

	* gtk/gtkmain.c (gtk_main_do_event): Use gdk_event_peek()
	to check the next event without causing event queue
	reordering.
1999-01-12 23:27:30 +00:00
Owen Taylor
95843529d1 Fixed some list-manipulation breakage.
Fri Jan  8 19:00:17 1999  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkdnd.c (gdk_window_cache_filter): Fixed
	some list-manipulation breakage.

	* gdk/gdkdnd.c (gdk_window_cache_destroy): Free
	window cache structure.

	* gtk/gtkdnd.c (gtk_drag_set_icon_pixmap): Set an
	event mask on the drag window so clicking on it
	doesn't pop up root menus, etc.

	* gtk/gtkdnd.c (gtk_drag_button_release_cb): Remove
	signal handlers at button release.
1999-01-09 00:21:37 +00:00
Owen Taylor
0a411980ef Push GdkRGB's visual and colormap around the color selection dialog so
Tue Jan  5 19:01:18 1999  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkcolorsel.c (gtk_color_selection_dialog_init): Push
	GdkRGB's visual and colormap around the color selection
	dialog so that the window and the previews have the
	same colormap. If an app adds things to the colorsel
	dialog, it will have to take care of them itself.
1999-01-06 00:41:04 +00:00
Owen Taylor
1fd7a6e491 Make gtk_propagate_event() non-static, we need it in gtkdnd.c so that the
Tue Jan  5 15:03:47 1999  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkmain.c (gtk_propagate_event): Make
	gtk_propagate_event() non-static, we need it in gtkdnd.c
	so that the button-release we synthesize gets propagated
	correctly.

	* gtk/gtkdnd.c: Use gtk_propagate_event() so
	release gets to a GtkList. But we can't really
	get this right without access to the windows
	event masks and doing X-style propagation ourselves.

Tue Jan  5 11:31:55 1999  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkselection.c (gtk_target_list_unref): Free
	memory allocated for target lists.

	* gtk/gtkdnd.c (gtk_drag_drop_finished): Release
	selections before destroying info structure.

	* gdk/gdkdnd.c gdktypes.h (gdk_drag_get_protocol): Add
	new value GDK_DRAG_PROTO_NONE, use it for non-drag
	targets, to quiet Purify.

	* gdk/gdkdnd.c (gdk_window_register_dnd): Set size
	of property properly.
1999-01-05 23:45:21 +00:00
Tim Janik
e573567b99 make this G_PRIORITY_DEFAULT.
Sat Jan  2 03:54:30 1999  Tim Janik  <timj@gtk.org>

        * gdk/gdk.h (GDK_PRIORITY_EVENTS): make this G_PRIORITY_DEFAULT.

        * gdk/gdkevents.c (gdk_events_init): add the source and the poll fd with
        a priority of GDK_PRIORITY_EVENTS.
1999-01-02 22:19:15 +00:00
Jeff Garzik
d6890b721d Removed features.h test.
* configure.in, config.h.in, gdk/gdkimage.c:
        Removed features.h test.

        * gdk/gdkdnd.c:
        Guard public functions against NULL pointer derefs.
1999-01-02 07:32:22 +00:00
Manish Singh
a6da2cf948 gdk/gdk.c gdk/gdkinputnone.h casts to get rid of const warnings
* gdk/gdk.c
* gdk/gdkinputnone.h
* gtk/gtkruler.c: casts to get rid of const warnings

* gtk/Makefile.am: fix gtktypebuiltins.h dependencies, and do a
cmp so people don't whine about rebuilds

* gtk/gtknotebook.c: use g_snprintf on translated strings, so we
don't get buffer overflows

* gtk/gtkrc.c: use g_strdup_printf instead of g_malloc/sprintf
Plug some memleaks.

-Yosh
1999-01-02 03:16:07 +00:00
Jeff Garzik
7433badf8e Check for features.h.
* configure.in, config.h.in:
        Check for features.h.

        * gdk/gdkevents.c (gdk_event_put, gdk_events_queue):
        Fixed bug in linked list append logic by replacing hand-coded
        logic with a call to g_list_append.  Bug found by tml.

        * gdk/gdkimage.c:
        'gcc -ansi -pedantic' on GNU/Linux spews warnings and errors
        in sys/ipc.h, including one specific admonishment to use
        _SVID_SOURCE or _XOPEN_SOURCE.  Manually defined the latter, and
        included features.h if present to obtain the necessary
        side-effects.

        * gtk/gtkclist.c, gtk/gtkeditable.c:
        Eliminates comma-after-final-element warnings.

        * gtk/gtkfontsel.c (gtk_font_selection_init):
        Fixed bug where an intl string was declared as _("x") in
        local var initializer.
1999-01-01 23:36:32 +00:00
Owen Taylor
a078311369 Fixed off-by-one error when computing length.
Tue Dec 29 16:06:55 1998 Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkim.c (gdk_wcstombs): Fixed off-by-one
	error when computing length.
1998-12-29 21:10:30 +00:00
Jeff Garzik
fc07d22a53 x Pull in string.h for various mem*() and str*() functions, in an
x
   Pull in string.h for various mem*() and str*() functions,
        in an autoconf-friendly way.
x
1998-12-24 19:39:00 +00:00
Jeff Garzik
553fa4309e removed unused var 64-bit cast point to const data Made const-correct.
* gdk/gdkfont.c: removed unused var
        * gdk/gdkim.c: 64-bit cast
        * gtk/gtkaccelgroup.c: point to const data
        * gtk/gtkdnd.[ch]: (gtk_drag_dest_set, gtk_drag_source_set):
          Made const-correct.
        * gtk/gtkfontsel.c: kill uninitialized var warning
        * gtk/gtkselection.[ch]: (gtk_target_list_new,
          gtk_target_list_add_table, gtk_selection_add_targets):
          Made const-correct.
        * gtk/testgtk.c: 64-bit cast
1998-12-24 17:47:02 +00:00
Owen Taylor
08b22ddebf Request XmTRANFER_FAILURE on Motif drops not within a drop zone. I don't
Tue Dec 22 17:01:43 1998  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkdnd.c (gtk_drag_dest_handle_event):
	Request XmTRANFER_FAILURE on Motif drops not within
	a drop zone. I don't know why this is necessary,
	but it is.

	* gdk/gdkdnd.c (gdk_drop_reply): Fixed error where
	Motif flag field in response was getting wrong
	values.
1998-12-22 22:00:43 +00:00
Tim Janik
af2c3bd16f export the priority at which events are processed.
Sun Dec 20 04:48:59 1998  Tim Janik  <timj@gtk.org>

        * gdk/gdk.h (GDK_PRIORITY_EVENTS): export the priority at which
        events are processed.

        * gtk/gtk[main|signal|container].[ch]: removed deprecated _interp
        variants: gtk_container_foreach_interp, gtk_idle_add_interp,
        gtk_timeout_add_interp, gtk_signal_connect_interp.
1998-12-20 05:47:28 +00:00
Owen Taylor
651e2f744f Don't add the gthread libs to GLIB_LIBS either, or -lgthread -lpthread
Sat Dec 19 17:28:30 1998  Owen Taylor  <otaylor@redhat.com>

	* configure.in: Don't add the gthread libs to
	GLIB_LIBS either, or -lgthread -lpthread will get
	pulled into all applications because of shlib deps.

	* gtk/gtkmain.h gtk/gtkwidget.c gtk/gtk gdk/gdk:
	Use GLIB's priority #define. Revise scale of
	priorities.
1998-12-19 22:27:03 +00:00
Tim Janik
8fc5066a69 removed return_if_fail (label->words != NULL) since that's a valid case
Sat Dec 19 05:37:51 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtklabel.c (gtk_label_expose): removed return_if_fail
        (label->words != NULL) since that's a valid case when the label
        is empty, or just default constructed.
        fixed indentation prototype arguments and braces in some places.
        also, pointer comparisions and initializations are done with NULL
        not 0, there's a reason GLib defines NULL.

        * gdk/gdkevents.c (gdk_events_pending): return (queued_events ||
        putback_events) so this again returns whether events are pending,
        not whether other sources like idles are pending.

        * gtk/gtkmain.c (gtk_main_iteration_do):
        (gtk_main_iteration): return whether the loop is done, not whether
        something got dispatch to restore the original behaviour (yosh: this
        fixes code like in GleSelector).
1998-12-19 05:15:15 +00:00
Tim Janik
d2dc06dae1 added gdk_flush() after g_main_run(), so we get the original behaviour
Fri Dec 18 01:32:59 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkmain.c (gtk_main): added gdk_flush() after g_main_run(), so we
        get the original behaviour back, i.e. the event queue needs to be flushed
        after a main loop has been quitted.
        (gtk_main): add/remove the current main loop to/from the main loop
        before/after init/quit functions have been exected to preserve the
        original gtk_main_quit() behaviour.

Thu Dec 17 23:48:29 1998  Tim Janik  <timj@gtk.org>

        * gdk/gdkevents.c (gdk_events_init): changed argument order in call
        to g_main_add_poll() to match recent glib changes.
1998-12-18 02:23:48 +00:00
Owen Taylor
55ce42dad1 Use setlocale (LC_ALL, NULL), not (LC_ALL, "") to query current locale.
Thu Dec 17 11:00:48 1998  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkim.c (gdk_set_locale): Use setlocale (LC_ALL, NULL),
	not (LC_ALL, "") to query current locale.
	(Pointed out by	Ullrich Hafner <hafner@informatik.uni-wuerzburg.de>)
1998-12-17 16:13:20 +00:00
Sebastian Wilhelmi
06449bebe1 Define gdk_use_mb outside USE_XIM guard. Removed unnecessary USE_XIM guard
1998-12-17  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gdk/gdkim.c: Define gdk_use_mb outside USE_XIM guard. Removed
	unnecessary USE_XIM guard inside another. Made gdk_use_mb
	static. Compile gdk_set_locale also if not USE_XIM.
1998-12-17 09:15:45 +00:00
CST 1998 Shawn T. Amundson
b0ecac9fa1 updated call to g_main_add_poll instead of g_main_poll_add
Wed Dec 16 22:38:22 CST 1998 Shawn T. Amundson <amundson@gtk.org>

        * gdk/gdkevents.c: updated call to g_main_add_poll
          instead of g_main_poll_add
1998-12-17 04:40:07 +00:00
Owen Taylor
b729f6e30a Check for broken glibc 2.0 mb functions, and avoid them.
Wed Dec 16 22:50:52 1998  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdk.c gdk/gdkim.c: Check for broken glibc 2.0
	mb functions, and avoid them.
1998-12-17 04:20:29 +00:00
Owen Taylor
45cdd91a8c Don't call XPending() if we have putback events.
Wed Dec 16 16:57:55 1998  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkevents.c (gdk_events_queue): Don't
	call XPending() if we have putback events.
1998-12-16 21:58:54 +00:00
Owen Taylor
fcfe7370d8 Move main thread lock back to GDK - we need it there for locking when
Wed Dec 16 13:06:17 1998  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdk.[ch] gtk/gtkmain.[ch] gtk/gtkprivate.h: Move main
	thread lock back to GDK - we need it there for locking
	when translating events. Rename things appropriately.

Wed Dec 16 11:44:21 1998  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkrange.c (gtk_range_expose): Fix a x/y typo.

CVS:
1998-12-16 20:09:30 +00:00
Sebastian Wilhelmi
7f01a3d324 Define gdk_xim_ic only, if USE_XIM is defined.
1998-12-16  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gdk/gdkglobals.c: Define gdk_xim_ic only, if USE_XIM is defined.
1998-12-16 14:28:05 +00:00
Tim Janik
62347c40d9 urg, fixups 1998-12-16 06:05:46 +00:00
Jeff Garzik
96501b3481 Remove --with-threads, unused GTK_THREAD_FLAGS 1998-12-16 00:07:33 +00:00
Elliot Lee
a8e00e2169 Use G_IO_ERR|G_IO_HUP|G_IO_NVAL as the mask for checking for
1998-12-15  Elliot Lee  <sopwith@bogus.cuc.ml.org>

	* gdk/gdkevents.c: Use G_IO_ERR|G_IO_HUP|G_IO_NVAL
	as the mask for checking for GDK_INPUT_EXCEPTION events.
1998-12-15 23:59:44 +00:00
Owen Taylor
a3c1e86ffa Added gdk_text_extents_wc()
Tue Dec 15 14:30:35 1998  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdk.h gdk/gdkfonts.c: Added gdk_text_extents_wc()

        * Patch from Jonathan Blanford <jrb@redhat.com> to add line wrapping
	  to label. (Based on patch from Jeff Dairiki
	  <dairiki@mac-ceope.apl.washington.edu> gtk-dairiki-971208-0)

	- Adds new function gtk_label_set_line_wrap()
	- implement GTK_JUSTIFY_FILL.
	- rename gtk_label_set to gtk_label_set_text() add
	   gtk_label_set() to gtkcompat.h.

	* Use an internal wc representation in the label, so
	  that we handle underlining and line breaks correctly
	  for multi-byte strings.
1998-12-15 20:31:26 +00:00
Owen Taylor
1bf27c357d Keep separate putback_events and queued_events queues so that we get both
Tue Dec 15 10:26:23 1998  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkevents.c: Keep separate putback_events and
	queued_events queues so that we get both FIFO and
	preemptive behavior for	gdk_event_put().
1998-12-15 15:32:49 +00:00
Owen Taylor
9a9f4591a4 Removed unused variable, fixed minor memory leak.
Tue Dec 15 09:22:44 1998  Owen Taylor  <otaylor@gtk.org>

	* gtk/gtkrc.c (gtk_rc_init): Removed unused
	variable, fixed minor memory leak.

	* gdk/gdk.c: Fixed another merge problem.
1998-12-15 14:23:46 +00:00
Owen Taylor
a2fc714adb Remove gdk_signal, which crept back in in last commit.
Tue Dec 15 08:53:38 1998  Owen Taylor  <otaylor@redhat.com>

        * gdk/gdk.c (gdk_get_display): Remove gdk_signal,
        which crept back in in last commit.

gdk/gdkevents.c: File missed on last commit.

CVS
1998-12-15 13:54:20 +00:00
Owen Taylor
a0c84d6818 Commented out testthreads from the build process, since we won't have any
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.
1998-12-15 07:32:11 +00:00
Manish Singh
58475f05a5 acconfig.h removed IPC_RMID_DEFERRED_RELEASE check
* acconfig.h
* configure.in: removed IPC_RMID_DEFERRED_RELEASE check

* gdk/gdk.c: remove signal handlers, since we do an IPC_RMID
after XShmAttach, and nobody complained

-Yosh
1998-12-15 07:08:05 +00:00
Owen Taylor
823b4d43a1 Corrections to computation of extents of text from a font set. (from
Sat Dec 12 17:18:32 1998  Owen Taylor  <otaylor@redhat.com>

        * gdk/gdkfont.c (gdk_text_extents): Corrections
        to computation of extents of text from a font set.
        (from Chi-Deok Hwang <cdhwang@sr.hei.co.kr>)
         and Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>)
1998-12-12 22:21:48 +00:00
Sebastian Wilhelmi
d3483d010e Fixed argument list and return type for non-XIM fallback.
Wed Dec  9 13:06:31 1998  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

 	* gdk/gdkim.c (gdk_ic_new,gdk_ic_{set,get}_attr): Fixed argument
 	list and return type for non-XIM fallback.

 	* configure.in: Only build XIM-support if available.
1998-12-09 18:13:52 +00:00
Owen Taylor
dfa88ef9c7 Add in missing 'flags' field to target list.
Wed Dec  9 12:23:30 1998  Owen Taylor  <otaylor@redhat.com>

	* gtk/testselection.c (main): Add in missing 'flags'
	field to target list.

	* gdk/gdkproperty.c (gdk_atom_intern): Actually
	add the atoms to the local cache.
1998-12-09 17:31:52 +00:00
Manish Singh
adc2698da1 put text after #endif in comment
* gdk/gdkprivate.h: put text after #endif in comment

* gdk/gdktypes.h: change whitespace in enum to shut up makeenums.pl

* gtk/testdnd.c: #include <string.h>

-Yosh
1998-12-09 13:01:17 +00:00
Owen Taylor
a309b7dd12 New file that holds code for dealing with X Input Methods.
(Missing from last big commit)
1998-12-09 09:19:36 +00:00
Owen Taylor
207757e70d Destroy widgets _after_ propagating unrealize signals through the widget
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.
1998-12-09 06:36:57 +00:00
Elliot Lee
73edf2ce77 Don't name function parameters after ObjC reserved words ("id" to
Don't name function parameters after ObjC reserved words ("id" to
"sm_client_id" - the function doesn't appear to be implemented anywhere so
it's no great loss).
1998-12-07 19:53:08 +00:00
Owen Taylor
d1045b6876 Use IPC_RMID _after_ doing XShmAttach. This should work everywhere, and
Mon Dec  7 13:38:06 1998  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkimage.c (gdk_image_new): Use IPC_RMID
	_after_ doing XShmAttach. This should work everywhere,
	and avoid the need for signal handlers or configure
	checks.
1998-12-07 19:03:10 +00:00
Owen Taylor
621beb8aaf New functions gtk_window_set_transient_for() - set up a "transient for"
Mon Dec  7 01:29:27 1998  Owen Taylor  <otaylor@gtk.org>

	* gtk/gtkwindow.c: New functions
        gtk_window_set_transient_for() - set up a "transient for" relationship.
	gtk_window_set_default_size() - set the initial size of a window
	   distinct from its minimum size.
	gtk_window_set_geometry_hints() - Allow the user to set
	   minimum, maximum sizes, aspect rations, and gridded geometry,
	   possibly all with respect to a subwidget of the window.
	These interfaces are still a wee bit experimental.

	* gdk/gdk.c: Added gdk_window_set_transient_for(),
	gdk_window_set_geometry_hints(), and gdk_window_set_role().

	* gdk/gdktypes.h: Added new types for find-grained specification
	of WM hints.

	* gtk/testgtk.c: Various changes to tests to test the
	above new functions.

	* gtk/gtkfontsel.c: Squash a few 'const' warnings.

	* gtk/gtktogglebutton.c (gtk_toggle_button_realize): Restored
	call to gtk_style_set_background() to prevent egregious
	flashing to black.
1998-12-07 06:37:27 +00:00
Manish Singh
7078402341 configure.in gdk/Makefile.am Put -DFOO stuff into Makefile.am INCLUDES.
* configure.in
* gdk/Makefile.am
* gtk/Makefile.am: Put -DFOO stuff into Makefile.am INCLUDES.
Separate vars for each, for granularity.

-Yosh
1998-12-01 10:42:01 +00:00
Elliot Lee
060978e069 I submitted this patch twice to gtk-devel-list, and received no comments,
I submitted this patch twice to gtk-devel-list, and received no comments, so
am committing it.  Although not exhaustively tested, I have been using this
gtk+ for a week w/o problems, and I did read the code to ensure that nothing
ever writes to these data structures. If by chance people encounter SEGV's in
gtk+ code that is setting values in global data structures, this patch could
be a possible culprit.

1998-11-30  Elliot Lee  <sopwith@cuc.ml.org>

	* {gdk,gtk}/*.c: Make read-only data structures "static const" to
	allow them to be shared, mainly including (but not limited to) the
	GtkTypeInfo structures for each class.

	* gtk/gtkfilesel.c: Add /net to the "leave me alone" directory listing.
1998-11-30 19:07:15 +00:00
Raph Levien
36d80dc374 Fixed gdk_input_devices being NULL when compiled with --xinput=xfree but
no XInput extension in X server.
1998-11-27 19:44:01 +00:00
Owen Taylor
1bb0d4c0f3 Fixed up copyright message.
Tue Nov 24 11:11:05 1998  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtklayout.[ch]: Fixed up copyright message.

	* gdk/gdkrgb.c (DM): Make the dither matrix constant
	so it can be shared.

	* gtk/gtkdnd.c: Make cursor bitmaps const.

	* gdk/gdk.h gdk/gdkpixmap.c: Added const to
	gdk_pixmap/bitmap_create_from_data.
1998-11-24 16:15:46 +00:00
Jeff Garzik
91d99f8903 Removed DEFS "+=" mess that breaks recent automakes. INCLUDES is the
* 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.
1998-11-24 05:58:53 +00:00
Owen Taylor
d88375e9c3 Fixed so it at least works with window managers other than Enlightenment,
Sat Nov 21 18:53:13 1998  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkwindow.c (gdk_window_get_deskrelative_origin):
	Fixed so it at least works with window managers other
	than Enlightenment, though it probably needs to be
	removed altogether.
1998-11-22 00:06:57 +00:00
Owen Taylor
8715d1c1b3 Accept drops that are sent to a toplevel but are not within the toplevels
Wed Nov 18 11:54:57 1998  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkdnd.c (gtk_drag_find_widget): Accept drops
	that are sent to a toplevel but are not within the
	toplevels bounds.

	* gdk/gdkdnd.c gdk/gdk.h: Added support for a
	XdndProxy atom which proxies the drag to another window.
1998-11-18 17:00:48 +00:00
Carsten Haitzler
6343181e2b Tue Nov 17 1998 The Rasterman <raster@redhat.com> Added
Tue Nov 17 1998 The Rasterman <raster@redhat.com>
        * gdk/gdk.h, gdk/gdkwindow.c: Added gdk_window_get_deskrelative_origin
          function to correctly determine gdk window position relative to
	  its "root window" - contains check for an Enlightenment
	  virtual root window.
        * gtk/gtkhandlebox.c: changed gdk_window_get_origin ->
	  gdk_window_get_deskrelative_origin to get the origin of dragged
	  handleboxes correctly. Now it works correctly with E.
1998-11-18 03:15:14 +00:00
Owen Taylor
a0ca2a7b0d New function gdk_pixmap_foreign_new(). (gtk-blizzard-981005-0. Christopher
Fri Nov 13 11:22:38 1998  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkpixmap.c: New function gdk_pixmap_foreign_new().
	(gtk-blizzard-981005-0.
	 Christopher Blizzard <blizzard@applied-theory.com)

	* gdk/gdk.h gdk/gdkx.h: Moved gdk_window_foreign_new and
	gdk_pixmap_foreign_new to gdkx.h.

Fri Nov 13 16:06:48 1998  Owen Taylor  <otaylor@redhat.com>

	* gtk/Makefile.am: Added rules to generate an empty
	GTK+ theme called "Default" upon installation.

	* gtk/gtkrc.c (gtk_rc_parse_style): Fix inheritance
	of fonts and fontsets.
	(gtk-matsu-980924. Takashi Matsuda matsu@arch.comp.kyutech.ac.jp)

	* gtk/gtkmain.c: Change test to detect glibc's
	utf8 based mb* functions to be more specific.

	* gtk/gtkwindow.[ch] gtk/gtkfixed.c: Indentation
	cleanups.
1998-11-13 21:28:36 +00:00
Jay Cox
a77c4da512 forward declaration for gtk_window_paint declare xid_ht static get the
1998-11-07  Jay Cox  <jaycox@earthlink.net>

	* gtk/gtkwindow.c: forward declaration for gtk_window_paint
	* gdk/gdkxid.c: declare xid_ht static
	* examples/*/Makefile: get the link ordering right.
1998-11-07 16:12:37 +00:00
Owen Taylor
e2a5219220 Merge from themes-2. See the ChangeLog for a somewhat detailed
history of the evolution of the changes involved. Most of this
is actually minor painting tweaks.
1998-11-06 22:05:02 +00:00
Raja R Harinath
f2fe3fe221 Remove `#pragma }'.
* gtk/gtkfeatures.h.in: Remove `#pragma }'.

* gdk/gdki18n.h: Update to use new `glib' widechar defines.

* configure.in (CFLAGS): Don't use test -z "echo .. | grep".  Use
case instead.
(wchar.h, wctype.h, iswalnum): Duplicate widechar tests from `glib'.
(GDK_WLIBS): New variable.  Lists extra libraries needed to use
widechar functions.
* gtk-config.in (--libs): List $GDK_WLIBS, too.
1998-11-01 01:44:05 +00:00
Joel Becker
0d214799be fixed extraneous "," on line 390 1998-10-26 00:29:12 +00:00
Arturo Espinosa
acfab255cc One-character fix to make it compile - Federico 1998-10-21 16:22:28 +00:00
Owen Taylor
4b2885b5d3 Always send "drag_leave" to dests without GTK_DEST_DEFAULT_MOTION.
Tue Oct 20 14:53:28 1998  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkdnd.c: Always send "drag_leave" to dests
	without GTK_DEST_DEFAULT_MOTION.

Tue Oct 20 11:55:24 1998  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdk.c (gdk_event_translate): Handle DestroyNotify
	on destroyed windows so we clear the XID table properly.
	Finish up restructure of return value handling that
	was half-done before.

Tue Oct 20 12:57:10 1998  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdk.c (gdk_send_clientmessage_to_all): Hunt
	the window tree more comprehensively, so that we find
	client windows hidden under non-toplevels.

Tue Oct 20 12:43:04 1998  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkselection.c (gtk_selection_data_set):
	Maintain the null-termintation guarantee, even when
	data = NULL, length = 0. (Warn on data = NULL,
	length > 0)

Mon Oct 19 16:41:44 1998  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkwidget.h (struct _GtkWidgetClass): Add in coordinates
	into function prototype for drag_data_received.
1998-10-20 18:43:54 +00:00
Owen Taylor
f7bcb45607 Added a modular client-message-filter mechanism, that is used for the DND
Sun Oct 18 18:16:39 1998  Owen Taylor  <otaylor@gtk.org>

	* gdk/gdk.c gdkprivate.h: Added a modular client-message-filter
	mechanism, that is used for the DND messages.

	  Removed all the old DND code.

	* gdk/gdkcolormap.c gdk/gdkcolormap.h: Add a function to
	get the visual of a given colormap.

	* gtk/gtkcolorsel.c: Conversion to new DND, drag
	a color-swatch.

	* gdk/gdk.h gdk/gdkdnd.c: The low-level
	X oriented portions of drag and drop protocols.
	Sending and receiving client messages, and navigating
	window trees.

	* gdk/gdkimage.c: added a gdk_flush() when destroying
	SHM images to hopefully make it more likely that
        X will gracefully handle the segment being destroyed.

	* gdk/gdkprivate.h gtk/gtkdebug.h: Add new
	DND debugging flags.

	* gtk/gtkeditable.[ch]: Updates for the selection handling
	changes.

	* gtk/gtkselection.[ch]: Added GtkTargetList, a
	refcounted data structure for keeping track of lists
	of GdkAtom + information. Removed selection_handler_add
	in favor of a "drag_data_get" signal.

	* gtk/gtkdnd.[ch] gtk/gtk.h: New files - highlevel (event loop
	dependent) parts of the DND protocols, display of drag icons,
	drag-under highlighting, and the "default handlers".

	* gtk/gtkinvisible.[ch]: New widget - InputOnly offscreen
	windows that are used for reliable pointer grabs and
	selection handling in the DND code.

	* gtk/testdnd.c: New test program for new DND. (Old
	DND tests in testgtk still need to be converted.)

	* gtk/testselection.c: Use the new selection API.

	* docs/dnd_internals: Start at describing how
	all the new code works inside.

	* docs/Changes-1.2.txt: New file describing source-incompatible
	changes in GTK+-1.2.

Sat Oct 17 22:50:34 1998  Owen Taylor  <otaylor@gtk.org>

	* gdk/gdkwindow.c (gdk_window_remove_filter): Free
	the right list node.

	* gdk/gdkwindow.c (gdk_window_init): Add gdk_root_parent
	to the XID table so we can receive events on it.

Wed Oct 14 12:57:40 1998  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdk.c gdk/gdk.h (gdk_event_get_time): New function
	to get the timestamp from a generic event.

Fri Oct  9 13:16:04 1998  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkwidget.c (gtk_widget_add_events): Added function
	that safely adds additional events to a widget's event
	mask, even if the widget has previously been realized.
	(We can do this, but not remove events from the event
	 mask).

Fri Oct  2 17:35:35 1998  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkproperty.c (gdk_property_get): Allow type == 0,
	for AnyPropertyType.

Fri Oct  2 10:32:21 1998  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkproperty.c (gdk_atom_intern): Add client-local
	hashing.

Thu Sep 24 20:33:54 1998  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdk.c (gdk_event_send_clientmessage_toall): serial
	isn't a timestamp.

Thu Sep 17 14:23:03 1998  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdk.c (gdk_event_translate): Removed printing
	of unknown window lookup warnings. (Made it
	a GDK_NOTE) - they happen in many circumstances.
1998-10-18 22:51:24 +00:00
Tim Janik
3322a264e0 removed all occourances of #pragma } and #pragma { which were in place to
Wed Oct  7 05:15:36 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtk*.h:
        * gdk/gdk.h: removed all occourances of #pragma } and #pragma {
        which were in place to fixup emacs' cc-mode indentation.
        putting (c-set-offset 'inextern-lang 0) into ~/.emacs is the
        proper way to achive this and doesn't produce problems for
        stupid pragma-related compiler bugs. ;)
1998-10-07 04:21:19 +00:00
Raph Levien
ecb9ebbce3 Fixed an alpha bug. 1998-10-05 22:30:08 +00:00