Commit Graph

304 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
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
e33741aed6 use g_atexit() instead of ATEXIT.
Tue Sep  8 05:19:51 1998  Tim Janik  <timj@gtk.org>

        * gdk/gdk.c (gdk_init): use g_atexit() instead of ATEXIT.

        * gtk/gtkmain.c (gtk_init): use g_atexit() instead of ATEXIT.

        * gtk/gtkobject.c (gtk_object_init_type): use g_atexit() instead of
        ATEXIT.

        * ltconfig: use GLib's ltconfig which honours lcc.
1998-09-08 04:08:17 +00:00
Owen Taylor
51021f88c5 When the pointer is grabbed on an input window, either explicitely, or
Sat Sep  5 16:01:19 1998  Owen Taylor  <otaylor@gtk.org>

	* gdk/gdkinputxfree.h gdk/gdk.c gdk/gdkinputgxi.h:
	When the pointer is grabbed on an input window,
	either explicitely, or through press-grab, and
	then grabbed on a non-input window, ungrab the
	devices.
1998-09-05 21:22:51 +00:00
Owen Taylor
caf8ebc6f1 Reference count the fonts used in the text widget.
Mon Aug 24 18:37:15 1998  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtktext.c: Reference count the fonts used in
	the text widget.

	* gdk/gdk.h gdk/gdkcolor.c: Rename the color allocation
	freeing functions to be more consistent, and more
	convenient; leave the old names in for backwards compatibility.

	* gdk/gdkcolor.c gdk/gdkprivate.h: Reference count the
	allocations in pseudo-color colormaps to greatly reduce
	calls to XAllocColor. Keep a per-colormap hashtable to
	speed up finding if there is an already-allocated matching
	color.

	* gdk/gdkcolor.c: Don't just match read the system colormap
	when the colormap is created, but synchronize our copy
	with the system colormap periodically.

	* gdk/gdk.c gdk/gdktypes.h gtk/gtkentry.c gtk/gtktext.c:
	Change XIM constants names to match GDK conventions

	* gtk/testinput.c: Allow the drawing area to get the focus.

	* gtk/testgtk.c: Change around the Text test to demonstrates
	multiple fonts, use more colors.

	* gtk/gtkwidget.c: Improve gtk_widget_get_colormap()/visual()
	so they work after a widget is unrealized.

	* gtk/gtktext.[ch]: Remove the requirement that the text
	widget be realized before adding text (!) Allocate colors
	ourself, instead of requiring the caller allocate them.
	Allow changing styles to work properly by keeping track
	of the values for a certain property are default or
	set explicitely.

	* gtk/gtkmenu.h: Added some comments.

	* gtk/gtkentry.c: Changes to match XIM constants.

	* gtk/gdk.h gdk/gdkwindow.c: Add gdk_drawable_set_data(),
	for adding keyed data to drawables. (Uses g_dataset
	internally)

	* gdk/gdkpixmap.c: Keep track of the colors we allocate,
	when creating an XPM - store them as user data for the GdkPixmap,
	so we don't leak colors when we create pixmaps from XPM's.

	Allocate memory for color information in large blocks instead of
	as many little pieces.
1998-08-25 00:06:38 +00:00
Tim Janik
49dfa78e74 use g_get_current_dir() instead of getcwd().
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.
1998-08-18 16:58:09 +00:00
Tim Janik
7f2909bbab restricted the --g*fatal-* arguments to --g-fatal-warnings again. this
Tue Aug 18 03:54:43 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkmain.c (gtk_init): restricted the --g*fatal-* arguments
        to --g-fatal-warnings again. this option now causes log levels of
        WARNING and CRITICAL to abort().

        * gdk/gdk.c:
        * gdk/gdkdnd.c:
        * gdk/gdkcc.c:
        * gdk/gdkfont.c:
        * gdk/gdkwindow.c:
        * gdk/gdkvisual.c:
        * gtk/gtkwidget.c:
        * gtk/gtktypeutils.c:
        * gtk/gtktree.c:
        * gtk/gtkfontsel.c:
        * gtk/gtkmain.c:
        * gtk/gtkobject.c:
        * gtk/gtkpreview.c:
        * gtk/gtkselection.c:
        * gtk/gtktext.c:
        * gtk/gtktree.c:
        * gtk/gtktreeitem.c:
        did a global search&replace to substitute g_print() calls with
        g_message(). libraries shouldn't use printf(), g_print() or
        g_printerr() at all.
        a bunch of the replacements should probably be wrapped into the
        G{D|T}K_NOTE() macros, so they are special cased for debugging
        purposes in a sane way, avoiding all the nasty #ifdef DEBUG_MY_TEDDY
        things.

        * gdk/gdkrgb.c: left this out currently.

        * gdk/gdkdnd.c: added copyright notice.
1998-08-18 03:59:41 +00:00
Dietmar Maurer
690a18f032 gdk.c: fixed bug in gdk_input_remove 1998-08-17 08:28:13 +00:00
Manish Singh
28c7089077 use native Xlib XConvertCase if it's available
-Yosh
1998-06-28 05:44:14 +00:00
Tim Janik
f93afa9c75 compatibility function to provide XConvertCase() functionality from X11R6
Sat Jun 27 15:44:46 1998  Tim Janik  <timj@gtk.org>

        * gdk/gdk.c (gdkx_XConvertCase): compatibility function to provide
        XConvertCase() functionality from X11R6 on X11R5 systems.
1998-06-27 13:51:41 +00:00
Tim Janik
b70abe38c1 prevent gdk_init() from segfaulting when invoked with (NULL, NULL); (this
Wed Jun 10 06:25:17 1998  Tim Janik  <timj@gtk.org>

        * gdk/gdk.c (gdk_init): prevent gdk_init() from segfaulting when
        invoked with (NULL, NULL); (this worked sometime ago).

        * gtk/gtktypeutils.h:
        * gtk/gtktypeutils.c: enum and flags type creation can now be done
        through gtk_type_register_enum() and gtk_type_register_flags(),
        which allow to specify the enum value arrays directly.
        the NULL terminated value arrays can be retrived through
        gtk_type_enum_get_values() and gtk_type_flags_get_values();
        (gtk_type_children_types): new function to query derived types.
1998-06-10 07:32:52 +00:00
Tim Janik
a391196ba5 fixed an assertment.
Sat Jun  6 06:01:24 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtksignal.c (gtk_signal_emitv): fixed an assertment.

        * gtk/makeenums.awk: a script to generate the GtkEnumValue arrays from,
        this should eventually be done by gentypeinfo.el somewhen.
        * gtk/gtkenumvalues.c: new generated file to hold GtkEnumValue arrays.

        * gtk/gtktypeutils.h: new function gtk_enum_values() to retrive all the
        enum values of an enum type.

        * gtk/gtk.defs:
        * gtk/gtkcurve.h:
        * gtk/gtkobject.h:
        * gtk/gtkprivate.h:
        * gtk/gtkwidget.h:
        * gtk/gtkenums.h:
        brought enum/flags definitions in sync, added a few more enum
        definitions for bindings and pattern matching.

        * some more macro and GtkType fixups in various places.

        * gdk/gdktypes.h (enum): added a new value GDK_AFTER_MASK, which is used
        as a key-release modifier for the binding system.

Fri Jun  5 06:06:06 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkmenu.h (struct _GtkMenu): removed GList*children, since it
        was a stale list pointer that is already present in GtkMenuShell.

        * gtk/gtkmenushell.h (struct _GtkMenuShellClass): added a signal
        GtkMenuShell::selection_done which is emitted after the menu shell
        poped down again and all possible menu items have been activated.

Thu Jun  4 02:20:42 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkmenushell.c (gtk_menu_shell_button_release): flush the x-queue
        before activation of the menuitem, so the menu is actually taken off the
        screen prior to any menu item activation.

        * gtk/gtkctree.c (gtk_ctree_get_row_data): allow function invokation
        for NULL nodes.

        * gtk/gtkwidget.h:
        * gtk/gtkwidget.c: new function gtk_widget_stop_accelerator to stop
        the emission of the "add-accelerator" signal on a widget. this is
        usefull to prevent accelerator installation on certain widgets.

        * gtk/gtknotebook.c (gtk_notebook_menu_item_create): keep the menu
        labels left justified, by setting their alignment. stop accelerator
        installation for the menu items, since we use dynamic menus.

Wed Jun  3 06:41:22 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkmenufactory.c: adaptions to use the new accel groups. people
        should *really* use GtkItemFactory. this is only for preserving source
        compatibility where possible, use of GtkMenuFactory is deprecated as of
        now.

        * gtk/gtkobject.h (gtk_object_class_add_user_signal): new function
        to create user signals of type GTK_RUN_NO_RECURSE. don't know why i
        missed this possibility when i added gtk_object_class_add_user_signal
        in late january.

        * gtk/gtkmain.c (gtk_init): ignore subsequent function calls.

Sun May 31 07:31:09 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkaccelgroup.h:
        * gtk/gtkaccelgroup.c: new implementation of the accelerator concept.

        * gtk/gtkaccellabel.h:
        * gtk/gtkaccellabel.c: new widget derived from GtkLabel whitch features
        display of the accelerators associated with a certain widget.

        * gtk/gtkitemfactory.h:
        * gtk/gtkitemfactory.c: new widget, item factory with automatic rc
        parsing and accelerator handling.

        * gtk/gtkmenu.c (gtk_menu_reposition): new function to care for
        positioning a menu.
        (gtk_menu_map): removed the allocation code.
        (gtk_menu_size_allocate): care for redrawing of children and resize
        our widget->window correctly.
        (gtk_menu_key_press): feature the new accelerator groups.

        * gtk/gtkmenuitem.c (gtk_menu_item_size_allocate): reposition the
        submenu if neccessary.

        * gtk/gtkmenuitem.c:
        * gtk/gtkcheckmenuitem.c:
        * gtk/gtkradiomenuitem.c: use GtkAccelLabel in the *_new_with_label()
        function variants.

        * gdk/gdk.c:
        (gdk_keyval_from_name):
        (gdk_keyval_name): new functions for keyval<->key-name associations.
        (gdk_keyval_to_upper):
        (gdk_keyval_to_lower):
        (gdk_keyval_is_upper):
        (gdk_keyval_is_lower): new functions to check/translate keyvalues with
        regards to their cases.

Wed May 27 00:48:10 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkwidget.c (gtk_widget_class_path): new function to calculate a
        widget's class path.
        (gtk_widget_path): new function to calculate a widget's name path.

        * gtk/gtkrc.c: newly introduced GtkPatternSpec structures to speed up
        pattern matching, features reversed pattern matches.
1998-06-07 06:48:56 +00:00
Federico Mena Quintero
99fdc828eb New enumeration for the "mode" field of crossing events. (struct
1998-05-26  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* gdk/gdktypes.h (GdkCrossingMode): New enumeration for the "mode"
	field of crossing events.
	(struct _GdkEventCrossing): Added the following fields: time, x,
	y, x_root, y_root, mode, focus, state.

	* gdk/gdk.c (gdk_event_translate): Fill in the new fields of the
	crossing event structure.

	* gtk/gtkfeatures.h (GDK_HAVE_FULL_CROSSING_EVENT): Annotate
	changes to the crossing event structure.
1998-05-27 02:01:40 +00:00
Radek Doulik
d6d54509d3 include gdkx.h always (for GDK_ROOT_WINDOW)
Tue May 26 15:51:28 1998  Radek Doulik  <gis@academy.cas.cz>

	* gdk/gdk.c: include gdkx.h always (for GDK_ROOT_WINDOW)
1998-05-26 13:54:38 +00:00
Owen Taylor
53d06396b8 Locate child at (border_width,border_width), not
Sat May 23 17:48:58 1998  Owen Taylor  <otaylor@gtk.org>

	* gtk/gtkeventbox.c (gtk_event_box_size_allocate):
        Locate child at (border_width,border_width), not
	(2*border_width,2*border_width). [ The border is _outside_
	widget->window ]

	* gdk/gdk.[ch]: added gdk_screen_width_mm/gdk_screen_height_mm
	  functions. [From: Alexander Larsson <alla@lysator.liu.se> ]
1998-05-23 21:55:40 +00:00
Elliot Lee
eb3e74cae9 Add GDK_SUBSTRUCTURE_NOTIFY_MASK
Add GDK_SUBSTRUCTURE_NOTIFY_MASK

Fixed GDK_DESTROY handling WRT GnomeRootwin widget.
1998-05-19 22:33:24 +00:00
Owen Taylor
457148333e Basic thread-awareness:
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))
1998-05-16 02:13:12 +00:00
rodo
d6c6ad105f include gdkkeysyms.h always
Fri May 15 12:31:27 1998  rodo  <doulik@karlin.mff.cuni.cz>

	* gdk/gdk.c: include gdkkeysyms.h always
1998-05-15 10:57:59 +00:00
Owen Taylor
43dfe74c56 Fixed up a stat() that Sopwith missed when changing stat => lstat.
Tue May 12 19:37:55 1998  Owen Taylor  <otaylor@gtk.org>

	* gtk/gtkrc.c (gtk_rc_parse_file): Fixed up a stat()
	that Sopwith missed when changing stat => lstat.

Tue May 12 19:19:29 1998  Owen Taylor  <otaylor@gtk.org>

	* gtk/gtkinputdialog.c gtk/gtkgamma.c gtk/gtkrc.c
	  gtk/gtkcolorsel.c gtk/gtkclist.c gtk/testgtk.c: Use
	GPOINTER_TO_INT/GINT_TO_POINTER macros where appropriate.

	* gdk/gdk.c: Print sizeof() results
	as g_print("%ld", (glong)sizeof(foo)), to deal with
	sizeof() being long on Alpha's.

	* gtk/testgtk.c: include <string.h> for strlen

Tue May 12 19:22:58 1998  Owen Taylor  <otaylor@gtk.org>

 	* glib/glib.h: Added macros G[U]INT_TO_POINTER() and
	GPOINTER_TO_[U]INT for storing small integers integers
	inside pointers.

	* glib/testglib.c: Print sizeof() results
	as g_print("%ld", (glong)sizeof(foo)), to deal with
	size_t being long on Alpha's.
1998-05-13 00:24:57 +00:00
Owen Taylor
f75d8b0c23 Try to figure out if this is Digital Unix and we need -std1 to get the
Sat May  9 20:11:20 1998  Owen Taylor  <otaylor@gtk.org>

	* configure.in (LIBS): Try to figure out if this
	is Digital Unix and we need -std1 to get the
	right prototypes.

Sat May  9 20:08:12 1998  Owen Taylor  <otaylor@gtk.org>

	* glib/gmem.c: Experimentally restore GMemChunk
	to its primeval state - where mem areas are
	freed incrementally instead of searching the tree
	every time a mem area is completely empty. Also,
	always keep one mem chunk around. (Reduced calls
	to malloc() a lot, but doesn't really improve
	performance significiantly)

Fri May  8 21:31:50 1998  Owen Taylor  <otaylor@gtk.org>

	* gtk/gtkwidget.c (gtk_widget_queue_draw): Free the
	draw-queue when we are done.

	(gtk_widget_queue_draw/_queu_resize): Always return
	FALSE and avoid having two idles at the same time.

Fri May  8 21:04:00 1998  Owen Taylor  <otaylor@gtk.org>

	* gtk/gtktext.c: Various fixes to make sure cache
	lines are freed if line_start_cache doesn't point to the
	beginning of the cache.

Thu May  7 09:44:22 1998  Owen Taylor  <otaylor@gtk.org>

	* style_set improvements for GtkText and GtkEntry

Tue May  5 19:49:27 1998  Owen Taylor  <otaylor@gtk.org>

	* gdk/gdkpixmap.c: Patches from Gordon Matzigkeit
	to speed things up and remove code duplication.

	Reintegrated buffer overflow patches, and added
	some extra paranoia.

Tue May  5 17:04:14 1998  Owen Taylor  <otaylor@gtk.org>

	* gdk/gdk.c (gdk_event_translate): A guint * was
	being passed where X expected a Keysym *, and
	keysyms are long's on Alpha Linux. This was causing
	segfaults in Xlib, apparently because of alignment.
	(Bug located by Juergen Haas <haas@forwiss.uni-passau.de>)

Tue May  5 19:11:27 1998  Owen Taylor  <otaylor@gtk.org>

	* gtk/gtkdrawingarea.c (gtk_drawing_area_realize): Always
	set GDK_EXPOSURE_MASK for DrawingAreas

Tue May  5 14:32:37 1998  Owen Taylor  <otaylor@gtk.org>

	* gtk/gtkwidget.[ch]: removed gtk_widge_propagate_default_style
	(superceded by RC file reparsing capabilities)

	* gtk/gtkwindow.c: Add handling for _GDK_READ_RFCILES client
	events. (Shouldn't be sent to the InputOnly leader, which
	it is now by gdk_event_send_clientmessage_toall

	* gtk/testgtk.c: Added extra button to rcfiles test
	to send out _GDK_READ_RCFILES events.

Tue May  5 11:03:00 1998  Owen Taylor  <otaylor@gtk.org>

	* gtk/gtkselection.c (gtk_selection_clear): Fixed
	reversed conditionals that caused segfault on some
	platforms.

Tue May  5 00:44:47 1998  Owen Taylor  <otaylor@gtk.org>

	* gtk/gtkcontainer.c (gtk_container_set_focus_[hv]adjustment):
	cast to GTK_OBJECT for gtk_object_ref.
1998-05-10 02:46:20 +00:00
Owen Taylor
d142827b34 Merges from the gtk-1-0 branch
Sun May  3 14:55:34 1998  Owen Taylor  <otaylor@gtk.org>

	* docs/gtkfaq.sgml (CPPFLAGS): Added a FAQ entry about
	"glibconfig.h" and another about writing another IRC
	client.

Sat May  2 00:14:05 1998  Owen Taylor  <otaylor@gtk.org>

	* gtk/gtkpreview.c (gtk_trim_cmap): Make sure the
	parameters to log are doubles. Digital Unix apparently
	is missing the argument in its prototype.

Sun May  3 19:04:46 1998  Owen Taylor  <otaylor@gtk.org>

	* gtk/gtklabel.c (gtk_label_state_changed): Don't
	force a clear until the widget is actually on
	screen.

Hopefully nothing else though CVS think there are a whole
bunch more changed files.
1998-05-04 02:10:36 +00:00
Owen Taylor
4851efe296 configure.in acheader.h gdk/gdkwindow.c Check for Shape extension both on
Sun May  3 13:38:22 1998  Owen Taylor  <otaylor@gtk.org>

	* configure.in acheader.h gdk/gdkwindow.c
	Check for Shape extension both on the client and server
	side. (And, more importantly, check for the shape extension
	so we may include -lXext even when compiling with --disable-xshm)

	Don't set override_redirect on all shaped windows. It isn't
	necessary.

	* gdk/gdkwindow.c: Set ->colormap to NULL for root
	and foreign windows. Use this to check if we
	need to get the colormap from X.

Fri May  1 22:32:47 1998  Owen Taylor  <otaylor@gtk.org>

	* gtk/gtkbutton.c (gtk_button_paint): Draw the areas
	between the default and the button always in GTK_STATE_NORMAL.

	* gtk/gtkrange.c (gtk_range_style_set): Added a style_set
	callback.

Fri May  1 16:40:57 1998  Owen Taylor  <otaylor@gtk.org>

	* gdk/gdkpixmap.c (gdk_pixmap_colormap_create_from_xpmp[_d]):
	  Fix a buffer overflow on pixmaps that claim to have
	  more than 31 characters per pixel.

	  (gdk_pixmap_read_string): Don't wrap around strings longer
 	  than half of address space ;-)

	* gtk/gtk[vh]ruler.c gtk/gtkinputdialog.c: Expand some buffers
	that were used for printing integers.

	* */* (almost):

	Style: All
	  int foo () { ... }
	changed to
	  int foo (void) { ... }

^^^^^^^ This is why some many files changed

	Even where there were proper prototypes elsewhere.

	* gdk/gxid.c (handle_claim_device): Some extra checks.
	It isn't safe against being fed bad X id's, but at
	least it should be safe against deleting all your
	files.
1998-05-03 22:41:32 +00:00
Miguel de Icaza
32e8dc45b0 Random debugging fixed this bug: There is no need to set the ExposureMask
1998-04-28  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* gdk/gdk.c (gdk_event_translate): Random debugging fixed this
	bug:  There is no need to set the ExposureMask in the XGrabPointer
	(this caused DnD programs to crash).
1998-04-29 00:51:55 +00:00
Elliot Lee
187dbc0ce7 Try adding "ExposureMask" to the event mask during a drag, so that things
Try adding "ExposureMask" to the event mask during a drag, so that things
get redrawn.
1998-04-28 23:21:36 +00:00
Owen Taylor
385164d6f9 Don't read the character past the end of the text.
Mon Apr 13 21:40:14 1998  Owen Taylor  <owt1@cornell.edu>

	* gtk/gtktext.c (find_char_width): Don't read the
	character past the end of the text.

	* gtk/gtkrange.c (gtk_real_range_timer): If the mouse
	button has been released before the timer is activated,
	don't keep on scrolling.

	* gdk/gdk.c (gdk_event_translate): Filter subsequent configure
	events after we discard the first. Removed obsolete and
	sometimes very slow GdkOtherEvent. (Left in gdktypes.h
	with signal in GTK)
1998-04-14 01:39:40 +00:00
PDT 1998 Shawn T. Amundson
92006c8e78 Changed LGPL address for FSF in all .h and .c files
Sun Apr 12 18:54:29 PDT 1998 Shawn T. Amundson <amundson@gtk.org>

        * Changed LGPL address for FSF in all .h and .c files
1998-04-13 02:02:47 +00:00
Owen Taylor
26df647a0f (Found by Mattias.Gronlund" <Mattias.Gronlund@sa.erisoft.se>)
Thu Apr  9 14:24:35 1998  Owen Taylor  <owt1@cornell.edu>

	(Found by Mattias.Gronlund" <Mattias.Gronlund@sa.erisoft.se>)

	* gtk/gtkcurve.c (gtk_curve_interpolate): Added a
	missing g_free.

	* gtk/gtkcurve.c (gtk_curve_graph_events): Limits
	were off by one, resulting in writing past array
	bounds. Removed some unused code.

	* gdk/gdk.c (gdk_dnd_drag_begin): The event structure
	used for gdk_event_put should be a GdkEvent, not a
	subtype, since it will all be copied.

	* gtk/gtkcolorsel.c: Added a unrealize handler that
	unref's the GC's that were created.

	* gtk/testgtk.c (clist_warning_test): ref and sink
	child because it may never be added to anything.
1998-04-09 19:12:12 +00:00
Miguel de Icaza
09d32399ab During drag and drop, set the event mask at ButtonPress time to include
1998-04-08  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* gdk/gdk.c (gdk_event_translate): During drag and drop, set the
	event mask at ButtonPress time to include ButtonPressMask and
	ButtonReleaseMask, otherwise, if the button is released, and we
	get a LeaveNotify event, it still thinks we are doing a drag.
1998-04-08 19:46:09 +00:00
Owen Taylor
e2ae4aec47 Make debug string parsine case-insensitive
Fri Apr  3 20:36:35 1998  Owen Taylor  <owt1@cornell.edu>

	* gutils.c (g_parse_debug_string): Make debug string
	parsine case-insensitive

Fri Apr  3 20:36:52 1998  Owen Taylor  <owt1@cornell.edu>

	* gdk/gdk.c gtk/gtkmain.c: Accept debug options
	in the form --g[td]k[-no]-debug=xxx as well
1998-04-04 01:56:54 +00:00
Owen Taylor
308adaa6db More extensive debugging output
Fri Apr  3 17:14:55 1998  Owen Taylor  <owt1@cornell.edu>

	* gdk/gdk.c: More extensive debugging output
1998-04-03 23:21:18 +00:00
Elliot Lee
acb95ed9da a little more debugging code. 1998-04-01 19:46:06 +00:00
Owen Taylor
5b3cc69b43 Don't call XTranslateCoordinates on a destroyed window. (Why do we do
Fri Mar 27 21:01:17 1998  Owen Taylor  <owt1@cornell.edu>

	* gdk/gdk.c (gdk_event_translate): Don't call
	XTranslateCoordinates on a destroyed window. (Why do we
	do event processing at all on destroyed windows when we
	throw out the results?)

	* gtk/gtklabel.c: Clear the background when changing style/
	state.
1998-03-28 02:08:27 +00:00
Owen Taylor
16aa9c1964 fixes to locale checks
Sun Mar 22 16:25:46 1998  Owen Taylor  <owt1@cornell.edu>

	* gtk/gtkmain.c (gtk_init): fixes to locale checks

	* gtk/testgtk.c (create_dnd): Create the dnd icons separately
	  to avoid strange interactions with shapes demo.

	* gtk/gtkentry.[ch]:
	  - Limit the length of the text to 2048 to prevent long delays
	  - Fix problems with buffer overruns
	  - Draw only the onscreen portion of the text to prevent wrapping
	    of shorts in the X drawing code.
	  - Keep track of character positions and x-offsets to speed
	    up algorithms.
1998-03-22 21:31:10 +00:00
Owen Taylor
8cff9d3307 Don't respond to drops when grab is in effect. (workaround)
Sat Mar 21 19:07:01 1998  Owen Taylor  <owt1@cornell.edu>

	* gtk/testgtk.c (dnd_drop): Don't respond to drops when
	  grab is in effect. (workaround)

	* gdk/gdkfont.c (gdk_fontset_load): More details on
	  error messages.

	* gdk/gdk.c: Translate va_list to XVaNestedList instead
	  of just casting it.

	* gtk/gtkmain.c: Make temporary copy of string returned by
	  setlocale, since it may be changed by subsequent calls.
1998-03-22 00:07:53 +00:00
Owen Taylor
70b3b3e6e1 Try to guess if we can use the mb* functions safely. (For glibc, they do
Tue Mar 17 01:55:00 1998  Owen Taylor  <owt1@cornell.edu>

	* gtk/gtkmain.c gtk/gtkentry.c: Try to guess if we can
	  use the mb* functions safely. (For glibc, they do
	  UTF-8). Heuristic is (X_LOCALE && locale != C/POSIX)
	  || (mblen("\xc0", MB_CUR_MAX) == 1).

	(From: "Richard Lloyd" <rkl@csc.liv.ac.uk>)

	* gdk/gdk.c (gdk_ic_get_attr): Use an intermediate
	  variable to avoid taking the address of the result
	  of va_arg.

	* gtk/gtkentry.c gtk/gtkeditable.c gtkobject.c
	  gtk/testselection.c: signedness fixups

	* gtk/gtkcontainer.c: Fixed implicit cast between
	  gpointer and func pointer by changing.

	* gtk/gtkcombo.c, gtk/gtkentry.c, gtk/gtktext.c:
	  static void forward declaration vs. void actual fixed

	* gtk/testgtk.c: Limit total number of tree items to 10,000
1998-03-17 19:03:52 +00:00
Tim Janik
a783d668f1 changed some debugging messages to be prefixed by "Gdk:".
Tue Mar 17 16:19:47 1998  Tim Janik  <timj@gimp.org>

        * gdk/gdk.c:
                * gdk/gdkvisual.c: changed some debugging messages to be prefixed
                        by "Gdk:".

                                * gtk/gtkwidget.c (gtk_widget_real_draw): applied
                                        gtk-shige-980317-0.patch.gz to set all event fields, but modified
                                                the event.send_event field to be set to TRUE, since the event is not
                                                        really comming from the server.

                                                                * gtk/gtkwindow.c (gtk_window_init): applied gtk-ograf-980317-1.patch.gz
                                                                        which cares about an initial setting of program name and program class.

                                                                                * gdk/gdk.c (gdk_init): applied gtk-ograf-980317-0.patch.gz, which
                                                                                        strips leading pathnames from gdk_progname.
1998-03-17 18:29:07 +00:00
Miguel de Icaza
8a0d67391c Use StructureNotifyMaskMask as the mask, as this enables an application
Tue Mar 17 02:02:02 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* gdk/gdk.c (gdk_dnd_drag_leave): Use StructureNotifyMaskMask as
	the mask, as this enables an application listening to those events
	to catch the root events.  Thanks to Maciej for pointing us in the
	right direction.
	(gdk_dnd_drag_enter): Likewise.
	(gdk_dnd_drag_leave): Likewise.
	* gdk/gdkwindow.c (gdk_window_dnd_data_set): Likewise.
1998-03-17 07:54:57 +00:00
Owen Taylor
b8e7ea1f11 Fixed misplaced 'else.' -owt 1998-03-14 07:29:32 +00:00
Owen Taylor
54a9eb416d Don't leave NULL's in argv.
Sat Mar 14 02:12:44 1998  Owen Taylor  <owt1@cornell.edu>

	* gtk/gtkmain.c gdk/gdk.c: Don't leave NULL's in argv.
1998-03-14 07:16:36 +00:00
Elliot Lee
093dfedf74 Bug fixes/improvements to the motion event eating for Dnd 1998-03-11 23:12:25 +00:00
rhlabs
59436967d5 <raster@redhat.com>
<raster@redhat.com>

fixed motiong drag to remove lag - ie no lagging of icons behind mouse when
doing DND. :)
1998-03-11 22:35:32 +00:00
rhlabs
c5327ecc31 <raster@redhat.com>
<raster@redhat.com>

added bolleean to gdk_window_xid_at_coords for excluding children fo
excluded windows
1998-03-11 22:24:54 +00:00
Elliot Lee
120df3b8b7 DnD bugfixes (hopefully :). Rasters code is still buggy, methinks - try the dnd in testgtk 1998-03-10 21:57:05 +00:00
Tim Janik
8532799aaa changed gtk_range_trough_click() to take an additional jump_perc arg,
Tue Mar 10 05:30:05 1998  Tim Janik  <timj@gimp.org>

        * gtk/gtkrange.h:
                * gtk/gtkrange.c:
                        changed gtk_range_trough_click() to take an additional jump_perc arg,
                                class method and callers changed.

                                Tue Mar 10 05:25:10 1998  Tim Janik  <timj@gimp.org>

                                        * gdk/gdk.c (gdk_ic_destroy): applied gtk-gronlund-980309-1.patch.gz
                                                which fixes a memory leak.
1998-03-10 04:37:26 +00:00
Elliot Lee
990bddfe16 Miguel, try this - I think it should do what you need. Hurry hurry :) 1998-03-10 02:48:02 +00:00
Owen Taylor
ab30a02e5f - Show selection correctly when starting selection with arrows
Sun Mar  8 15:53:33 1998  Owen Taylor  <owt1@cornell.edu>

	* gtk/gtktext.c:

	- Show selection correctly when starting selection with arrows

	- Display pixmap background only when not editable

	- Redraw focus area more carefully to prevent flashing (and
	  make style of drawing consistent with Entry)

	* gtk/gtktreeitem.c: ref colormaps for pixmap by colormap
	  storage.

	* gtk/gtkrc.c: Store a separate style for each RcStyle for
	  each colormap, so we can handle background pixmaps
	  correctly, which need to be per-colormap. (Leaks
	  colormaps...)

	  Parse text color style entries correctly.

	* gtk/testgtk.c: insert text without fg color
	  gtk/testgtkrc: move "*" after rest, so the other class styles
	                 take effect

        * gdk/gdkwindow.c gdk/gdk.c gdk/gdkprivate.h: Send DND events
	  safely, in case drop window disappears. (Performance hit
	  because XSync()'s are necessary)

	* gdk/gdk.h gdk/gdkpixmap.c: Added
	  gdk_pixmap_colormap_create_from_xpm[_d] to allow creating
	  pixmaps from xpm's before you have a GdkWindow.
1998-03-08 21:47:14 +00:00
Tim Janik
5fa1bfcf45 applied a bunch of patches and removed all the printfs that
raster left over.
-timj
1998-03-08 03:32:05 +00:00
Tim Janik
76d01a826c define the version variables in config.h.
Sun Mar  8 03:00:17 1998  Tim Janik  <timj@gimp.org>

        * configure.in: define the version variables in config.h.

        * gtk/gtkmain.h:
        * gtk/gtkmain.c: added static version variables.

        * gdk/gdkpixmap.c: fixed memory leaks (gtk-gronlund-980307-1.patch.gz)
1998-03-08 02:04:26 +00:00
Tim Janik
124d1e5caa made the object/class cast checks much more descriptive, based on
Sat Mar  7 20:20:53 1998  Tim Janik  <timj@gimp.org>

        * gtk/gtkobject.c:
        (gtk_object_check_cast):
        (gtk_object_check_class_cast):
        made the object/class cast checks much more descriptive, based on
        gtk-draco-980305-2.patch.gz and gtk-draco-980306-1.patch.gz but
        optimized for common code path.

        * gtk/gtkpreview.c: added a few extra checks for the visual
        (gtk-draco-980305-0.patch.gz).

        * gdk/gdk.c (gdk_signal): abort() on a signal if G_ENABLE_DEBUG
          is defined, so we dump core (gtk-draco-980305-0.patch.gz).
1998-03-07 20:32:59 +00:00
Elliot Lee
3033d6b47a This commit moves dnd variables around a bit, and has a try at using hints for the shape dragging (this is for quartic) 1998-03-06 05:14:09 +00:00
Federico Mena Quintero
47f7073e28 [Ummm, maybe we should do the same change to the selection_owner variable?]
1998-03-05  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* gdk/gdkprivate.h: Changed the name of default_filters to
	gdk_default_filters to avoid namespace pollution.  Yes, it just
	happened to me.
	* gdk/gdk.c (gdk_event_translate):
	* gdk/gdkglobals.c:
	* gdk/gdkwindow.c (gdk_window_add_filter gdk_window_remove_filter): Likewise.
1998-03-06 00:39:11 +00:00
Owen Taylor
ba55b3f94b Unset allocation on unparent, to force reallocation if we get adding back
Thu Mar  5 01:22:06 1998  Owen Taylor  <owt1@cornell.edu>

	* gtk/gtkwidget.c (gtk_widget_unparent): Unset allocation
	  on unparent, to force reallocation if we get adding back
	  to a new parent which is already size-allocated.

	* gtk/gtktreeitem.c: Keep track of separate +/- pixmaps
	  for each colormap, removed the idle hack.

	* gdk/gdk.c: Don't warn when unable to open XIM method,
	  since X11R5 apparently has no default method.

	* gtk/gtkwidget.c (gtk_widget_set_style_internal): Don't
	  call size_request on initial emission - since the
	  widget size isn't set yet, it can't change.

	* gtk/Makefile.am: New rules 'test' and 'test-debug' to run
	  testgtk with the correct working directory.

	* gtk/gtkentry.c (gtk_move_forward_word):
	  Check for position at end of line.

	* gtk/gtkinputdialog.h (struct _GtkInputDialogClass):
	  removed 'gpointer data' arguments from default handler
	  structures.
1998-03-05 06:32:42 +00:00
Miguel de Icaza
793a130520 Drags can only be started with the left button.
Wed Mar  4 20:06:47 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* gdk/gdk.c (gdk_event_translate): Drags can only be started with
	the left button.
1998-03-05 02:01:47 +00:00
Elliot Lee
3fb589b2ff Add drag_end_event for future expansion, plus allow passing in NULL to the gdk filter stuff to get events without a window in our app 1998-03-01 22:37:30 +00:00
Elliot Lee
a597dd9473 D&D now lets you use shaped windows for drags. As usual, see testgtk.c... Now finish GnomeMC, miguel :) 1998-02-26 21:28:00 +00:00
Owen Taylor
203476915a Check the result of XGetICValues - it is failing for some reason, and
Tue Feb 24 22:44:01 1998  Owen Taylor  <owt1@cornell.edu>

	* gdk/gdk.c (gdk_ic_get_events): Check the result of
	XGetICValues - it is failing for some reason, and
	causing some warnings to be printed.
1998-02-25 03:43:10 +00:00
Owen Taylor
62dba86c81 the value of ---enable_debug is written into glibconfig.h so everything is
Thu Feb 19 12:18:24 1998  Owen Taylor  <owt1@cornell.edu>

	* glib/configure.in glib/glibconfig.h.in: the value of
	---enable_debug is written into glibconfig.h so everything
	is recompiled when it changes. (HACK)

	* gtk/gtkmain.c gdk/gdk.c docs/debugging.txt:
	Added --gdk-no-debug and --gtk-no-debug switches. Effect
	of switches is no cumulative.
1998-02-19 18:02:03 +00:00
Tim Janik
10474e6a73 more debugging fixes.
hey yosh, you beated me at gdk.c ;)
-timj
1998-02-19 08:14:03 +00:00
Manish Singh
c87244dd75 Should compile with debugging off now...
-Yosh
1998-02-19 08:07:55 +00:00
Owen Taylor
fc7e845c8f configure.in gdk/gdk.[ch] gdk/gdkcc.c gdk/gdkglobals.c
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
1998-02-19 06:21:27 +00:00
Jay Painter
9ad922290c A couple of compiler warning fixes, GtkCList signal changes, changed
fileselect to work with new CList signals, and enhanced testgtk's clist
example to show pixmaps and signal results. -Jay Painter
1998-02-18 10:03:54 +00:00
Elliot Lee
fa10f1361f D&D fixes 1998-02-16 22:04:52 +00:00
Tim Janik
3c7f5af2a5 check for clist !REALIZED. (draw_rows): bail out if the widget isn't
Fri Feb 13 19:08:51 1998  Tim Janik  <timj@gimp.org>

        * gtk/gtkclist.c (check_exposures): check for clist !REALIZED.
        (draw_rows): bail out if the widget isn't drawable.
        (hadjustment_value_changed):
        (vadjustment_value_changed): bail out if clist isn't drawable.

        * gdk/gdk.c (graphics_expose_predicate): check for private != NULL.
        (gdk_event_get_graphics_expose): check for window != NULL.
1998-02-13 18:41:18 +00:00
Owen Taylor
888470ee29 gtk/gtksignal.[ch] gtk/gtkmain.[ch] gtk/gtkcontainer.[ch]
Thu Feb 12 23:59:49 1998  Owen Taylor  <owt1@cornell.edu>

	* gtk/gtksignal.[ch] gtk/gtkmain.[ch] gtk/gtkcontainer.[ch]
	  gtk/gtkselection.[ch] gdk/gdk.[ch] gtktypeutils.h

 	  Replaced all _interp functions with _full functions.
	  (_interp functions left in for compatibility until 0.99.5).
	  Difference: _full functions take _both_ a C-language callback and a
	  marshaller, and simply ignore the C-language callback
	  if the marshaller is present. This allows the destroy notification
	  to be used without marshalling.

	  gtk_selection_add_handler[_full]() regularized to agree
	  with other callbacks.

	  Also, added gtk_input_add_full() to the header file.
	  (gtk_input_add_interp() was never there)

	* gtk/gtkmain.[ch] gtk/gtkwidget.c: Idle functions are now prioritized.
	  Added new function gtk_idle_add_priority to create
	  an idle with a specified priority (default is zero)
	  constants #defined - GTK_PRIORITY_[HIGH/INTERNAL/DEFAULT/LOW]
	  (redraws, resizes run at GTK_PRIORITY_INTERNAL)

	* gtk/gtkentry.c gtk/testselection.c: changes to keep up with change
  	  to gtkselection.c.
1998-02-13 05:19:06 +00:00
Tim Janik
edad08addd don't wipe out window_private's x and y coordinates if the configure
Sat Feb  7 02:29:01 1998  Tim Janik  <timj@gimp.org>

        * gdk/gdk.c (gdk_event_translate): don't wipe out window_private's x
          and y coordinates if the configure notify is only about resizing,
          query the correct origin instead.
1998-02-07 02:26:09 +00:00
Tim Janik
9258a7aecb new function to perform the same actions as gtk_list_remove_items, but
Thu Feb  5 02:13:08 1998  Tim Janik  <timj@gimp.org>

        * gtk/gtklist.h:
        * gtk/gtklist.c (gtk_list_remove_items_no_unref): new function
          to perform the same actions as gtk_list_remove_items, but
          supply the removed widgets with an additional reference count.

        * gtk/gtkmain.c (gtk_main_iteration_do): ignore events
          with event_widget == NULL, since they are bogus events
          from destroyed GdkWindows, exept for the case where
          event->type==GDK_PROPERTY_NOTIFY. Always handle expired
          timeout functions when returning from this function.

        * gtk/gtkwidget.c (gtk_widget_event): ignore GDK_EXPOSE events
          if event->window == NULL. Also, if this function couldn't handle
          the event for any reason (including failing assumptions), make
          the return value to look as if the event had been handled to
          avoid further processing (and warnings).

        * gtk/gtkwidget.h:
        * gtk/gtkwidget.c: remove gtk_widget_sink, because there is
          no point in providing such a function.

        * gdk/gdk.c (gdk_init): changed options `-name' and `-class'
          to `--name' and `--class', because the old names would
          confuse getopt(). these arguments have been introduced in the
          changes from gtk+970916 to gtk+970925 without a ChangeLog entry,
          changing argument names is painful, it would be nice if people
          would care about compatibility and consistency in the first place!
1998-02-05 03:53:41 +00:00
Tim Janik
f734007af4 added a bunch of checks for window != NULL and private->destroyed. (don't
Mon Jan 26 02:15:29 1998  Tim Janik  <timj@gimp.org>

        * gdk/gdkdraw.c:
        * gdk/gdkgc.c:
        * gdk/gdkimage.c:
        * gdk/gdkinput.c:
        * gdk/gdkpixmap.c:
        * gdk/gdkproperty.c:
        * gdk/gdkselection.c:
        * gdk/gdkwindow.c: added a bunch of checks for window != NULL and
          private->destroyed.
(don't trust this cvs commit message, i didn't modify that many files!)
1998-01-26 01:20:14 +00:00
Tim Janik
2d42cb955e sigh, it wasn't so simple - first correction
-timj
1998-01-21 09:16:33 +00:00
Tim Janik
5e517e426c new function gdk_pointer_is_grabbed(). extremely simple ;)
-timj
1998-01-21 08:35:37 +00:00
Shawn Amundson
d1da1a45a0 strdup changed to g_strdup
-Shawn
1998-01-21 05:13:01 +00:00
Owen Taylor
443648028c Take putback events into account
* gdk/gdk.c (gdk_events_pending): Take putback events into
  account

* gdk/gdk.c (gdk_event_free): Handle dropdataavaible memory
  allocation correctly. (Incompatible change: client must
  _not_ fre event->data and event->data_type.)

* gdk/gdk.c (gdk_event_translate): Changed DND dragging
  so that we don't ungrab pointer when we reenter window
  to prevent extra Enter/Leave effects which had bad
  effects.
  Changed drag zone handling to not send uncessary
  DragEnter events.
  Fixed EnterNotify/LeaveNotify handling. (Only pay
  attention to events on window, don't specify these
  events to XGrabPointer - that isn't valid, and handle
  reverse the sense of the handling of LeaveNotify.)

* gdk/gdkwindow.c (gdk_window_remove_filter): Free removed
  filter.

* gtk/gtk.defs (GdkFont): gdk_font_free => gdk_font_unref

* gtk/gtkmain.{c,h} (gtk_events_pending): new function - apps
  should use this instead of gdk_events_pending.

* gtk/gtkvbbox.h: Fixed a duplication in the headers.

* gtk/testgtk.c (dnd_drop): Don't free the drop data,
  it belongs to the event.
1998-01-17 23:24:09 +00:00
Shawn Amundson
8eb36ebbd5 Several portability fixes from Michael Callahan <callahan@xmission.com>
* Several portability fixes from Michael Callahan
          <callahan@xmission.com> including adding in missing
          #includes and adding void in function prototypes.

-Shawn
1998-01-03 05:46:58 +00:00
Elliot Lee
af9e316ce6 Fixed recursing bug in gdk_exit_func() 1998-01-02 03:43:24 +00:00
Elliot Lee
f872397c0c misc gtk touchups 1997-12-31 02:52:03 +00:00
Arturo Espinosa
6ceea7e635 Added new GDK_NO_EXPOSE and GDK_VISIBILITY_NOTIFY events. They are needed
for the TV widget by Alan Cox and by the GtkXmHTML widget.

Only missing with respect to their Xlib counterparts are the
major_code and minor_code fields in the GdkEventNoExpose structure.
Does anyone need them for their code?

- Federico
1997-12-26 08:54:12 +00:00
Elliot Lee
24b21a5d84 OK, handle box is good to go except for having the parent resize when it is dragged out, and also allowing user to drag it back into the original parent 1997-12-19 21:06:39 +00:00
Elliot Lee
8d0318387f Fixed restoration of old event mask 1997-12-18 23:38:39 +00:00
Elliot Lee
1cf3f510d1 DnD works again, fixed my own stupidity ;-) 1997-12-18 23:03:26 +00:00
Elliot Lee
fde815eb54 sorry about the debug define left in... - sopwith 1997-12-18 20:36:16 +00:00
Elliot Lee
73e9b6b205 DnD debugging misc 1997-12-18 13:59:17 +00:00
Owen Taylor
d5d01a5af9 It's all in the changelog. Well, almost all.
-owt
1997-12-18 02:17:14 +00:00
Manish Singh
f9bfb8462a Added gdk_get_display ()
-Yosh
1997-12-17 22:40:07 +00:00
Elliot Lee
4c530ae5bc Added root coords to button & motion events - sopwith 1997-12-17 14:36:57 +00:00
Tim Janik
bb698f73f4 added gdk_progclass==NULL patch by Oliver Graf <ograf@fga.de>. -timj
* gdk.c: added gdk_progclass==NULL patch by Oliver Graf <ograf@fga.de>.
-timj
1997-12-11 08:39:21 +00:00
Owen Taylor
79f532177f Remove dependencies of interfaces on USE_XIM Attempt to make wchar
* gdk/gdk.c, gdk/gdk.h, gdk/gdktypes.h:
  Remove dependencies of interfaces on USE_XIM
* gdki18n.h: Attempt to make wchar handling more portable
* gdkwindow.c: Include config.h. (For gdkinput.h)
1997-12-07 16:36:36 +00:00
Elliot Lee
7e4ee8cb4f Read the ChangeLog :) 1997-12-06 22:12:10 +00:00
Michael Johnson
a7f427d7d9 No need to DUMP CORE if the display can't be opened...
Might as well just warn folks about the problem and quit with an error.

-mkj
1997-12-05 23:14:41 +00:00
Owen Taylor
4b4c6aff91 Various configuration and portability related changes. See ChangeLog
for details.
                                        -owt
1997-12-03 21:43:44 +00:00
Elliot Lee
b50a9f760b Misc fixes for color changing stuff 1997-11-28 06:47:01 +00:00
Gnome CVS User
dd34bcca5e Patches to support internationalized input by:
Takashi Matsuda <matsu@arch.comp.kyutech.ac.jp>
  TANAKA Shinya <shinya@race.u-tokyo.ac.jp>

See ChangeLog entries for further details.

Also some small fixes to event handling in gdk/gdk.c; sending
clear events in gtk/gtkselection.c and cut-and-paste in
gtk/gtkentry.c
1997-11-27 04:16:39 +00:00
Elliot Lee
9508b76bd2 Initial revision 1997-11-24 22:37:52 +00:00