Tue Jun 9 18:44:57 1998 Owen Taylor <otaylor@gtk.org>
* gtk/gtkobject.c: Removed g_object_pointer_hash, which
was just g_direct_hash.
Mon May 25 19:54:20 1998 Owen Taylor <otaylor@gtk.org>
* configure.in: x_libs=, not $x_libs=. Enough said.
(Case only hit for --disable-xshm)
Mon May 25 12:08:14 1998 Owen Taylor <otaylor@gtk.org>
* configure.in (LDFLAGS): Add to $CFLAGS and $LDFLAGS
when testing for X libraries, don't replace them. Because
the user might have specified the path to the X libraries
themself before running configure.
* examples/**.c: Changed all gpointer * to gpointer
Sat May 23 21:54:05 1998 Owen Taylor <otaylor@gtk.org>
* configure.in (LDFLAGS): Bomb out with a moderately
helpful message if detection of X libraries fails.
Sat May 23 18:57:06 1998 Owen Taylor <otaylor@gtk.org>
[ Combination of:
gtk-rrh-980412-0.patch (Raja R Harinath <harinath@cs.umn.edu>)
gtk-jbuhler-980516-0 (Jeremy Buhler <jbuhler@cs.washington.edu>) ]
* gdk/gdk.h gdk/gdkcc.c gdk/gdkfont.c gtk/gtkmain.c
gtk/gtksignal.c gtk/gtktext.c:
Fixups for warnings from adding const to type of GHashFunc,
GCompareFunc
* gtk/gtkcombo.c (gtk_combo_entry_key_press): Minor style/
ansi-warnings fixups.
Tue Jun 9 17:47:33 1998 Owen Taylor <otaylor@gtk.org>
* glib.h: Remove #error - HP/UX.
Sat May 23 19:00:01 1998 Owen Taylor <otaylor@gtk.org>
[ Combination of:
gtk-rrh-980412-0.patch (Raja R Harinath <harinath@cs.umn.edu>)
gtk-jbuhler-980516-0 (Jeremy Buhler <jbuhler@cs.washington.edu>) ]
* glib.h ghash.c gstring.c gdataset.c gutils.c:
- Added new typedef g_const_pointer; expunged all incorrect
uses of 'const gpointer'.
- Fixed up warnings that that created,
- Changed GHashFunc and GCompareFunc to take g_const_pointer
arguments. (Necessary, but will cause warnings in existing
code until fixed)
- Added other new const in harmless positions.
Fri May 22 03:02:40 1998 Owen Taylor <otaylor@gtk.org>
* gtk/gtkhandlebox.c: Added style_set handler.
Fri May 22 02:55:57 1998 Owen Taylor <otaylor@gtk.org>
[ From: Chris Lahey <clahey@umich.edu> ]
* gtk/gtkeditable.c, gtk/gtkeditable.h,
gtk/gtktext.c, gtk/gtkentry.c: Added get_position,
and set_position functions to get and set the cursor position.
* gtk/gtkeditable.c: Restored "insert_text" and "delete_text" to
signal status. Make GtkText do user-controlled insertion
and deletion through the Editable widget so that these
signals are properly emitted.
* gtk/gtkentry.c: Changed gtk_entry_set_visibility to
display asterisks instead of empty space when visible = FALSE)
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.
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.
Thu Apr 30 11:18:00 1998 Owen Taylor <otaylor@gtk.org>
* gtk/gtkcombo.[ch]: Allow the user to use the popup list
like a menu.
* gtk/gtkmenuitem.c gtk/gtkitem.c: Moved enter/leave handlers
to gtkitem.c so dragging can also work in lists.
* gtk/gtklist.[ch]: Track child enter events and use
those to allow dragging the selection.
Thu Apr 30 11:16:06 1998 Owen Taylor <otaylor@gtk.org>
* gtk/gtktext.c: Try enabling background pixmaps for editable text
widgets. There is a bit of flashing, but not too bad. If you
don't want the flashing, you can always not set a background
pixmap.
Wed Apr 29 15:46:13 1998 Owen Taylor <otaylor@gtk.org>
* gtk/gtktext.c: Fixed a bug where the drawn level
was being messed up when the text was scrolled
during a deletion.
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)
Sat Apr 11 02:01:31 1998 Owen Taylor <owt1@cornell.edu>
* gtk/gtktext.c (scroll_down): Removed incorrect part of
assertion that was causing failures for scrolling a single
line very short text widget.
Sat Apr 11 01:41:55 1998 Owen Taylor <owt1@cornell.edu>
* gtk/gtktext.c (expose_text): Fixed a sign problem
(typedef gint guint!). Added some checks to make sure things
are positive.
Mon Apr 6 08:05:23 1998 Owen Taylor <owt1@cornell.edu>
* gtk/gtkbutton.c (gtk_button_paint): Take border in
account properly.
* gtk/gtktext.c (gtk_text_realize): Don't recompute
geometry when creating with initial 1x1 geometry,
since our calculations can't handle that. Leave
text->line_start_cache NULL as sign we don't have
a real geometry yet.
* gtk/gtkentry.c (gtk_entry_motion_notify): Use the x
value we get from gdk_window_get_pointer, not from
event->x - since we always specify OwnerGrabButtonMask
(why???), event->x can refer to another window.
Fri Apr 3 23:15:55 1998 Owen Taylor <owt1@cornell.edu>
* gtk/gtktext.c: Test for need to recompute geometry with
GTK_WIDGET_REALIZED(), not GTK_WIDGET_DRAWABLE().
Fri Apr 3 21:03:38 1998 Owen Taylor <owt1@cornell.edu>
* gtk/gtktext.c (gtk_text_realize): Call recompute_geometry()
upon realization, since it can't be done in the previous
size_allocate.
Fri Mar 27 00:13:18 1998 Owen Taylor <owt1@cornell.edu>
* gtk/gtkmain.c (gtk_propagate_event): If the widget is _not_
a descendant of a Window widget, propagate key presses like
other events.
* gtk/gtkentry.c gtk/gtktext.c: Ignore multiple simultaneous
button presses instead of treating subsequent presses as
release/press pairs for tablet compatibility.
* configure.in config.h.in: Removed inline checks, because they
are duplicated in glib.
* gtk/gtkwidget.c (gtk_widget_draw): When gtk_widget_draw ()
occurs with queued draw already in place, redraw _entire_
widget. (Pointed out by Tim Janik)
Mon Mar 23 01:04:51 1998 Owen Taylor <owt1@cornell.edu>
* gtk/gtktext.[ch] testgtk.c: Added optional word wrap, controlled
by new function gtk_text_set_word_wrap; and a check button
in the Text test.
* gtk/gtktext.c: First line wasn't getting updated
properly when selection was removed.
Wed Mar 18 11:09:10 1998 Owen Taylor <owt1@cornell.edu>
( From: James Henstridge <james@daa.com.au> )
* gtk/gtkclist.c: Don't remove, then destroy labels in
gtk_clist_set_column_[*], just remove them.
* gtk/gtkmain.c (gtk_invoke_timeout_function): call
marshal when appropriate, not function.
Tue Mar 17 14:15:07 1998 Owen Taylor <owt1@cornell.edu>
* gtk/testgtk.c (create_main_window): Alphabetize tests
* gtk/gtk[hv]paned.c: Change division on resize if
necessary to keep handle visible.
* gtk/gtkgamma.c gtk/gtkcurve.c: Moved initialization into
_init() functions.
* gtk/gtkscrolledwindow.c: Added missing _construct()
functions.
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
Sat Mar 14 13:26:09 1998 Owen Taylor <owt1@cornell.edu>
* gtk/gtkentry.c gtk/gtktext.c: Some cleanups of signedness
warnings
* gtk/gtkhandlebox.h: Changed gint ... : 1 to guint ... : 1
Wed Mar 11 04:35:06 1998 Tim Janik <timj@gimp.org>
* gtk/gtklist.c:
* gtk/gtktree.h:
* gtk/gtktree.c:
* gtk/gtktreeitem.h:
* gtk/gtktreeitem.c: applied gtk-bolliet-980310-0.patch.gz which adds
more checks and implements gtk_tree_clear_items. made a bunch of style
and indentation fixes.
-timj
Tue Mar 10 14:24:09 1998 Owen Taylor <owt1@cornell.edu>
* gtk/gtkselection.c (gtk_selection_clear): Make the return
result reflect whether the clear event was out of data.
* gtk/gtkeditable.c: Ignore out of date selection clear
events.
* gtk/gtkentry.c gtk/gtktext.c: Don't synthesize releases
on [2/3]BUTTON presses, since we get the normal click as well.
Claim the selection when selecting words/lines.
Tue Mar 10 13:34:29 1998 Owen Taylor <owt1@cornell.edu>
* gtk/gtkrange.c (gtk_range_default_[vh]trough_click):
Take forward/back step arrows into account when computing
position for middle button clicks.
* gtk/gtktext.c gtk/gtkentry.c:
- Fixes for deleting characters (don't subtract guints and get
negative numbers!)
- Reset cursor_virtual_x when moving by words and lines
- Extra sanity checks
- Fix to gtk_text_get_chars
(from Tony Gale <gale@daedalus.dera.gov.uk>)
Mon Mar 9 20:38:15 1998 Owen Taylor <owt1@cornell.edu>
* gtk/gtkentry.c gtk/gtkeditable.c gtk/gtkspinbutton.c:
Moved "activate" to editable class. Made the vfuncs in
gtkeditable just vfuncs not signals.
* gtkentry.[ch] gtktext.[ch]: Made behavior when pressing
multiple buttons at once more rational.
* gtkentry.c gtktext.c: Unified and rationalized key
bindings. (Now are basically emacs+CUA)
* gtktext.c:
- Last position now always shares the property of the preceding
character
- Freeze the widget when inserting large amounts of text.
- Selecting lines now selects the _whole_ line.
- Fixed bug with displaying the cursor
- Ctrl-Home/End now move the cursor to the _absolute home/end
* gtkmenuitem.c: Remove necessary code out of a g_return_if_fail
-timj
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.
Fri Mar 6 21:30:05 1998 Owen Taylor <owt1@cornell.edu>
* gtk/gtkeditable.c: Disallow pasting into non-editable
widgets.
* gtk/gtktext.[ch]:
-Added scrolling when dragging the selection
paste the top/bottom.
-Fix some of the problems with displaying the selection
state before mouse release.
-Disallow pasting into non-editable widgets
-Fixed segfault when changing window size
-Update the cursor correctly when switching between
editable and non-editable
* testgtk.c: Added a toggle button for editability for
the text widget.
Sun Mar 1 05:18:11 1998 Owen Taylor <owt1@cornell.edu>
* gtk/gtkentry.c gtk/gtktext.c gtkeditable.[ch]
Changed interface to cut/copy/paste so it makes sense
when triggered by say, menu items.
Sun Mar 1 03:20:39 1998 Owen Taylor <owt1@cornell.edu>
* gtk/gtkentry.[ch] gtk/gtktext.[ch] gtkeditable.[ch]
Turned off debugging in gtktext.c
Bug fixes for cutting, pasting, deleting, etc.
Some of the bugs that were there before have definitely
been fixed.
* gtk/testgtk.c gtk/testgtkrc: Removed my ugly orange backgrounds,
to make things look nicer.
Sat Feb 28 23:58:54 1998 Owen Taylor <owt1@cornell.edu>
* gtk/gtkentry.[ch] gtktext.c gtkeditable.[ch]
Created a new base widget type Editable for the entry and
text widgets, which encapsulates most of the selection and
clipboard handling stuff, plus some common signals.
Changed the Entry widget extensively to support this,
but the interface and appearance should be the same.
Changed the Text widget moderately to support this.
It now supports:
- Selection style cut and paste
- Clipboard style cut and paste
- Emacs style key bindings (~same as Entry)
- Word motion
- "changed" signal
There are definitely still some bugs in the new stuff.
* gtkfilesel.c gtkspinbutton.c testgtk.c: small changes
to fit the new interface more exactly.
Fri Feb 27 15:31:55 1998 Tim Janik <timj@gimp.org>
* gtk/gtktipsquery.c: we make an active server grab now, this way we
can change the cursor globally and don't need to tweak event masks
of other windows.
* gtk/gtkframe.c (gtk_frame_style_set): recompute label size.
* gtk/gtkwidget.h:
* gtk/gtkwidget.c:
New signal GtkWidget::style_set to be emitted when a widget's style
changed. New flag GTK_RC_STYLE to indicate whether an rc lookup has
been perfomed for the widget.
(gtk_widget_ensure_style): New function.
(gtk_widget_set_rc_style): New function.
* docs/styles.txt: new file.
Fri Feb 27 01:11:55 1998 Owen Taylor <owt1@cornell.edu>
* gtk/gtktext.c
- gtk_text_delete and gtk_text_insert now update caches
and refresh screen correctly if the text widget isn't frozen.
- Fixed bug where text->first_line_start_index wasn't
being updated correctly on insertion and deletion.
- Added new public macro GTK_TEXT_INDEX (text, ind), and
function gtk_text_get_chars(text, index, nchars);
Thu Feb 26 22:36:46 1998 Owen Taylor <owt1@cornell.edu>
* gtk/gtkhandlebox.c (gtk_handle_box_realize): Use MWM hints
to undecorate window.
* gtk/testgtk.c gtk/circles.xbm: new test for WM hints.
Tue Feb 24 22:47:01 1998 Owen Taylor <owt1@cornell.edu>
* gtk/gtktext.c: Added some support for i18n. The support
for input methods, including preedit, is there, but input
is ignored unless it comes one byte at a time, so the
CJK locales won't really work. Fixing that would require
variable-width character support in the Text widget, which
is probably the wrong approach. Eventually we'll probably
want to go to UCS-4 internally.
Also, revised key press handling, which should improve
the forwarding of non-handled keypresses to the toplevel,
and make adding selection handling easier.
* gtk/gtkentry.c: Minor changes so that C-d, etc delete
the selection if there is one.
Thu Feb 19 12:18:24 1998 Owen Taylor <owt1@cornell.edu>
* gtk/testgtk.c : Use POINTER_MOTION_HINT when dragging
shapes around.
(gtk-wille-980203-0
Stefan Wille <1wille@vsys1.informatik.uni-hamburg.de>)
* gtk/gtktext.c : Fixes to inserting and deleting characters
on line breaks.
(gtk-magnus-980210-0 Magnus Hulthen <magnus@axiom.se>)
Sun Jan 18 09:57:00 1998 Owen Taylor <owt1@cornell.edu>
* gtkbutton.c gtkclist.c gtkdrawingarea.c gtkentry.c gtkeventbox.c
gtkfixed.c gtkhandlebox.c gtkhscale.c gtkhscrollbar.c gtkitem.c
gtklist.c gtkmenushell.c gtkmisc.c gtknotebook.c gtkpaned.c
gtkpreview.c gtkprogressbar.c gtkruler.c gtktext.c gtktree.c
gtkviewport.c gtkvscale.c gtkvscrollbar.c gtkwidget.{c,h}
Added gtk_widget_set_parent and gtk_widget_get_parent. All
widgets should use:
gtk_widget_get_parent() instead of widget->parent->window.
Any widget that wants to have children not in the parent window,
should use gtk_widget_set_parent () in their realize() and
add () routines.
CList and Viewport widgets changed to do this. (Viewport
widget using code from gtk-fortier-980117-0.patch.)
* glib_pre1.h:
* glib_pre2.h:
* glib.h: this file now gets concatenated by makeglib_h from
glib_pre1.h and glib_pre2.h to merge in glibconfig.h wich got
created by configure (done by Jay Painter).
* glib_pre2.h: the g_assert*() and g_return_*_fail() macros
are wrapped by G_STMT_START and G_STMT_END now, to avoid conflicts
when used within if (...) g_macro(); else ... conditionals.
Gtk+:
* fixed some compiler errors, because g_return_if_fail() wasn't used
with a trailing semicolon in some places. fixed few other warnings also.
-timj