1. 12 May, 2000 1 commit
    • Tim Janik's avatar
      documented necessary changes for 1.4 transition. · 9595c551
      Tim Janik authored
      Fri May 12 17:13:32 2000  Tim Janik  <timj@gtk.org>
      
      	* docs/Changes-1.4.txt: documented necessary changes for 1.4 transition.
      
      	* gtk/gtktext.c: made the adjustments no-construct args, simply
      	provide default adjustments.
      	(gtk_text_destroy): release adjustments.
      
      	* gtk/gtkprogressbar.c (gtk_progress_bar_class_init): made the
      	adjustment argument non-construct.
      
      	* gtk/gtkprogress.c (gtk_progress_destroy): release adjustment here,
      	instead of in finalize.
      	(gtk_progress_get_text_from_value):
      	(gtk_progress_get_current_text):
      	(gtk_progress_set_value):
      	(gtk_progress_get_percentage_from_value):
      	(gtk_progress_get_current_percentage):
      	(gtk_progress_set_percentage):
      	(gtk_progress_configure): ensure an adjustment is present.
      
      Thu May 11 01:24:08 2000  Tim Janik  <timj@gtk.org>
      
      	* gtk/gtkcolorsel.[hc]:
      	* gtk/gtkcolorseldialog.[hc]:
      	* gtk/gtkhsv.[hc]: major code cleanups, destroy handlers need to chain
      	their parent implementation, use bit fields for boolean values, don't
      	create unused widgets, usage of glib types, braces go on their own
      	lines, function argument alignment, #include directives etc. etc. etc..
      
      	* gtk/Makefile.am (gtk_public_h_sources): install gtkhsv.h.
      
      Wed May 10 23:29:52 2000  Tim Janik  <timj@gtk.org>
      
      	* gtk/gtktoolbar.c (gtk_toolbar_destroy): don't unref a NULL tooltips.
      
      	* gtk/gtkfilesel.c (gtk_file_selection_destroy): don't free a cmpl_state
      	of NULL.
      
      	* gtk/gtkcombo.c (gtk_combo_item_destroy): don#t keep references
      	to freed data.
      	(gtk_combo_destroy): don't keep a pointer to a destroyed window.
      
      	* gtk/gtkmenu.c (gtk_menu_init): reset the menu's toplevel pointer
      	to NULL when the toplevel is getting destroyed.
      	(gtk_menu_set_tearoff_state): same here for the tearoff_window.
      	(gtk_menu_destroy):
      	(gtk_menu_init): store the information of whether we have to
      	readd the initial child ref_count during destruction in a new
      	GtkMenu field needs_destruction_ref_count.
      
      	* gtk/gtkviewport.c: SHAME! ok this one is tricky, so i note it
      	here, those reading: learn from my mistake! ;)
      	in order for set_?adjustment to support a default adjustemnt if
      	invoked with an adjustment pointer of NULL, the code read (pseudo):
      	if (v->adjustment) unref (v->adjustment);
      	if (!adjustment) adjustment = adjustment_new ();
      	if (v->adjustment != adjustment) v->adjustment = ref (adjustment);
      	now imagine the first unref to actually free the old adjustment and
      	adjustment_new() creating a new adjustment from the very same memory
      	portion. here, the latter comparision will unintendedly fail, and
      	all hell breaks loose.
      	(gtk_viewport_set_hadjustment):
      	(gtk_viewport_set_vadjustment): reset viewport->?adjustment to NULL
      	after unreferencing it.
      
      	* gtk/gtkcontainer.[hc]: removed toplevel registration
      	functions: gtk_container_register_toplevel(),
      	gtk_container_unregister_toplevel() and
      	gtk_container_get_toplevels() which had wrong semantics
      	anyways: it didn't reference and copy the list.
      
      	* gtk/gtkwindow.c: we take over the container toplevel registration
      	bussiness now. windows are registered across multiple destructions,
      	untill they are finalized. the initial implicit reference count
      	users are holding on windows is removed with the first destruction
      	though.
      	(gtk_window_init): ref & sink and set has_user_ref_count, got
      	rid of gtk_container_register_toplevel() call. add window to
      	toplevel_list.
      	(gtk_window_destroy): unref the window if has_user_ref_count
      	is still set, got rid of call to
      	gtk_container_unregister_toplevel().
      	(gtk_window_finalize): remove window from toplevel list.
      	(gtk_window_list_toplevels): new function to return a newly
      	created list with referenced toplevels.
      	(gtk_window_read_rcfiles): use gtk_window_list_toplevels().
      
      	* gtk/gtkhscale.c (gtk_hscale_class_init): made the GtkRange
      	adjustment a non-construct arg.
      	* gtk/gtkvscale.c (gtk_vscale_class_init): likewise.
      	* gtk/gtkhscrollbar.c (gtk_vscrollbar_class_init): likewise.
      	* gtk/gtkvscrollbar.c (gtk_vscrollbar_class_init): likewise.
      
      	* gtk/gtkrange.c: added some realized checks.
      	(gtk_range_destroy): get rid of the h/v adjustments in the
      	destroy handler instead of finalize. remove timer.
      	(gtk_range_get_adjustment): demand create adjustment.
      
      	* gtk/gtkviewport.c: made h/v adjustment non-construct args.
      	we simply create them on demand now and get rid of them in
      	the destroy handler.
      	(gtk_viewport_destroy): get rid of the h/v adjustments in the
      	destroy handler instead of finalize.
      	(gtk_viewport_get_hadjustment):
      	(gtk_viewport_get_vadjustment):
      	(gtk_viewport_size_allocate): demand create h/v adjustment
      	if required.
      
      	* gtk/gtkwidget.c (gtk_widget_finalize): duplicate part of the
      	gtk_widget_real_destroy () functionality.
      	(gtk_widget_real_destroy): reinitialize with a new style, instead
      	of setting widget->style to NULL.
      
      Fri May  5 13:02:09 2000  Tim Janik  <timj@gtk.org>
      
      	* gtk/gtkcalendar.c:
      	* gtk/gtkbutton.c: ported _get_type() implementation over to
      	GType, either to preserve memchunks allocation facilities,
      	or because Gtk+ 1.0 GtkTypeInfo was still being used.
      
      	* gtk/gtkobject.[hc]: derive from GObject. ported various functions
      	over. prepare for ::destroy to be emitted multiple times.
      	removed reference tracer magic. chain into GObjectClass.shutdown()
      	to emit ::destroy signal.
      
      	* gtk/gtksignal.c: removed assumptions about GTK_TYPE_OBJECT being
      	fundamental.
      
      	* gtk/gtkmain.c: removed gtk_object_post_arg_parsing_init()
      	cludge.
      
      	* gtk/gtksocket.c:
      	* gtk/gtkplug.c:
      	* gtk/gtklayout.c:
      	* gtk/gtklabel.c:
      	* gtk/gtkargcollector.c:
      	* gtk/gtkarg.c: various fixups to work with GTK_TYPE_OBJECT
      	not being a fundamental anymore, and to work with the new
      	type system (nuked fundamental type varargs clutter).
      
      	* gtk/*.c: install finalize handlers in the GObjectClass
      	part of the class structure.
      	changed direct GTK_OBJECT()->klass accesses to
      	GTK_*_GET_CLASS().
      	changed direct object_class->type accesses to GTK_CLASS_TYPE().
      
      	* gtktypeutils.[hc]: use the reserved fundamental ids provided by
      	GType. made most of the GTK_*() type macros and Gtk* typedefs
      	simple wrappers around macros and types provided by GType.
      	most notably, a significant portion of the old API vanished:
      	GTK_TYPE_MAKE(),
      	GTK_TYPE_SEQNO(),
      	GTK_TYPE_FLAT_FIRST, GTK_TYPE_FLAT_LAST,
      	GTK_TYPE_STRUCTURED_FIRST, GTK_TYPE_STRUCTURED_LAST,
      	GTK_TYPE_ARGS,
      	GTK_TYPE_CALLBACK,
      	GTK_TYPE_C_CALLBACK,
      	GTK_TYPE_FOREIGN,
      	GtkTypeQuery,
      	gtk_type_query(),
      	gtk_type_set_varargs_type(),
      	gtk_type_get_varargs_type(),
      	gtk_type_check_object_cast(),
      	gtk_type_check_class_cast(),
      	gtk_type_describe_tree(),
      	gtk_type_describe_heritage(),
      	gtk_type_free(),
      	gtk_type_children_types(),
      	gtk_type_set_chunk_alloc(),
      	gtk_type_register_enum(),
      	gtk_type_register_flags(),
      	gtk_type_parent_class().
      	replacements, where available are described in ../docs/Changes-1.4.txt.
      	implemented compatibility functions for the remaining API.
      
      	* configure.in: depend on glib 1.3.1, use gobject module.
      9595c551
  2. 14 Mar, 2000 1 commit
  3. 26 Feb, 2000 1 commit
  4. 15 Mar, 1999 1 commit
    • Tor Lillqvist's avatar
      This might seem like a large patch, but it isn't that bad, and nothing · c65508d2
      Tor Lillqvist authored
      should break on Unix/X11.
      
      Win32 merge and general portability stuff:
      
      * acconfig.h,configure.in: Check for <sys/time.h>.
      
      * gdk/win32: New directory (actually, been there for a while).
      
      * gtk/fnmatch.c: Include <glib.h> for G_DIR_SEPARATOR, WIN32 and
      NATIVE_WIN32, and use these. Always case fold on Win32. No
      backslashed escapes on native Win32.
      
      * gtk/{gtk.def,makefile.msc}: New files.
      
      * gtk/Makefile.am: Add above new files.
      
      * gtk/{gtkaccelgroup,gtkbindings}.c: Include <string.h>
      instead of <strings.h>.
      
      * gtk/{gtkcalendar,gtkitemfactory,gtkpreview,gtkrc}.c: Include
      config.h. Protect inclusion of <sys/param.h>, <sys/time.h>, and
      <unistd.h> appropriately.
      
      * gtk/gtkdnd.c: Merge in Win32 version (which doesn't do much).
      Use ABS() (from <glib.h>) instead of abs().
      
      * gtk/gtkfilesel.c: Moved Win32-specific includes after inclusion
      of gtk (and thus glib) headers, so that WIN32 will be
      defined. With MS C, include <direct.h> for mkdir prototype.
      
      * gtk/gtkitemfactory.c (gtk_item_factory_callback_marshal): Add
      some casts, needed by MS C.
      
      * gtk/{gtklayout,gtkplug}.c: Merge in Win32 version (which isn't
      implemented).
      
      * gtk/gtkmain.c: Include gdk/gdkx.h for GDK_WINDOWING. Include
      <X11/Xlocale.h> only on X11 platform, otherwise <locale.h>.  Use
      G_SEARCHPATH_SEPARATOR_S and g_module_build_path.
      
      * gtk/gtkmain.h: Mark variables for export/import on Win32.
      
      * gtk/gtkrange.c (gtk_range_motion_notify): Set mods also in case
      the event is not a hint, or its window is not the slider. Needed
      on Win32, at least.
      
      * gtk/gtkrc.c: Include config.h and gdk/gdkx.h. Use <locale.h>
      unless on X11. Skip \r chars, too. Use G_DIR_SEPARATOR and
      G_SEARCHPATH_SEPARATOR(_S). Use g_path_is_absolute. On Win32, use
      a subdirectory of the Windows directory as gtk system
      configuration directory.
      
      * gtk/gtkselection.c: No chunks on Win32.
      
      * gtk/gtksocket.c: Not implemented on Win32.
      
      * gtk/gtkthemes.c (gtk_theme_engine_get): Use g_module_build_path.
      
      * gtk/makeenums.h: Include gdkprivate.h after gdk.h.
      
      * gtk/testrgb.c: Use dynamically allocated buffer. Use GTimers.
      c65508d2
  5. 24 Feb, 1999 1 commit
  6. 20 Feb, 1999 1 commit
  7. 16 Feb, 1999 1 commit
    • Owen Taylor's avatar
      When setting styles, remove unecessary explicits draws and clears. · fd2c0c56
      Owen Taylor authored
      Fri Feb 12 15:47:20 1999  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtkcalender.c gtk/gtkentry.c gtk/gtkhandlebox.c
      	  gtk/gtknotebook.c gtk/gtktext.c  gtk/gtkviewport.c
      	  gtk/gtkwidget.c:
      
      	 When setting styles, remove unecessary explicits draws
      	 and clears.
      
      	* gtk/gtkrange.c: Ugly fix so the steps get the
      	 correct background.
      fd2c0c56
  8. 31 Dec, 1998 1 commit
    • Elliot Lee's avatar
      gtk.m4: When testing to see if glib exists, set LIBS="$GTK_LIBS $LIBS" NOT · 385108e0
      Elliot Lee authored
      
      
      gtk.m4:
      	When testing to see if glib exists, set
      	        LIBS="$GTK_LIBS $LIBS"
      	NOT
      	        LIBS="$LIBS $GTK_LIBS"
      	because order matters - if the user specifies their own $LIBS to
      	./configure, these need to be passed in last.
      
      gtk/Makefile.am:
      	Fix problems with gtktypebuiltins* getting rebuilt every single
      	time 'make' was run.
      
      gtk/gtkcalendar.c:
      	Set 'week' variable to 0 to get rid of uninitialized
      	variable warning. Better solution is to give it the right value
      	somewhere :)
      
      gtk/gtkclist.c:
      	When computing optimum column size, don't subtract the borders.(?)
      
      gtk/gtkcolorsel.c:
      	Don't read past end of array.
      385108e0
  9. 30 Nov, 1998 1 commit
    • Elliot Lee's avatar
      I submitted this patch twice to gtk-devel-list, and received no comments, · 060978e0
      Elliot Lee authored
      
      
      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.
      060978e0
  10. 28 Nov, 1998 1 commit
    • Tim Janik's avatar
      deprecated gtk_widget_freeze_accelerators and · 58af2b56
      Tim Janik authored
      Sat Nov 28 00:06:49 1998  Tim Janik  <timj@gtk.org>
      
              * gtk/gtkwidget.h:
              * gtk/gtkwidget.c: deprecated gtk_widget_freeze_accelerators and
              gtk_widget_thaw_accelerators, we provide gtk_widget_lock_accelerators
              and gtk_widget_unlock_accelerators.
      
              * gtk/gtklayout.h:
              * gtk/gtklayout.c: implemented incremental freezing facility.
      
              * gtk/gtktext.h:
              * gtk/gtktext.c: implemented incremental freezing facility.
      
              * gtk/gtkenums.h:
              * gtk/gtkaccelgroup.h: moved enum GtkAccelFlags into this place.
      
              * gtk/gtkentry.h:
              * gtk/gtkentry.c:
              deprecated gtk_entry_adjust_scroll().
      
              * random GtkType, macro and indentation fixes.
      
      Fri Nov 27 22:50:15 1998  Tim Janik  <timj@gtk.org>
      
              * gtk/gtkclist.h:
              * gtk/gtkclist.c: implemented incremental freezing facility, added
              a new class member (*refresh)() which takes over the thaw
              functionality. the clist FROZEN flag got removed on the way.
              * gtk/gtkctree.c: adaptions to feature the clist refresh functionality
              and incremental freezing.
      
              * gtk/gtkcalendar.c: implemented incremental freezing facility.
      58af2b56
  11. 20 Nov, 1998 1 commit
  12. 05 Oct, 1998 1 commit
    • CDT 1998 Shawn T. Amundson's avatar
      gtk/gtkcalendar.c: More changes: - The day with focus is now seperated · 6b15c2ca
      CDT 1998 Shawn T. Amundson authored
      Sun Oct  4 22:47:22 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
      
              * gtk/gtkcalendar.h:
                gtk/gtkcalendar.c: More changes:
                - The day with focus is now seperated from the day selected
                - The day with focus has the xor's line around it
                - The selected day is now standard selected style
                - The week names and week numbers are now also drawn
                  with selected style
                - Space now selects the day which has focus
      6b15c2ca
  13. 04 Oct, 1998 1 commit
    • CDT 1998 Shawn T. Amundson's avatar
      gtk/gtkcalendar.c: Some significant changes, including: - No longer draw · 16786ffb
      CDT 1998 Shawn T. Amundson authored
      Sun Oct  4 17:55:52 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
      
              * gtk/gtkcalendar.h:
                gtk/gtkcalendar.c: Some significant changes, including:
                - No longer draw focus around entire widget, only around
                  the day which has focus
                - Draw relief around entire widget like originally planned
                - Show header and day names by default
                - Move data private to the widget out of GtkCalendar struct
                  and only point to it with a gpointer
                - Remove some old unused variables from GtkCalendar struct
      16786ffb
  14. 01 Oct, 1998 1 commit
    • Tim Janik's avatar
      new function. (gtk_clist_insert): added g_return_val_if_fail() statements. · b89ed0c3
      Tim Janik authored
      Thu Oct  1 10:40:20 1998  Tim Janik  <timj@gtk.org>
      
              * gtk/gtkclist.h (gtk_clist_prepend):
              * gtk/gtkclist.c (gtk_clist_prepend): new function.
              (gtk_clist_insert): added g_return_val_if_fail()
              statements. accept a row parameter < 0 or > clist->rows to indicate
              append mode.
              (real_clear): first clean up all internal pointers and lists (e.g.
              clist->row_list or clist->rows), then delete the distinct rows. this
              is required because of destroy notifiers, we need to have all internal
              structures updated and be reentrant.
      
              * gtk/gtkcalendar.h:
              * gtk/gtkcalendar.c: removed the `gtk_calendar_' prefix from the
              GtkCalendarClass signal methods.
              GtkType and macro fixups, put `void' into () prototypes, avoid C++
              style comments, indentation fixes, fixed some g_return_if_fail()
              statements.
              (gtk_calendar_paint_header):
              (gtk_calendar_paint_day_names):
              (gtk_calendar_paint_week_numbers):
              (gtk_calendar_paint_main): made these static functions.
              (gtk_calendar_select_month):
              (gtk_calendar_select_day):
              (gtk_calendar_mark_day):
              (gtk_calendar_unmark_day):
              (gtk_calendar_get_date): signedness corrections, use guints
              rather than gints.
              (gtk_calendar_size_request): removed unused variables.
      b89ed0c3
  15. 28 Sep, 1998 1 commit
  16. 27 Sep, 1998 1 commit