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 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.
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-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).
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)
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-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.
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
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.
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.
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.
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
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.
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.
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.
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.
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)
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-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.
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.
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.
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.
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
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.
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.
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.
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!
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!)