1. 20 Jun, 2002 1 commit
    • Owen Taylor's avatar
      Add a singleton object that we can use to get notification when displays · 5830bf89
      Owen Taylor authored
      Thu Jun 20 16:49:00 2002  Owen Taylor  <otaylor@redhat.com>
      
              * gdk/gdkdisplaymanager.[ch] gdk/gdk.[ch] gdk/gdkdisplay.c
              gdk/gdkinternals.h gdk/x11/gdkdisplay-x11.c
              gdk/win32/gdkdisplay-win32.c: Add a singleton object that
              we can use to get notification when displays
              appear / disappear or the default display changes.
      
              gdk_set_default_display() => gdk_display_manager_set_default_display()
              gdk_list_displays() => gdk_display_manager_list_displays().
              (#85696)
      
              * gdk/Makefile.am gdk/gdkmarshalers.list: Add marshaler
              generation.
      
              * gdk/gdkintl.h: Add this.
      
              * gtk/gtkmain.c: Add gtk_parse_args() that initializes
              GTK+ without opening a display.
      
              * gtk/gtkmain.c: Set things up so if a module
              exports gtk_module_init() and gtk_module_display_init(),
              then we treat it as multihead aware, otherwise,
              we only initialize it after the default display is set.
      5830bf89
  2. 25 Apr, 2002 1 commit
    • Owen Taylor's avatar
      Start of integration of Erwann Chenede's multihead work from the · 425b9886
      Owen Taylor authored
      Thu Apr 25 16:51:40 2002  Owen Taylor  <otaylor@redhat.com>
      
              Start of integration of Erwann Chenede's multihead work
              from the gtk-multihead branch.
      
              * gdk/gdkdisplay.[ch] gdk/gdkscreen.[ch]
              gdk/x11/gdkdisplay-x11.[ch] gdk/x11/gdkscreen-x11.[ch]
              New classes representing a set of screens with attached
              input devices and a single contiguous area, respectively.
      
              * gdk/gdk.[ch] gdk/gdkinternals.h gdk/x11/gdkmain-x11.c:
              gdk/x11/gdkprivate-x11.h: Make the initialization interface
              simple _gdk_windowing_init() and do the rest in
              gdk_open_display() calls.
      
              * gdk/gdk.[ch]: Add gdk_parse_args() which can be used
              to do the display-independent part of initialization
              instead of gdk_init_[check].
      
              * gdk/gdkcursor.h gdk/gdkfont.h gdk/gdkkeys.h gdk/gdkpixmap.h
              gdk/gdkproperty.h gdk/gdkselection.h gdk/gdkwindow.h:
              Add multihead variants (_for_display(), for_screen()) of functions
              getting information specific to a particular screen screen or
              display.
      
              * gdk/gdkscreen.[ch]: Add gdk_screen__* variants of functions
              like gdk_rgb_get_colormap() that used to get/list global
              objects.
      
              * gdk/x11/gdkx.h: Add functions for converting GdkScreen
              and GdkDisplay into the X equivalents.
      
              * gdk/x11/gdkwindow-x11.c: Removed gdk_window_xid_at_coords()
              not in the headers and unused.
      
              * configure.in gdk/x11/{gxid.c,gxid_lib.[ch],gdkinput-gxi.c}:
              Remove gxid support ... has not been tested for a long time...
              "xfree" support is more portable to non XFree86.
      
              * gdk/**.h: Add a GDK_MULTIHEAD_SAFE define that can be
              used to turn off functions that are inherently non-multihead
              safe.
      
              * gdk/**.c: add GDK_NOTE(multihead, ...) calls when functions
              are used in non-multihead-safe ways.
      
              * gdk/*.c gdk/x11/*.c: Changes to make the internals of GDK
              multihead safe.
      425b9886
  3. 22 Oct, 2001 1 commit
  4. 07 Sep, 2001 2 commits
    • Owen Taylor's avatar
      Deprecate gdk_set/get_use_xshm, make gdk_set_use_xshm a noop. Remove · a3914aaf
      Owen Taylor authored
      Fri Sep  7 18:17:47 2001  Owen Taylor  <otaylor@redhat.com>
      
      	* gdk/gdk.h gdk/x11/gdkmain-x11.c: Deprecate gdk_set/get_use_xshm,
      	make gdk_set_use_xshm a noop. Remove --no-xshm command line
      	option. If we aren't autodetecting properly, we need
      	to fix the problem, or at least make it an environment
      	variable setting, to avoid problems with propagating
      	to embedded children, plugins, etc.
      
      	* gdk/gdkcolor.h: Deprecate gdk_colormap_get_system_size().
      
      	* gdk/gdkpixbuf-render.c gdk/gdkpixbuf.h
      	(gdk_pixbuf_render_pixmap_and_mask_for_colormap):
      	New function to render a pixmap and mask for a particular colormap.
      
      	* gtk/gtkwindow.c (get_pixmap_and_mask): Change to use
      	gdk_pixbuf_render_pixmap_and_mask_for_colormap () instead
      	of internal implementation of the same.
      a3914aaf
    • Owen Taylor's avatar
      Make gdkx.h the only installed header from gdk/x11. All structures in · 1bbf2ac7
      Owen Taylor authored
      Fri Sep  7 11:51:44 2001  Owen Taylor  <otaylor@redhat.com>
      
            Make gdkx.h the only installed header from gdk/x11.
            All structures in gdk/x11 are opaque.
      
      	* gdk/x11/Makefile.am gdk/x11/gdkx.h gdk/x11/gdkprivate-x11.h:
      	Don't install gdk{drawable,pixmap,window}-x11.h.
      
      	* gdk/x11/{gdkcolormap-x11.c, gdkfont-x11.c, gdkx.h, gdkvisual-x11.c:
      	Move GdkColormapPrivateX11, GdkFontPrivateX GdkImagePrivateX11,
      	GdkVisualClass into C files.
      
      	* gdk/gdkpixmap-x11.[ch]: Make gdk_pixmap_impl_get_type() static.
      
      	* gdk/x11/{gdkcolor-x11.c, gdkcursor-x11.c, gdkdrawable-x11.c,
      	gdkfont-x11.c, gdkgc-x11.c, gdkx.h, gdkimage-x11,gdkvisual-x11.c}
      	Add public functions to replace previously exported direct
      	structure access.
      	gdk_x11_colormap_get_{xdisplay,xcolormap}
      	gdk_x11_cursor_get_{xdisplay,xcursor},
      	gdk_x11_drawable_get_{xdisplay,xcursor,gdk_x11_visual_get_xvisual,
      	gdk_x11_font_get_{xdisplay,xfont}, gdk_x11_image_get_{xdisplay,ximage},
      	gdk_x11_gc_get_{xdisplay,ximage}
      
      	* gdk/gdkprivate.h gdk/gdkinternals.h: Move GdkColorInfo,
      	GdkEventFilter, GdkClientFilter, GdkFontPrivate to gdkinternals.
      
            Fix a number of variables and functions that were exported
            "accidentally" from GDK.
      
      	* gdk/**.[ch]: gdk => _gdk for gdk_visual_init,
      	gdk_events_init, gdk_input_init, gdk_dnd_init, gdk_image_exit,
      	gdk_input_exit,	gdk_windowing_exit, gdk_event_func, gdk_event_data,
      	gdk_event_notify, gdk_queued_events, gdk_queued_tail,
      	gdk_event_new, gdk_events_queue, gdk_events_unqueue,
      	gdk_event_queue_find_first, gdk_event_queue_remove_link,
      	gdk_event_queue_append, gdk_event_button_generate,
      	gdk_debug_flags, gdk_default_filters, gdk_parent_root.
      
      	* gdk/x11/{gdkevents-x11.c, gdkglobals-x11.c, gdkimage-x11.c,
      	   gdkmain-x11.c, gdkprivate-x11.h, gdk/x11/gdkwindow-x11.c}:
      	gdk => _gdk for gdk_event_mask_table, gkd_nevent_masks,
      	gdk_wm_window_protocols, gdk_leader_window, gdk_xgrab_window,
      	gdk_use_xshm, gdk_input_ignore_core.
      
      	* gdk/x11/xsettings-common.h (xsettings_list_insert): Add
      	#defines to namespace functions into the private _gdk_
      	namespace.
      
      	* gdk/gdkwindow.[ch] gdk/x11/gdkx.h: Add gdk_get_default_root_window ()
      	to replace gdk_parent_root exported variable. Adjust and
      	deprecate GDK_ROOT_PARENT().
      
      	* demos/{testpixbuf-drawable.c,testpixbuf-save.c}: Fix
      	GDK_ROOT_PARENT usage, remove includes of port-specific
      	headers.
      
      	* gdk/{win32,x11,fb}/gdkinput*.[ch]: s/gdk/_gdk/ for
      	_gdk_input_gxid_host, _gdk_input_gxid_port, _gdk_input_ignore_core,
      	gdk_input_devices, _gdk_input_windows, gdk_init_input_core.
      
      	* gdk/x11/{gdkevents-x11.,c gdkglobals-x11.c, gdkmain-x11.c}
      	docs/Changes-2.0.txt: Remove gdk_wm_protocols,
      	gdk_wm_delete_window functions, gdk_wm_take_focus,
      	use gdk_atom_intern() instead.
      
      	* gdk/linux-fb/{gdkselection-fb.c, gdkmain-fb.c, gdkprivatefb.h}
      	  gdk/win32/{gdkselection-win32.c, gdkmgdkwin32.h, gdkprivate-win32.h}
      	  gdk/x11/{gdkselection-x11.c gdkx.h, gtkprivate-x11.h}
      	  gtk/gtkselection.c
              Unexport gdk_selection_property, just use
      	gdk_atom_intern ("GDK_SELECTION").
      
      	* gdk/x11/{gdkprivate-x11.h,gdkdrawable-x11h,gdkgc-x11.c,gdkx.h}:
      	Unexport gdk_drawable_impl_x11_get_type, gdk_gc_x11_get_type,
      	GDK_GC_X11 cast macros, GdkGCX11 structures, GdkCursorPrivate,
      	GdkVisualprivate, gdk_x11_gc_flush.
      
            Make a number of public exports of variables into functions
            to increase encapsulation.
      
      	* gdk/gdkinternals.h gdk/gdkinput.h gdk/gdkevents.h
      	gdk/linux-fb/gdkmouse-fb.c: gdk_core_pointer => _gdk_core_pointer,
      	move to gdkinternals.h. Add gdk_device_get_core_pointer ().
      
      	* gdk/gdkprivate.h gdk/gdkpango.c gdk/gdkinternals.h
      	docs/Changes-2.0.txt: Unexport gdk_parent_root, gdk_error_code,
      	gdk_error_warnings.
      
      	* gdk/x11/{gdkcolormap-x11.c, gdkmain-x11.c, gdkx.h}
      	  docs/Changes-2.0.txt:
      	s/gdk_screen/_gdk_screen/, add gdk_x11_get_default_screen()
      	s/gdk_root_window/_gdk_root_window/, add gdk_x11_get_default_root_xwindow()
      	Add gdk_x11_get_default_xdisplay().
      
      	* gdk/gdk.h gdk/gdk.c linux-fb/gdkfb.h linux-fb/gdkglobals-fb.c
      	win32/gdkwin32.h x11/gdkglobals-x11.c gdk/x11/gdkmain-x11.c
      	gdk/x11/gdkx.h: gdk/gdk.def: Add gdk_get/set_program_class,
      	Don't export gdk_progclass, move --class command line
      	option and handling to common portion of GDK.
      
            Miscellaneous fixes:
      
      	* gdk/x11/gdkwindow-x11.c (gdk_window_set_icon_list): Fix
      	g_return_val_if_fail that should have been g_return_if_fail.
      
      	* gdk/gdkinternals.h gdk/gdkprivate.h: Move
      	gdk_synthesize_window_state() to the semi-public gdkprivate.h.
      
      	* gtk/gtkdnd.c (_gtk_drag_source_handle_event): Remove uneeded
      	X11 dependency.
      
      	* gdk/linux-fb/gdkmain-fb.c gdk/win32/gdkmain-win32.c gdk/TODO:
      	Remove unused gdk_key_repeat_disable/restore.
      
      	* linux-fb/gdkglobals-fb.c win32/gdkglobals-win32.c
      	x11/gdkglobals-x11.c x11/gdkprivate-x11.h gdk/gdk.def:
      	Remove unused gdk_null_window_warnings variable.
      
      	* gdk/Makefile.am (DIST_SUBDIRS) nanox/*: cvs remove nanox;
      	it can be retrieved from the repository; it is too far
      	from functional to be worth having people check out;
      	it would be easier to start from scratch, I suspect.
      
      	* gdk/x11/gdkpixmap-x11.c: Fix lvalue usage of GDK_PIXMAP_XID().
      
      	* gdk/x11/gdkkeys-x11.c gdk/gdkrgb.c gdk/gdkwindow.c
      	gdk/x11/gdkpango-x11.c gdk/x11/gdkselection-x11.c:
      	Fix some accidentally global variables and unused global variables.
      
      	* gdk/x11/gdkkeys-x11.c gdk/gdkrgb.c gdk/gdkwindow.c
      	gdk/x11/gdkpango-x11.c gdk/x11/gdkselection-x11.c:
      	Fix some accidentally global variables and unused global variables.
      
            Add some space for future expansion to multihead.
      
      	* gdk/gdkdrawable.h: Add four reserved function pointers
      	for future expansion of GdkDrawableClass.
      
      	* gtk/gtkwindow.h gtk/gtkinvisible.h: Add reserved pointer
      	where we can put a GdkScreen * later.
      1bbf2ac7
  5. 23 Aug, 2001 1 commit
    • Owen Taylor's avatar
      [ Patch from Sebastian Wilhelmi, 52790 ] · a2d60d44
      Owen Taylor authored
      Wed Aug 22 19:15:39 2001  Owen Taylor  <otaylor@redhat.com>
      
      	[ Patch from Sebastian Wilhelmi, 52790 ]
      
      	* gtk/gtkversion.h.in gtk/gtk.h: New file replacing gtkcompat.h
      
      	* gdk/gdkcompat.h gdk/gdk*.h gtk/gtkcompat.h.in gtk/gtk*.h:
      	Move compatibility macros from g[dt]kcompat.h to within
      	#ifndef G[DT]K_DISABLE_DEPRECATED in each file.
      
      	* gdk/gdk-pixbuf-csource.c: Fix up include of gtkcompat.h.
      
      	* demos/Makefile.am demos/gtk-demo/Makefile.am
                docs/reference/gdk-pixbuf/Makefile.am modules/input/Makefile.am
                tests/Makefile.am: Remove references to -G[DT]K_DISABLE_DEPRECATED.
      
      	* demos/{pixbuf-demo.c,testpixbuf-drawable.c,testpixbuf-save.c,
                       testpixbuf.c}: Fix usages of deprecated functions.
      a2d60d44
  6. 14 Jun, 2001 1 commit
    • Owen Taylor's avatar
      Add missing gdk_rectangle_get_type() prototype. · 22491fd6
      Owen Taylor authored
      Mon Jun 11 18:15:16 2001  Owen Taylor  <otaylor@redhat.com>
      
      	* gdk/gdk.h: Add missing gdk_rectangle_get_type() prototype.
      
      	* gtk/gtk[hv]scale.c: Include math.h, stdlib.h
      
      	* gdk/gdkpango.h gtk/gtkclist.c gtk/gtkentry.c gtk/gtkmain.[ch]
      	  gtk/gtkspinbutton.c gtk/gtkstyle.c gtk/gtktextbuffer.c
      	  gtk/gtktextdisplay.c gtk/gtktextiter.[ch]
      	  gtk/gtktextlayout.c gtk/gtktexttag.[ch] gtk/gtkwidget.c: Adapt
      	  to recent changes in Pango.
      
      	* tests/testgtk.c: Set language tags with gtk_label_set_markup()
      	  to test whether the basic engine honors them.
      22491fd6
  7. 01 Jun, 2001 1 commit
    • Owen Taylor's avatar
      Add GDK_TYPE_RECTANGLE. · 1a6efe96
      Owen Taylor authored
      Fri Jun  1 11:31:55 2001  Owen Taylor  <otaylor@redhat.com>
      
      	* gdk/gdkrectangle.c (gdk_rectangle_get_type): Add
      	GDK_TYPE_RECTANGLE.
      
      	* gtk/gtkwidget.c (gtk_widget_class_init): Fix type
      	of allocation argument be GDK_TYPE_RECTANGLE.
      1a6efe96
  8. 02 Apr, 2001 1 commit
    • Owen Taylor's avatar
      Add GdkEventSetting event for notification of changes to system settings, · b52b326d
      Owen Taylor authored
      Mon Apr  2 18:18:07 2001  Owen Taylor  <otaylor@redhat.com>
      
              * gdk/gdkevents.h: Add GdkEventSetting event for notification
      	of changes to system settings, gdk_setting_get() to retrieve
      	a single system setting.
      
      	* gdk/x11/gdkevents-x11.c: Bridge gdk_setting_get() and GdkEventSetting
      	to the draft XSETTINGS mechanism.
      
      	* gdk/x11/xsettings-{common,client}.[ch]: Sample-implementation of
      	XSETTINGS.
      
      	* gtk/gtkmain.c gtk/gtksettings.[ch]: Propagate notification
      	of GDK settings changes to the GtkSettings object.
      
      	* gdk/gdkevents.[ch] gdk/gtk/gtksettings.c: Hook up the
      	double-click-timeout property to GDK.
      
      	* gdk/gdkcolor.[ch] gdk/gdkvisual.h gdk/gdkevent.[ch] gdk/gdkfont.[ch]:
      	Define GDK boxed types here.
      
      	* gdk/Makefile.am gdk/makeenums.pl: Generate source files
      	gdk/gdkenumtypes.[ch] for enum definitions.
      
      	* gtk/gtkcompat.h: Add defines for GTK_TYPE_GDK_*
      	* gtk/gtk-boxed.defs: Comment out GDK types
      	* gtk/gtktypeutils.h: Remove GDK types
      	* gtk/Makefile.am: No longer scan GDK headers for enumerataions
      b52b326d
  9. 09 Mar, 2001 1 commit
    • Owen Taylor's avatar
      Remove old XIM code. · 79fed460
      Owen Taylor authored
      Wed Mar  7 20:47:41 2001  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtktext.c gtk/gtkoldeditable.[ch] gdk/gdk.[ch]
      	gdk/Makefile.am gdk/x11/Makefile.am gdk/x11/gdkevents-x11.c
      	gdk/x11/gdkglobals-x11.c gdk/x11/gdkprivate-x11.c
      	gdk/x11/gdkx.h gdk/x11/gdkim-x11.c: Remove old XIM code.
      
      	* gdk/win32/gdkim-win32.c gdk/linux-fb/gdkim-fb.c: Remove
      	gdk_im/gdk_ic.
      79fed460
  10. 25 Feb, 2001 1 commit
  11. 19 Feb, 2001 1 commit
    • Havoc Pennington's avatar
      GDK_DISABLE_COMPAT_H, GDK_DISABLE_DEPRECATED (we need to merge those two · b58ba480
      Havoc Pennington authored
      2001-02-19  Havoc Pennington  <hp@redhat.com>
      
      	* demos/gtk-demo/Makefile.am (INCLUDES): GDK_DISABLE_COMPAT_H,
      	GDK_DISABLE_DEPRECATED (we need to merge those two #defines)
      
      	* gdk/x11/gdkmain-x11.c (gdk_key_repeat_disable): nuke
      	(gdk_key_repeat_restore): nuke
      
      	* gdk/gdk.c (gdk_exit_func): #if 0 this for now, don't install it
      	(gdk_init_check): no atexit func
      
      	* gdk/gdkrgb.h: mark some stuff deprecated
      
      	* gdk/gdkcolor.h: mark some stuff deprecated
      
      	* gdk/gdk.h: deprecated gdk_exit, gdk_input_*
      
      	* gdk/gdkfont.h: bracket in GDK_DISABLE_DEPRECATED
      b58ba480
  12. 09 Feb, 2001 1 commit
    • Havoc Pennington's avatar
      better error message if you try to add a widget to a bin that already has · 45510aef
      Havoc Pennington authored
      2001-02-08  Havoc Pennington  <hp@redhat.com>
      
      	* gtk/gtkbin.c (gtk_bin_add): better error message if you try to
      	add a widget to a bin that already has a child.
      
      	* gdk/gdkcc.h, gdk/gdkcc-x11.c: Remove GdkColorContext, #50512
      
      	* docs/Changes-2.0.txt: note that GdkColorContext is gone.
      
      	* gdk/x11/Makefile.am (libgdk_x11_la_SOURCES): remove gdkcc-x11.c
      
      	* gdk/gdk.h: remove gdkcc.h
      
      	* gdk/Makefile.am (gdk_public_h_sources): remove gdkcc.h
      
      	* gtk/gtkpixmap.c (build_insensitive_pixmap): rewrite using
      	GdkPixbuf, since the previous implementation was GdkColorContext
      	dependent.
      
      	* gtk/testgtk.c (create_pixmap): add test for insensitive GtkPixmap
      45510aef
  13. 06 Dec, 2000 1 commit
    • Havoc Pennington's avatar
      add gdkkeys.[hc] · 36aac017
      Havoc Pennington authored
      2000-12-03  Havoc Pennington  <hp@pobox.com>
      
      * gdk/Makefile.am: add gdkkeys.[hc]
      
      * gdk/gdkkeys.h, gdk/gdkkeys.c: Move all the keyval stuff to these
      files from gdk.h, gdk.c; add GdkKeymap type and operations on it.
      
      * acconfig.h, configure.in: add checks and command line options
      for XKB
      
      * gdk/x11/gdkkeys-x11.c: Implement the above functions
      
      * gdk/x11/gdkevents-x11.c (gdk_event_translate): Put the keycode
      and group in the key event
      
      * gdk/gdkevents.h (struct _GdkEventKey): Add a hardware_keycode
      field with the low-level hardware key code, and a group
      field with the keyboard group
      
      * gdk/x11/gdkprivate-x11.h: include config.h for HAVE_XKB,
      and declare a couple globals used for keymap handling
      
      * gtk/gtkimcontextsimple.c: Implement ISO 14755 input method,
      hold down Shift-Control and type a hex number to get a Unicode
      character corresponding to the hex number
      (gtk_im_context_simple_get_preedit_string): Fix cursor position
      (return bytes not chars)
      36aac017
  14. 13 Nov, 2000 1 commit
  15. 30 Aug, 2000 1 commit
  16. 26 Jul, 2000 1 commit
  17. 06 Jul, 2000 1 commit
    • Owen Taylor's avatar
      Patch from George Liebl to add a GdkGrabStatus enumeration to use as a · 0611f06b
      Owen Taylor authored
      Thu Jul  6 11:54:03 2000  Owen Taylor  <otaylor@redhat.com>
      
      	* gdk/gdk.h gdk/gdktypes.h gdk/linux-fb/gdkmain-fb.c
      	gdk/nanox/gdkmain-nanox.c gdk/win32/gdkevents-win32.c
      	gdk/win32/gdkinput-win32.c gdk/win32/gdkwin32.h
      	gdk/x11/gdkmain-x11.c:
      
      	Patch from George Liebl to add a GdkGrabStatus enumeration to use
      	as a return value of gdk_*_grab(). Previously, we just
      	returned the X11 values directly.
      0611f06b
  18. 21 Jun, 2000 1 commit
    • Owen Taylor's avatar
      Welcome aboard, gdk-pixbuf. · 11056f56
      Owen Taylor authored
      Wed Jun 21 16:38:13 2000  Owen Taylor  <otaylor@redhat.com>
      
              * gdk-pixbuf/* docs/reference/gdk-pixbuf/*: Welcome aboard,
      	gdk-pixbuf.
      
      	* gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init):
      	fixups for GObject.
      
      	* gdk/Makefile.am gdk/gdkpixbuf-render.[ch] gdk/gdkpixbuf.[ch]: Bits of
      	gdk-pixbuf with GDK dependencies moved into GDK.
      
      	* gtk/Makefile.am gtk/gdk-pixbuf-loader.[ch]: Temporarily
      	move gdk-pixbuf-loader here until GObject has signals.
      
      	* demos/: New directory of demos. Move demos from
      	gdk-pixbuf here.
      
      	* demos/pixbuf-init.c: Small bit of code to check for
      	loaders in ../gdk-pixbuf/.libs/gdk-pixbuf, and if found,
      	set GDK_PIXBUF_MODULEDIR appropriately.
      
      	* gdk/gdkcompat.h: Remove GDK_DRAWABLE_PIXMAP compat
      	define which no longer makes sense.
      11056f56
  19. 02 Jun, 2000 1 commit
    • Havoc Pennington's avatar
      Remove all references to offscreen flag which was no longer used. · 9ae724bf
      Havoc Pennington authored
      Thu Jun  1 23:05:13 2000  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtkwidget.c: Remove all references to
      	offscreen flag which was no longer used.
      
      	* gtk/gtkprivate.h (enum): Remove unused flags and compress.
      
      	* gtk/gtkframe.c (gtk_frame_set_label_widget): Check
      	for non-null label_widget->parent.
      
      	* gtk/gtkentry.c: Get rid of code to deal with PangoAttribute
      	which no longer was used.
      
      	* gdk/gdkpango.c (gdk_pango_context_get_info): make static.
      
      	* gdk/gdkpango.c (gdk_draw_layout[_line]): Add checks
      	for null arguments.
      
      	* gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): add
      	check for destroyed windows.
      
      Thu Jun  1 13:48:45 2000  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtkimmulticontext.c: Add a finalize method and unref
      	the slave context there.
      
      	* gtk/gtkinvisible.[ch]: Make reference counting behavior
      	identical to GtkWindow.
      
      Thu Jun  1 01:54:11 2000  Owen Taylor  <otaylor@redhat.com>
      
      	* Makefile.am gdk/gdkpango.c: Copy the layout render function from
      	pangox to here, so we can write them independent of rendering
      	system, using GDK primitives.
      
      	* gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c
      	gdk/x11/gdkdrawable-x11.c: Remove draw_layout() from the vtable,
      	since we have a rendering-system independent implementation in
      	terms of draw_glyphs().
      
      	* gdk/gdkpango.c gdkdrawable.h (gdk_draw_layout_line): New
      	function to render a single line.
      
      	* gdk/x11/gdkpango.c: Move the guts of this file mostly
      	into ../gdkpango.c, which simplifies things, since we
      	don't have to deal with raw X gc's.
      
      Fri May 19 04:28:16 2000  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtktextlayout.[ch]: Add get_log_attrs() function to
      	get the logical attributes for a given GtkTextLine.
      
      Tue May 30 16:05:39 2000  Owen Taylor  <otaylor@redhat.com>
      
      	* gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Track
      	g_locale_get_codeset() to g_get_codeset() change.
      
      Tue May 30 15:03:19 2000  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/testcalendar.c (calendar_font_selection_ok): Use font
      	descriptions.
      
      	* gtk/gtkentry.c (gtk_entry_draw_text): Center text within
      	the entry.
      
      	* gtk/gtkfontsel.c (gtk_font_selection_dialog_init): Start of
      	redoing (vastly simplifying) for Pango. Still needs quite
      	a bit of work. (Size selection is currently poor. List of
      	predefined sizes is not a good idea, since all of these
      	sizes won't necessarily be distinct.)
      
      Tue May 30 13:50:19 2000  Owen Taylor  <otaylor@redhat.com>
      
      	* gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Handle
      	CODESET results for LANG=C.
      
      Mon May 29 15:49:10 2000  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtkrc.[ch]: Add a 'font_name' declaration to RC
      	which takes a stringized pango font description;
      	ignore the older 'font' and 'fontset' declarations.
      
      	* gtk/gtkstyle.c gtk/gtkrc.c: Fill in the style->font
      	field with a GdkFont derived via gdk_font_from_description(),
      	for compatibility. (Should we just remove it entirely?
      	Probably too much compatibility breakage, but people
      	should be migrating to the new Pango stuff as quickly
      	as possible.)
      
      Mon May 29 15:47:41 2000  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtkentry.c gtk/gtkclist.c: s/pango_font_unref/g_object_unref/.
      
      Mon May 29 15:44:46 2000  Owen Taylor  <otaylor@redhat.com>
      
              * gtk/gtkcalender.c: Roughly pango-ized. Really needs
      	redoing; there are some bugs in size allocation right
      	now, the semi-existant distinction between header / day
      	fonts was removed, but, with Pango, could actually
      	be made functional in a nice way.
      
      	* gtk/testcalender: Move calender from examples into this
      	directory as a test program. (We really need to restrcture
      	testgtk into a whole directory full of tests for every
      	widget or functionality group, separated into multiple .c
      	files.)
      
      Mon May 29 15:19:56 2000  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/testgtk.c (file_exists): Fix stupid typo that
      	was keeping RC file from being loaded.
      
      	* gtk/testgtkrc gtk/testgtkrc2: Test new pango-ized
      	RC file font code.
      
      Mon May 29 14:31:27 2000  Owen Taylor  <otaylor@redhat.com>
      
      	* gdk/gdkfont.h gdk/x11/gdkfont-x11.c (gdk_font_from_description):
      	Add function to load a GdkFont from a PangoFontDescription.
      
      Fri May 26 17:16:40 2000  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/frame.[ch] gtkaspectframe.c: Make frame widgets able
      	to have any widget for the label, use a GtkLabel widget
      	to display the text. (Based partially on a patch from
      	Anders Carlson.)
      
      	(Quite a bit of code reorganization - strip 90% of the
      	guts out of gtkaspectframe and add a single virtual
      	func to GtkFrameClass - compute_child_allocation.)
      
      Fri May 26 12:00:02 2000  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtkctree.c gtk/gtkclist.[ch]: Pangoized.
      	(Removed clist->row_center_offset field because caching
      	it wasn't saving time or code, added private function
      	_gtk_clist_create_cell_layout()).
      
      Wed May 24 15:59:37 2000  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtkaccellabel.c: Pangoized.
      
      	* gtk/[hv]ruler.c: Pangoized
      
      Mon May 22 19:23:59 2000  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtkfilesel.c (gtk_file_selection_init):
      	Use gtk_clist_set_column_auto_resize() to remove need
      	need for manual column width computations.
      
      Mon May 22 18:50:26 2000  Owen Taylor  <otaylor@redhat.com>
      
              * gtk/gtktooltips.[ch]: Replace custom drawing with a GtkLabel,
      	ensuring Pango correctness, and considerably simplifying the
      	code.
      
      	* gtk/gtklabel.c gtk[hv]scale.c: 1000 => PANGO_SCALE.
      
      	* gtk/gtklabel.c (gtk_label_size_request): Fixed incorrect
      	getting of numbers of lines.
      
      	* gtk/gtklabel.c (gtk_label_size_request): Set the requisition
      	to the actual requested width of the lable, not to the wrap
      	width we set.
      
      	* gtk/gtktextchild.h: Remove extraneous include of gtk/gtk.h.
      
      	* gtk/gtktextbtree.c gtk/gtktextbuffer.c gtk/gtktextlayout.c
      	  gtk/gtktextview.c gtk/gtktextview.[ch]: Fix up includes.
      
      	* gtk/gtktextview.c: Fix structure inheritance.
      
      	* gtk/gtkprogressbar.c: Pangoize.
      
      Mon May 22 15:47:30 2000  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtktextview.c (gtk_text_view_get_first_para_iter): Encapsulate
      	in a function.
      
      	* gtk/gtktextlayout.c (find_display_line_above): Fixed
      	bug with computing line tops.
      
      	* gtk/gtktextview.c (changed_handler): Fix < , <= confusion.
      
      Thu May 18 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtktextdisplay.c (gtk_text_layout_draw): Fix up the x_offset
      	and y_offset coordinates to do what we need now. (The offset between
      	buffer and layout coordinates has been reintroduced, but is a
      	bit different than before.)
      
      	* gtk/gtktextview.[ch]: No longer inherit from GtkLayout; instead
      	handle the adjustments ourselves, and scroll as necessary using
      	the new gdk_window_scroll().
      
      	The advantage of this is that when we are incrementally revalidating,
      	we are essentially rearranging things around the visible portion
      	of the screen. With the old setup, the visible portion of the
      	screen was moved around in the layout, so scrolling and redrawing
      	to track that caused jumping of the display. Since we now
      	control the scrolling ourselves, we can suppress this and
      	only redraw when things actually change.
      
      Thu May 18 18:47:25 2000  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtktextbtree.c (redisplay_mark): We need to invalidate
      	the region not just redisplay it after-all, since we store the
      	cursors in the LineDisplay. (Ugly interactions here between
      	GtkLayout and GtkTextBTree here.)
      
      	* gtk/gtktextbtree.c (redisplay_region): Fixed reversed comparison.
      
      Thu May 18 18:43:21 2000  Owen Taylor  <otaylor@redhat.com>
      
      	* gdk/gdkwindow.h gdk/x11/gdkgeometry-x11.c (gdk_window_scroll):
      	Added function to scroll contents of a window while keeping the
      	window constant. Works by XCopyArea or guffaw-scrolling depending
      	on the details of how the window is set up. (guffaw-scrolling
      	still needs to be filled in.)
      
      Wed May 17 22:36:53 2000  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtktextiter.c gtk/gtkmain.c: Add a debug key for the text widget,
      	move the debugging that was tied to a global variable
      	to that.
      
      	* gtk/gtkmarshal.list: Add NONE:INT,INT,INT
      
      	* gtk/gtktextbtree.[ch] gtk/gtktextlayout.c: Keep a separate
      	validated flag, in line data instead of setting height/width to
      	-1. This allows us to perform operations with partially invalid
      	buffer (using the old size for invalid lines) and thus to do
      	incremental vaidation. Keep height/width aggregates up to date
      	when deleting text and rebalancing the tree.
      
      	* gtk/gtktextbtree.[ch]: Add functions validate a line
      	(gtk_text_btree_validate_line), and to validate up
      	to a number of pixels (gtk_text_btree_validate).
      
      	* gtk/gtktextlayout.[ch]: Add an ::invalidated signal
      	that indicates that something is changed and a revalidation
      	pass is needed. Change ::need_repaint to ::changed, and
      	make it take old and new yranges instead of a rectangle.
      
      	* gtk/gtktextbtree.[ch] gtk/gtktextlayout.[ch]: Move
      	the line_data_destroy() function from
      	gtk_text_btree_add_view() to a virtual function in
      	GtkTextLayout
      
      	* gtk/gtktextbtree.[ch]: Remove gtk_text_btree_get_damage_range(),
      	since we are handling partial repaints in a different fashion
      	now.
      
      	* gtk/gtktextbtree.[ch]: Only repaint the changed portion
      	of the selection instead of queueing a repaint on the
      	entire widget.
      
      	* gtk/gtktextbuffer.[ch] gtk/gtktextbtree.[ch]: Move
      	get_selection_bounds() down to btree, make the function
      	in buffer a wrapper around the btree function.
      
      	* gtk/gtktextlayout.[ch]: Add functions to check if the
      	layout is valid and to recompute either a range of pixels
      	aroudn a line or a certain total number of pixels.
      
      	* gtk/gtktextlayout.[ch]: Cache a single line display;
      	now that we only redraw the needed portions, the hit rate
      	for this cache is quite high.
      
      	* gtk/gtktextview.[ch]: Keep track of the first paragraph
      	on the screen so that when re-laying-out the buffer, we can
      	keep the same place. This requires connecting to ::value_changed
      	on the adjustments
      
      	* gtk/gtktextview.[ch]: Add idle functions to revalidate
      	the buffer after we receive an ::invalidated signal.
      
      Wed May 17 22:10:47 2000  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtklayout.c (gtk_layout_size_allocate): Set upper
      	to max of allocation and layout size, not just to the
      	layout size.
      
      	* gtk/gtk[hv]scrollbar.c (gtk_[hv]scrollbar_calc_slider_size):
      	Invalidate window so it gets redrawn properly.
      
      	* gdk/gdkwindow.c (gdk_window_invalidate_rect): Allow rect == NULL
      	to mean the entire window.
      
      	* gdk/gdkevents.h: Move definition for GDK_PRIORITY_REDRAW
      	into public header.
      
      Mon May 15 14:51:31 2000  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtktextmark.c (gtk_text_mark_get_name): Add function
      	to get the name of a mark.
      
      	* gtk/gtktextlayout.c (gtk_text_layout_get_line_at_y): Add a function
      	to find the paragraph from a y position.
      
      Thu May 11 12:57:20 2000  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtktextbtree.c (gtk_text_btree_node_invalidate_upward): Valid
      	nodes have width/height >= 0, not > 0.
      
      Tue May  9 21:29:06 2000  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c (gtk_text_layout_get_line_display):
      	Add a size_only flag, so when we only need the size, we don't create
      	useless appearance attributes.
      
      	* gtk/gtktextview.c (gtk_text_view_ensure_layout): Remove
      	duplicate setting of font description.
      
      	* gtk/gtkscale.c: Use PANGO_SCALE instead of 1000
      
      Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into
      	EXTRA_DIST. It does not work well when the file that
      	everything depends on is not in the tarball.
      
      Wed Apr 26 00:56:14 2000  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/testgtk.c: Some hacks and fixes so that it basically
      	works when not sitting in the GTK+ build tree.
      
      2000-05-03  Havoc Pennington  <hp@redhat.com>
      
      	* gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
      	Properly determine the ordering of the tag root and the current
      	line within the tree. Previous algorithm only worked if the tag
      	root's immediate parent was the common root of both the current
      	line and the tag root.
      
      Wed Apr 26 00:43:00 2000  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtktextlayout.c (set_para_values): Fix some bugs in
      	alignment.
      
      	* gtk/gtktextview.c (gtk_text_view_ensure_layout): Track
      	the widget text directional dynamically.
      
      	* gtk/gtktextview.[ch]: Added functions to get and set default
      	wrap mode.
      
      Tue Apr 25 23:47:38 2000  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Fix bug
      	in cursor location computation.
      
      Tue Apr 25 23:22:59 2000  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtklayout.c (gtk_layout_set_size): Clamp hadjustment/
      	vadjusment values properly when layout gets smaller.
      
      	* gtk/gtktextview.c (need_repaint_handler): Areas being
      	passed in are far completely inaccurate, and sometimes
      	too small, so, for now, just queue a redraw on the
      	whole visible region.
      
      2000-04-25  Havoc Pennington  <hp@redhat.com>
      
      	* gtk/gtktextbtree.c (summary_destroy): new function to
      	destroy tag summary nodes
      	(gtk_text_line_next_could_contain_tag): this function was
      	totally broken if the line passed in wasn't below the tag
      	root. Fix it.
      	(gtk_text_btree_first_could_contain_tag): In the tag == NULL
      	"wildcard" case, we have to do a linear scan. Blah.
      	(gtk_text_btree_last_could_contain_tag): In tag == NULL case,
      	we have to do the linear scan
      	(tag_removed_cb): When a tag is removed from the tag table,
      	remove the GtkTextTagInfo node from the btree.
      	(gtk_text_btree_spew): Implement the spew function, for
      	our debugging pleasure.
      
      Tue Apr 25 19:40:18 2000  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtktextlayout.c (gtk_text_layout_set_buffer): Fix
      	a problem with referring to the wrong buffer.
      
      	* gtk/gtkentry.c: Fix focus-in/focus-out confusion.
      
      	* gtk/gtkrc.c gtk/gtkstyle.c: Moving setting default
      	font description to gtk_style_new() - otherwise things
      	don't work without a .gtkrc file.
      
      	* gtk/gtktextbuffer.c (gtk_text_buffer_new): Sink the
      	tags table if we create it ourself, too.
      
      	* gdk/gdktypes.h (enum): Move GDK_RELEASE_MASK, since
      	it was conflicting with XKB modifiers.
      
      	* gtk/gtktextview.[ch]: Add simple support for
      	GtkIMContext.
      
      Mon Apr 24 19:34:18 2000  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtkentry.c (gtk_entry_move_cursor_visually): Fix problem
      	with deletion from last commit.
      
      Mon Apr 24 19:29:40 2000  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtkwidget.c (gtk_widget_create_pango_context): Set the language
      	in the context from the current locale.
      
      	* gtk/gtkentry.c (gtk_entry_size_request): Use language from the
      	context, not hardcoded value.
      
      	* gtk/gtkentry.c (gtk_entry_move_cursor): Make character movement visual,
      	not logical.
      
      Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtkentry.c gtk/gtktextdisplay.c: Don't handle selections as
      	attributes - that doesn't handle partial-glyph selection
      	properly. Instead use new pango_layout_line_get_x_ranges()
      	functionality to draw the selection.
      
      	* gtk/gtkentry.c: Simplify code since pango_layout_line_index_to_x()
      	now properly handles out-of-range coordinates.
      
      	* gtk/gtktextbuffer.c: Emit "mark_set" when the cursor is moved.
      
      	* gtk/gtktextiter.h gtk/gtktextiterprivate.h: Make gtk_text_iter_get_line_byte()
      	public.
      
      	* gtk/gtktextlayout.[ch]: Properly set the direction in the PangoContext
      	for paragraphs opposite to the base direction of the widget.
      
      	* gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c: Fixes for alignment.
      
      	* gtk/gtktextlayout.c: Don't split segments on marks, since that
      	causes Arabic words to reshape as you cursor through.
      
      	* gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Implement virtual
      	cursor position when moving vertically with the arrow keys and
      	scrolling with page-up/page-down. (Arrow keys save only the X,
      	scrolling saves both X and Y.)
      
      	This means you can line-up / line-down or page-up / page-down
      	without losing your place, and also that moving vertically
      	with the cursor keys keeps the same X position, not the same
      	character count:
      
      	* gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Make vertical
      	arrow keys move by display lines, not paragraphs.
      
      Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtklayout.c: Make sure that the bin window is at least
      	as big as the allocation. (Should we also make sure that the
      	bin window is big enough to completely cover widget->window?)
      
      	* gtk/gtktextview.c (gtk_text_view_get_visible_rect): Add
      	function to get the onscreen rectangle.
      
      	* gdk/x11/gdkwindow-x11.c (gdk_window_get_pointer): Correctly account
      	for offsets in window coordinates.
      
      Sun Apr 16 16:13:27 2000  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtkentry.c (gtk_entry_get_cursor_locations): Fix index/offset
      	confusion.
      
      	* gtk/gtktextview.c (gtk_text_view_ensure_layout): Set the default direction
      	from the widget direction.
      
      	* gtk/gtktexttag.c gtk/gtktexttagprivate.h (gtk_text_tag_set_arg):
      	Add a "direction" attribute.
      
      	* gtk/gtktextview.c: global s/tkxt/text_view/.
      
      	* gtk/testtext.c: Added long block of text in Arabic, to test out
      	the direction attributes. (Some problems with the shaping system
      	for arabic become obvious - like the fact the cursor splits words
      	into unjoined pieces.)
      
      Fri Apr 14 12:54:34 2000  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtktextdisplay.c (render_layout): Add overstrike handling.
      
      	* gtk/gtktextlayout.c: Fix up alignment.
      
      	* gtk/testtext.c: Add some tests for centering, wrapping.
      
      Fri Apr 14 09:26:22 2000  Owen Taylor  <otaylor@redhat.com>
      
      	* gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c gdk/x11/gdkdrawable-x11.c:
      	Add a draw_glyphs() operation to the drawable vtable and gdk_draw_glyphs().
      	If we wrote GTK+-specific layout-render function this could just replace
      	the draw_layout() operation in the vtable.
      
      	* gtk/gtkentry.c: Move guts of gtk_entry_get_cursor_locations to
      	pango_layout_get_cursor_pos() and use that function.
      
      	* gtk/gtktextchild.[ch]: add gtk_ onto pixmap_segment_new(), since it
      	is a non-static symbol.
      
      	* gtk/gtktextbtree.[ch]: Replace gtk_text_btree_find_line_data_by_y()
      	with gtk_text_btree_find_line_by_y()
      
      	* gtk/gtktextdisplay.c: Rewrote for Pango - uses a custom layout
      	renderer that handles GtkTextAppearance attributes.
      
      	* gtk/gtktexttag.[ch] gtk/gtktexttagprivate.h:
      
      	  - Move the values in the style that don't affect geometry into a
      	    GtkTextAppearance structure.
      	  - Change underline to take a PangoUnderline and "font" a string
      	    representation of a font description
      	  - Add a "font_desc" attribute which takes a FontDescription structure.
      
      	* gtk/gtktextlayout.[ch]:
      
      	  - Get rid of the display-line list per each line. Instead, we
      	    generate, on demand, a GtkTextLineDisplay structure which]
      	    contains a PangoLayout * and other necesary information
      	    (offsets, cursor locations) for displaying a paragraph.
      	  - Get rid of the code to wrap lines, create display chunks,
      	    etc. Instead, we just go through a paragraph and convert
      	    it into the necessary inputs to a PangoLayout.
      	  - Implement a new attribute type, GtkTextAttrAppearance. This
      	    holds a GtkTextAppearance, and is used to pass colors,
      	    stipple, etc, through from the layout to the display without
      	    having to use lots and lots of individual attributes.
      	  - Reimplement gtk_layout_get_iter_at_pixel() gtk_layout_get_iter_pos()
      	    in terms of PangoLayout functions.
      
      	* gtk/gtktextview.c:
      
      	  - Handle passing the necessary PangoContext to the layout
      	  - Some fixups in painting to deal with the automatic backing store
      	    and offsetting of GTK+-1.4
      	  - Add a style_set handler so that the default style reacts
      	    properly to theme changes.
      
      	* gtk/gtktext?*.[ch]: Random code-style fixes.
      
      	* gtk/testtext.c: Substitute in languages that Pango handles now for Thai
      
      Mon Apr 10 10:33:45 2000  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtktext?*.[ch]: Check in Havoc's port of the Tk text widget,
      	in original form preparatory to Pango-ization and gdkimcontext-ization.
      
      Thu Apr  6 19:25:39 2000  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtkimcontext.c: Move default implementations to real_* vfuncs,
      	so that we can derive from gtkimcontext in language bindings properly.
      
      Thu Apr  6 16:02:52 2000  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtkimcontextsimple.[ch]: Use gdk_keyval_to_unicode to gdk_unicode_to_keyval.
      	Add a compose table including (almost) all the compose combinations
      	from X. This is 6k of static, shared data as opposed to 50k or so of dynamic
      	data in the XIM implementation.
      
      	* gdk/gdk.h gdk/gdkkeyuni.c gdk/win32/gdkevents-win32.c (gdk_keyval_to_unicode, gdk_unicode_to_keyval):
      	Moved functions to convert keyvalues from and to unicode here from
      	the win32 port and made them public.
      
      Wed Apr  5 16:37:29 2000  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtkeditable.c (gtk_editable_insert_text): Allow new_text_length == -1.
      
      Wed Apr  5 16:27:45 2000  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtkimcontext.[ch]: Base class for new input context system
      
      	* gtk/gtkimmulticontext.[ch]: Proxy input context that allows
      	the real input context implementation to be loaded from modules
      	and switched on the fly.
      
      	* gtk/gtkcontextsimple.[ch]: Simple implementation of an input
      	context that just does direct keysymbol => unicode translation.
      
      	* gtk/gtkentry.[ch]: Start switching editing over to using
      	GtkInputContext. (No handling of preedit yet.)
      
      Wed Apr  5 15:48:41 2000  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtktypeutils.h (GTK_CHECK_GET_CLASS): Fix problem with one too
      	many substitutions. (klass should not be subsituted.)
      
      Wed Apr  5 00:18:14 2000  Owen Taylor  <otaylor@redhat.com>
      
      	* configure.in: Add checks for Pango
      
      	* configure.in docs/Makefile.am: Add test for sgml2html
      	and allow 'make dist' without building html, but print out
      	warnings in that case. (For making snapshots)
      
      	* gdk/Makefile.am gdk/x11/Makefile.am gtk/Makefile.am:
      	Add Pango libraries and C flags
      
      	* gdk/gdkdraw.c gdk/gdkdrawable.h gdkwindow.c gdk/x11/gdkdrawable-x11.c:
      	Add function (gdk_draw_layout) to draw a pango layout.
      
      	* gdk/gdkpango.h gdk/x11/gdkpango-x11.c: New file with functions
      	for getting Pango contexts for GDK.
      
      	* gtk/gtkeditable.c: Get rid of dead code gtk_editable_parent_set()
      
      	* gtk/gtkentry.[ch]: Complete rewrite to use Pango, add bidirectional
      	editing.
      
      	* gtk/gtkentry.c: Hack in simple Hebrew input with direct
      	keysym => unicode translations. More languages can be added
      	here, but real input-method support is needed.
      
      	* docs/Changes-1.4.txt: Added note about entry behavior.
      
      	* gtk/gtkenums.h gtk/gtkwidget.[ch] testgtk.c gtkprivate.h: Add functions
      	to set the reading direction for a widget and the global direction.
      	Add test which allows toggling the global direction. Two private
      	flags are used to store the direction. (GTK_DIRECTION_SET + GTK_DIRECTION_LTR)
      
      	* gtk/gtkcheckbutton.c gtk/gtkframe.c gtk/gtkhbbox.c gtk/gtkhbox.c
      	  gtk/gtkradiobutton.c gtk/gtkspinbutton.c gtk/gtktable.c
      
      	* gtk/gtk[hv]scale.c gtk/gtkscale.[ch]: Draw numbers using Pango
      
      	* gtk/gtklabel.[ch]: Moved to Pango and considerably rewritten. Line breaking,
      	underlining now handled by Pango.
      
      	* gtk/gtkstyle.[ch] gtk/gtkrc.[ch]: Add a PangoFontDescription
      	to RCStyle and Style. (Having both this and the old font name and GdkFont
      	is temporary.)
      
      	* gtk/gtkwidget.[ch] (gtk_widget_create_pango_{context,layout}): Added
      	convenience functions for creating contexts and layouts for widgets.
      
      	* gtk/testgtk.c: Enhance label tests with multilingual labels.
      9ae724bf
  20. 14 Mar, 2000 1 commit
  21. 13 Feb, 2000 1 commit
    • Tim Janik's avatar
      s/refcount/ref_count/. · ef03cb52
      Tim Janik authored
      Sun Feb 13 08:54:45 2000  Tim Janik  <timj@gtk.org>
      
              * gdk/gdkcursor.h (struct _GdkCursor): s/refcount/ref_count/.
              * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap):
              * gdk/x11/gdkcursor-x11.c (_gdk_cursor_destroy):
              * gdk/gdkcursor.c (gdk_cursor_ref): insert assertments for the
              parameters given and cursor->ref_count. coding style fixups.
      
              * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
              not GtkWidget.
      
              * gtk/*.h: applied patch from Mathieu Lacage <lacage@email.enst.fr> to
              fix up widget macros and add _GET_CLASS() variant.
      
              * gtk/*.c: some GtkType fixups.
      ef03cb52
  22. 08 Nov, 1999 1 commit
    • Owen Taylor's avatar
      Move all X specific code into the x11/ directory. Aside from shuffling · e9b6bfcc
      Owen Taylor authored
      Mon Nov  8 14:47:04 1999  Owen Taylor  <otaylor@redhat.com>
      
      	Move all X specific code into the x11/ directory.
      	Aside from shuffling things around, did the following:
      
             * gdk/gdkprivate.h gdk/gdk.h gdk/x11/gdkmain-x11.h: Add
      	 gdk_arg_context_* - a simple argument parsing system
      	 in the style of popt.
      
             * gdk/gdkdrawable.[ch] gdk/gdkprivate.h gdk/gdkwindow.[ch]
      	 gdk/x11/gdkprivate-x11.h:
      	 Remove X specific stuff from GdkDrawable and GdkWindowPrivate -
      	 add ->klass and ->klass_data fields. The klass_data
      	 field points to an auxilliary structure that is
      	 windowing system dependent.
      
             * gdk/gdkfont.c: Make most of the measurement functions
      	 simply wrappers around gdk_text_extents().
      
             * gdk/gdkfont.c gdk/gdkprivate.h gdk/x11/gdkfont-x11.c: Add a
      	 _gdk_font_strlen() function that hides the weird
      	 behavior in gtk+-1.[02] where a string is interpreted
      	 differently for 8-bit and 16-bit fonts.
      
             * gdk/gdkevents.c: Add a new function gdk_event_button_generate()
      	 to store common code for synthesizing double/triple
      	 press events.
      
             * gdk/gdkgc.[ch]: Virtualize in the same way as gdkdrawable.h.
      	 Make all the function that modify an existing GC
      	 simply wrappers around gdk_gc_set_values().
      
             * gdk/gdkcc.[ch]: Moved into x11/ directory in preparation
      	 for throwing out later.
      
             * gdk/gdkfont.c gdk/gdkimage.c gdk/gdkcolor.c: Change GdkFontPrivate,
      	 GdkImagePrivate and GdkColormapPrivate to have a
      	 windowing system dependent part (GdkFontPrivateX etc.)
      	 that "derives" from the system-independent part.
      
             * configure.in gdk/x11/Makefile.in gdk/x11/gdkinput*.c:
      	 Got rid of the included-source-files for XInput in
      	 favor of automake conditionals. (Which didn't exist
      	 when XInput support was originally added.)
      
             * gdk/gdkrgb.c: Remove the visual id from the debugging
      	 statements since that is X11 specific; print out
      	 type/depth info instead.
      e9b6bfcc
  23. 03 Oct, 1999 1 commit
    • Owen Taylor's avatar
      Fix a reference to window_private->destroyed. · f903bdf1
      Owen Taylor authored
      Sun Oct  3 18:13:44 1999  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtkwidget.c (gtk_reset_shapes_recurse):
      	Fix a reference to window_private->destroyed.
      
      	* gtk/gtkplug.c (gtk_plug_realize): Fix up a direct
      	(ugly) setting of an internal GdkWindow member to use
      	a _slightly_ cleaner macro.
      
      	* gdk/gdkprivate.h: Split GdkWindowPrivate into
      	GdkDrawablePrivate and GdkWindowPrivate.
      	Add extra macros for accessing GDK_DRAWABLE_ components.
      
      	* *.[ch]: Massive adjustments for the above, use the
      	new macros in a lot of places.
      f903bdf1
  24. 01 Oct, 1999 1 commit
    • Owen Taylor's avatar
      Started · 637a466d
      Owen Taylor authored
      Fri Oct  1 18:03:36 1999  Owen Taylor  <otaylor@redhat.com>
      
              * docs/Changes-1.4.txt: Started
      
      	* gtk/Makefile.am (gdk_headers): Include all the new headers.
      
              * gdk/*.h gdk/*.c: Split gdk.h into lots of itty-bitty little pieces.
      
      	* gdk/gdkprivate.h gdk/gdkcc.c: Moved GdkColorContext private
      	into C file.
      
      	* gdkinput.h gdkinputprivate.h - renamed the internal gdkinput
      	header to gdkinputprivate.h.
      
      	* gdk/gdk.h gdk/gdk.c: Removed gdk_time* functions which have been
      	unused since before 1.2.
      637a466d
  25. 29 Sep, 1999 1 commit
  26. 28 Sep, 1999 1 commit
    • Federico Mena Quintero's avatar
      [ Merges from gtk-1-2 ] · 95b3f3e4
      Federico Mena Quintero authored
      Wed Sep  8 07:13:29 1999  Tim Janik  <timj@gtk.org>
      
      	* configure.in: fixed "GNU Make" check to pass with new make version
      	3.77.95.
      
      Fri Sep  3 16:04:41 1999  Tim Janik  <timj@gtk.org>
      
      	* gtk-config.in (--version): don't echo @GTK_VERSION@, but
      	@GTK_MAJOR_VERSION@.@GTK_MINOR_VERSION@.@GTK_MICRO_VERSION@, so the
      	AM_PATH_GTK() macros don't get confused by the -pre1.
      
      Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
      
      	* configure.in (REBUILD): Change check for perl5
      	  to check explicitely for v >= 5.002. (5.001
      	  does not work with our scripts.)
      
      Wed Aug 25 15:45:46 1999  Tim Janik  <timj@gtk.org>
      
      	* configure.in: evaluate $PERL for the perl version check. added
      	--disable-rebuilds to give the user an option to completely disable
      	any source autogeneration rules.
      
      Mon Aug 23 23:16:14 1999  Tim Janik  <timj@gtk.org>
      
      	* configure.in: evaluate $ac_make when checking for GNU Make.
      
      Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
      
      	* docs/Makefile.am: added generation.txt.
      
      	* Makefile.am: require automake 1.4, build README from README.in and
      	INSTALL from INSTALL.in in dist-hook.
      
      	* README.in:
      	* INSTALL.in: new files to autogenerate README and INSTALL from.
      
      	* configure.in: figure whether we have GNU Make
      
      	* docs/generation.txt: minor additions/corrections.
      
      Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
      
      	* docs/gtkfaq.sgml: FAQ Update
      
      July 30, 1999 Elliot Lee <sopwith@redhat.com>
      
      	* configure.in: Fix autoconf warnings about cross compilation by
      	trying to provide sane defaults for AC_TRY_RUN.
      
      Fri Jul 16 22:20:21 PDT 1999 Manish Singh <yosh@gimp.org>
      
      	* ltconfig
      	* ltmain.sh: upgrade to libtool 1.3.3
      
      Thu Jul  8 11:30:18 1999  Owen Taylor  <otaylor@redhat.com>
      
      	* INSTALL: Indicate that the --with-glib= configure
      	time flag is unsupported.
      
      Mon Jul  5 20:36:03 1999  Owen Taylor  <otaylor@redhat.com>
      
      	* docs/generation.txt: Added a file that gives
      	documenation about the autogeneration process for
      	various autogenerated files.
      
      Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
      
      	* configure.in (LIBS): Look for libgmodule in the
      	right location.
      
      Thu Jun 17 13:57:31 1999  Owen Taylor  <otaylor@redhat.com>
      
      	* docs/gtk_tut.sgml: Removed references to
      	code examples in my directory on gtk.org as
      	they should all be in the tutorial now.
      
      	* docs/gtk_tut.sgml: Added sources for dial-test
      	and scribble-xinput programs that were previously
      	missing.
      
      Fri Jun  4 00:08:59 1999  Owen Taylor  <otaylor@redhat.com>
      
      	* TODO: Added entry about menu keyboard navigation, removed
      	some finished items.
      
      Mon May 31 00:11:24 1999  Owen Taylor  <otaylor@redhat.com>
      
      	* acinclude.m4: Standardize on func_dgettext
      	not func_gettext, so that the checks for dgettext
      	actually are paid attention to.
      
      Wed May  5 10:47:54 1999  Owen Taylor  <otaylor@redhat.com>
      
      	* configure.in (LIBS): Add $INTLLIBS into $LIBS
      	directly, rather than repeating the checks for
      	gettext.
      
      	* INSTALL: Added information about gettext and
      	NLS support.
      
      	* acinclude.m4 (LIBM): Check for dgettext, not
      	just gettext. This should hopefully fix things wrt
      	systems with old versions of GNU gettext installed.
      
      Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
      
      	* configure.in (LIBS): Look for libgmodule in the
      	right location.
      
      Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
      
      	* autogen.sh: add --enable-maintainer-mode
      
      	* configure.in: set ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
      
      Wed Mar 24 23:03:49 CST 1999 Shawn T. Amundson <amundson@gtk.org>
      
      	* docs/gtk-config.1.in:
      	  docs/Makefile.am:
      	  configure.in: gtk-config is now generated.
      
      	* docs/gtk-config.1: Removed, now generated.
      
      Thu Sep 23 17:59:59 1999  Tim Janik  <timj@gtk.org>
      
              * gdk/gdkevents.c (gdk_event_translate): grr, even if Gdk doesn't
              handle CreateNotify itself, still put out a debuging message for
              --gdk-debug=events. made the ReparentNotify debugging message more
              verbose.
              wrap xcoords translation for ConfigureEvents into an error trap,
              a destroy event may already be pending, and in that case, the
              actuall coordinate values are not at all critical.
      
      Sat Sep 18 22:24:15 1999  Owen Taylor  <otaylor@redhat.com>
      
      	* gdk/gdkcc.c: Stop leaking the color_hash all over
      	the place. Simplify and improve the logic.
      
      Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
      
      	* gdk/gdk.h, gdk/gdkcolor.c: make return types (gint or gboolean)
      	for prototypes and function implementations consistent (reported
      	by Tomas Ogren).
      
      Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
      
      	* gdk/gdkevents.c (gdk_event_translate): tell if expose events have
      	send_event set in debugging output.
      	(gdk_compress_exposures): default initialize the event so we don't
      	operate on bogus values (namely send_event).
      
      Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
      
      	* gdk/gdkwindow.c: When we receive an unexpected
      	destroy notify on one of our windows, don't just
      	warn about it, also mark our windows as destroyed.
      
      Sun Sep  5 08:10:53 1999  Owen Taylor  <otaylor@redhat.com>
      
      	* gdk/gdkfont.c (gdk_font_hash_insert): Add
      	  name => font and name => fontset hashes. The
      	  name => fontset hash is a _big_ win since we
      	  weren't previously caching fontsets at all and loading
      	  fontsets is expensive. The name => font hash
      	  is less of a win, but it does save us from doing
      	  repeated XQueryFont calls on the same font.
      
      	* gdk/gdkprivate.h (struct _GdkFontPrivate): Add a names
      	  list so we can remove font/fontset from hash.
      
      Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
      
      	* gdk/gdkproperty.c (gdk_atom_intern): Remove useless
      	  and slightly confusing test. [ XInternAtom (,,TRUE)
      	  will never return None ].
      
      Sat Sep  4 08:39:26 1999  Owen Taylor  <otaylor@redhat.com>
      
      	* gdk/gdkwindow.c (gdk_window_set_geometry_hints)
      	  gdk/gdkwindow.c (gdk_window_set_hints):
      
      	Don't omit setting the properties if flags == 0 -
      	there may be an existing set of properties there
      	already. (Very old bug. Would it be better to
      	delete the property instead?)
      
      	* gdk/gdkselection.c (gdk_selection_property_get): Fix
      	  spelling error in comment.
      
      Wed Sep  1 14:05:30 1999  Owen Taylor  <otaylor@redhat.com>
      
      	* gdk/gdkimage.c (gdk_image_new): Use gdk_error_trap_push()
      	  to avoid stomping over gdk_error_warnings.
      
      	* gdk/gdkimage.c (gdk_image_new): compute image->bpp
      	  as (bits_per_pixel + 7) / 8. This gives the same
      	  result as before for multiples of 8, but actually
      	  a "reasonable" value for 1bit or 4bit displays.
      
      Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
      
      	* gdk/Makefile.am: minor cleanups, strip spaces on build rules for
      	GNU Make.
      
      Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
      
      	* gdk/gdkevents.c (gdk_event_translate): give a debugging note when
      	discarding configure events.
      
      1999-08-18  Federico Mena Quintero  <federico@redhat.com>
      
      	* gdk/gdkpixmap.c (gdk_pixmap_unref): g_return_if_fail() the
      	refcount is greater than zero.
      
      	* gdk/gdkwindow.c (gdk_window_unref): Likewise.
      
      	* gdk/gdkfont.c (gdk_font_unref): Likewise.
      
      	* gdk/gdkgc.c (gdk_gc_unref): Likewise.
      
      	* gdk/gdkdnd.c (gdk_drag_context_unref): Likewise.
      
      Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
      
      	* gdk/gdkproperty.c (gdk_property_get): Fix assumption
      	that format 32 => sizeof(item) == 4. It really is
      	sizeof(long).
      
      Tue Jun 29 23:02:42 1999  Owen Taylor  <otaylor@redhat.com>
      
      	* gdk/gdk.c (gdk_x_error / gdk_x_io_error): Don't
      	core dump at all on X IO errors, only core dump
      	if --enable-debug for X errors.
      
      Thu Jun 24 17:06:23 1999  Tim Janik  <timj@gtk.org>
      
      	* gdk/gdkevents.c (gdk_event_translate): removed old ""Got event for
      	unknown window:" message. disabled ConfigureNotify discarding code,
      	because it led to events being processed out of order.
      
      Thu Jun 24 12:22:02 1999  Tim Janik  <timj@gtk.org>
      
      	* gdk/gdkglobals.c: preinitialize gdk_error_code to 0.
      
      	* gdk/gdkevents.c (gdk_event_send_client_message_to_all_recurse): since
      	we export this function, supress error warnings and don't reset the
      	error code in the first half of this function.
      
      	* gdk/gdk.c (gdk_x_error): set gdk_error_code to the actuall X error
      	code (instead of just -1) so gdk_error_trap_pop() reveals something
      	actually informative about the error that happened.
      
      	* gdk/*.c:
      	don't rely on gdk_error_code being -1 if an error occoured, but just
      	gdk_error_code != 0.
      
      Thu Jun 24 11:50:07 1999  Tim Janik  <timj@gtk.org>
      
      	* gdk/gdkevents.c (gdk_event_apply_filters): advance the filter list
      	pointer *before* invoking the filter function, so we at least don't
      	crash if a filter is removed that is currently executed. window filters
      	*really* need to be made truely reentrant at some point.
      
      Mon Jun 14 11:10:15 1999  Tim Janik  <timj@gtk.org>
      
      	* gdk/gdkevents.c (gdk_event_translate): print the atom name in the
      	PropertyNotify debug messages.
      
      Wed May  5 22:51:06 1999  Owen Taylor  <otaylor@redhat.com>
      
              Patch from Sung-Hyun Nam <namsh@lgic.co.kr>
      
      	* gdk/gdkim.c: Fix cut-and-paste errors for
      	x/y and PreeditAttributes/StatusAttributes.
      
      Wed May  5 22:24:21 1999  Owen Taylor  <otaylor@redhat.com>
      
      	* gdk/gdkwindow.c (gdk_window_set_geometry_hints): Change
      	G_MAXINT to 2^16 to alleviate overflow problems in
      	various window managers.
      
      Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
      
      	* gdk/gdkfont.c (gdk_text_measure): Fix the return value
              for fontsets.
      
      Wed May  5 12:42:01 1999  Owen Taylor  <otaylor@redhat.com>
      
      	* gdk/gdkwindow.c (gdk_window_set_geometry_hints):
      	Initialize size_hints.x and size_hints.y because kwm
      	brokenly pays attention to them.
      	(Bug #1181 -  Lars Heete <hel@admin.de>)
      
      Wed May  5 11:38:56 1999  Owen Taylor  <otaylor@redhat.com>
      
      	* gdk/gdkrgb.c (gdk_rgb_choose_visual): Free the
      	return value of gdk_list_visuals().
      	(Bug #1193 - Morten Welinder <terra@diku.dk>)
      
      Tue May  4 11:12:56 PDT 1999 Manish Singh <yosh@gimp.org>
      
      	* gdk/gdkim.c (gdk_im_real_open): cast the return value of
      	XSetIMValues to (void *) when comparing to NULL, to workaround
      	the problem of some compilers barfing since older X headers don't
      	have the prototype for it.
      
      Mon Apr 19 10:11:12 1999  Owen Taylor  <otaylor@redhat.com>
      
      	* gdk/gdkcolor.c (gdk_colormap_new): Fix memory leak
      	for pseudocolor where colormap->colors was double
      	allocated.
      
      	* gdk/gdkcolor.c (gdk_colormap_alloc1): Store the
      	color value in the hash table with the pixel filled
      	in so when we do later hash table lookups, the color
      	value is correct.
      
      Sun May  2 15:29:45 PDT 1999 Manish Singh <yosh@gimp.org>
      
      	* gdk/gdkdraw.c (gdk_draw_lines): check private->destroyed before
      	making the call
      
      Tue Apr 27 11:17:35 1999  Owen Taylor  <otaylor@redhat.com>
      
      	* gdk/gdkdnd.c (xdnd_set_{targets,actions}): Fix leak
      	pointed out by Morten Welinder <terra@diku.dk>.
      
      Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
      
      	* gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
      	  default filter from the list
      
      Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
      
      	* gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
      	  default filter from the list
      
      Fri Apr 16 20:41:43 PDT 1999 Manish Singh <yosh@gimp.org>
      
      	* gdk/gdk.c: #include "gdkkeysyms.h" for gdk_XConvertCase #defines
      
      	* gtk/gtkfontsel.c (gtk_font_selection_create_xlfd): use
      	g_strdup_printf instead of calcing the length separately
      
      Tue Apr 13 02:49:33 1999  Owen Taylor  <otaylor@redhat.com>
      
      	* gdk/gdkwindow.c: removed some silly #ifdef HAVE_CONFIG
      	that we don't do in many other places. (Fixing duplicate
      	#include of config.h)
      
      	* gdk/gdkevents.c: include gdkinput.h _after_ config.h.
      	Otherwise, #ifndef XINPUT_NONE check in the latter
      	doesn't work. (Bug #546)
      
      Sun Apr 11 14:38:03 1999  Tim Janik  <timj@gtk.org>
      
      	* gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): check for color
      	"None" case insensitive.
      
      Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
      
      	* gdk/gdkselection.c:
      	Add error traps so if the other end of the connection
      	dies, we survive.
      
      Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
      
      	* gdk/gdkdnd.c (gdk_drag_motion): Separate out the
      	dest_xid field into two fields - one for the window
      	to send in messages, one to indicate the last looked
      	up window for caching purposes. This is needed, so
      	that Leave messages get the correct window.
      
      Mon Apr  5 13:21:30 1999  Owen Taylor  <otaylor@redhat.com>
      
      	* gdk/gdkevents.c (gdk_event_check, gdk_event_prepare):
      	Fix warning created by people mucking around
      	with the gsource API.
      
      	* gdk/gdkevents.c (gdk_io_invoke, gdk_input_add_full):
      	Change mapping between GIOCondition and GdkInputCondition
      	to match the way the Linux kernel does it. This should
      	fix problems where closed pipes were no longer signalling
      	GDK_INPUT_READ on systems with a native poll().
      
      Mon Apr  5 17:11:57 1999  Owen Taylor  <otaylor@redhat.com>
      
      	* gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): Check
      	explicitly for the string "None" - it is in the XPM
      	spec and some servers treat unknown colors in odd ways
      	(like asking the user!)
      
      Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
      
      	* gdk/gdkevents.c: made "->" into a "." of previous change so
      	it compiles
      
      Thu Apr  1 18:41:25 1999  Owen Taylor  <otaylor@redhat.com>
      
      	* gdk/gdkevents.c (gdk_compress_exposures): Set the
      	window field of the event structure before calling
      	user filters.
      
      1999-03-31  Federico Mena Quintero  <federico@nuclecu.unam.mx>
      
      	* gdk/gdk.c (gdk_init_check): Use False as the last argument to
      	XInternAtom() here.  This is a particularly Old And Nasty(tm) bug.
      
      Mon Mar 29 17:31:52 1999  Owen Taylor  <otaylor@redhat.com>
      
      	* gdk/gdkim.c (gdk_mbstowcs): Free the value of the
      	intermediate text property - prevents major memory
              leak when gdk_use_mb.
      	gtk-d3august-990311-0: Bj|rn Augustsson <d3august@dtek.chalmers.se>
      
      Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
      
              Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
      	gtk-a-higuti-990322-[0-3]
      
      	* gdk/gdkfont.c (gdk_text_extents_wc): Make  work when
      	sizeof(wchar_t) != sizeof (GdkWChar)
      
      	* configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
      	that was causing -DX_LOCALE not	to work.
      
      	* gtk/gtkrc.c (gtk_rc_init):
      	X_LOCALE will never have LC_MESSAGES defined
      
      	* gdk/gdk.c (gdk_init_check):
      	Remove --xim-preedit and --xim-status from argv properly.
      
      	* gdk/gdkim.c (gdk_ic_real_new): Add a gdk_flush() so
      	that the client window is present on the X server
      	before we pass it to the input method.
      
      Tue Mar  9 10:46:49 1999  Owen Taylor  <otaylor@redhat.com>
      
      	* gdk/gdkdnd.c (motif_find_drag_window): Fix bug where
      	if --display is specified on the command line, than
      	the drag window will not be created on that display.
      
      Tue Mar  9 10:38:24 1999  Owen Taylor  <otaylor@redhat.com>
      
      	* gdk/gdkproperty.c (gdk_atom_intern): Fixed bug where
      	lookups with only_if_exists == TRUE were inserting
      	bogus values into the atom cache.
      
      Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
      
      	* gdk/gdkselection.c (gdk_selection_property_get): first XFree(t),
      	then reset it to NULL.
      
      	* gdk/gdkcolor.c:
      	(gdk_colors_free):
      	(gdk_colormap_free_colors): use colormap->colors[in_pixels[i]] as the
      	key for g_hash_table_remove() in both functions, this prevents us
      	from accessing possibly uninitialized portions of a GdkColor structure
      	where we are only interested in its pixel value.
      
      Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
      
      	* gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
      	font hash table, if we have a GdkFontPrivate entry for this font
      	already, simply increment its reference count, provided by Olaf Dietsche
      	<olaf.dietsche+list.gtk@netcologne.de>.
      
      1999-09-21  Tor Lillqvist  <tml@iki.fi>
      95b3f3e4
  27. 17 Sep, 1999 1 commit
    • Tor Lillqvist's avatar
      Add gdk_threads_mutex. · 4850edb2
      Tor Lillqvist authored
      1999-09-17  Tor Lillqvist  <tml@iki.fi>
      
      * gdk/win32/gdk.def: Add gdk_threads_mutex.
      
      * gtk/makefile.msc: Correct path to libintl.
      
      Thanks to Tomi Ollila and Bernd Herd: Fix some inconsistencies in
      use of gint vs. int, and gint vs. gboolean in headers and
      definitions. Use GtkType for the *_get_type functions. Note that
      these changes preserve binary compatibility.
      
      * gdk/gdk.c
      * gdk/win32/gdk.c
      * gdk/gdk.h: Fix inconsistencies: gint vs int.
      
      * gtk/gtkmain.c
      * gtk/gtkclist.c
      * gtk/gtkmenufactory.c
      * gtk/gtknotebook.c
      * gtk/gtkwidget.c: Fix inconsistencies, also gint
      vs. gboolean.
      
      * gtk/gtkcolorsel.[ch]
      * gtk/gtkcombo.[ch]
      * gtk/gtkdrawingarea.[ch]
      * gtk/gtkgamma.[ch]
      * gtk/gtkhandlebox.[ch]
      * gtk/gtkhpaned.[ch]
      * gtk/gtkhruler.[ch]
      * gtk/gtkplug.[ch]
      * gtk/gtkpreview.[ch]
      * gtk/gtkruler.[ch]
      * gtk/gtksocket.[ch]
      * gtk/gtkstatusbar.[ch]
      * gtk/gtktoolbar.[ch]
      * gtk/gtkvbbox.[ch]
      * gtk/gtkvpaned.[ch]
      * gtk/gtkvruler.[ch]: Always use type GtkType for the *_get_type
      functions.
      
      * gtk/gtkgamma.h: Fix bug, missing () in call of
      gtk_gamma_curve_get_type() in GTK_GAMMA_CURVE_CLASS.
      4850edb2
  28. 17 Mar, 1999 1 commit
    • Tor Lillqvist's avatar
      Merge in Win32 version: Define macro GDKVAR for declaring gdk variables · 0b4d29fd
      Tor Lillqvist authored
      * gdk/gdktypes.h: Merge in Win32 version: Define macro GDKVAR for
      declaring gdk variables exported/imported from the DLL. New image
      type enum, GDK_IMAGE_SHARED_PIXMAP, for gdk_imlib. New drag and
      drop protocol enums, GDK_DRAG_PROTO_WIN32_DROPFILES and
      GDK_DRAG_PROTO_OLE2.
      
      * gdk/gdk.h: Merge in Win32 version: Two new functions,
      gdk_pixmap_create_on_shared_image and gdk_image_bitmap_new. So far
      declared only for the Win32 version, but could be in the X11
      version as well. (Needed for a Xlib-less gdk_imlib.)
      gdk_color_hash should have only one parameter. Declare
      gdk_threads_mutex with GDKVAR.
      
      * gdk/gdkcolor.c (gdk_color_hash): As a hash function should have
      just one parameter.
      
      * gdk/gdkimage.c (gdk_image_get): Initialize bpp correctly. Bytes
      per pixel, not bits.
      
      * gdk/gdkrgb.c: Mingle includes somewhat. (gdk_rgb_select_conv):
      Fetch bpp (which means bits-per-pixel here) from another place on
      Win32. Accept also depth==32 (which we might get on Win32) with
      bpp==32.
      
      * gtk/{gtkclist,gtkctree,gtkdnd,gtkditable,gtkfontsel,
      gtkhandlebox,gtklayout,gtkmain,gtkplug,gtkpreview,gtkrc,
      gtkselection,gtksocket,gtkstyle,gtkwidget,gtkwindow}.c:
      Include gdx.h from "gdkx.h", not "gdk/gdkx.h", as gdkx.h will be
      in the backend-dependent directory, not in the common gdk
      directory.
      
      * gtk/testgtk.c: Ditto. Also, don't use ../gdk patchs to gdk
      headers.
      0b4d29fd
  29. 24 Feb, 1999 1 commit
  30. 21 Feb, 1999 2 commits
    • Owen Taylor's avatar
      Account for the fact that Xlib expects format == 32 to be a long, even on · 25cdbd35
      Owen Taylor authored
      Sun Feb 21 15:59:55 1999  Owen Taylor  <otaylor@redhat.com>
      
      	* gdk/MwmUtil.h gdk/gdkwindow.c: Account for the
      	fact that Xlib expects format == 32 to be a long,
      	even on 64-bit architectures.
      
      	[ patch from George Lebl (jirka@5z.com) ]
      25cdbd35
    • Owen Taylor's avatar
      removed debugging statements about embedded XID's. They could have been · 295e763b
      Owen Taylor authored
      Sun Feb 21 14:21:46 1999  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtkwindow.c: removed debugging statements
      	about embedded XID's. They could have been
      	moved to the new PLUGSOCKET debug key, but they weren't
      	really useful anyways.
      
      	* gdk/gdk.h: Added gdk_error_trap_push/pop to provide
      	a clean interface to the gdk_error_code functionality
      	of trapping X errors.
      
      	* gtk/gtkplug.c gtk/gtksocket.c: Add error
      	traps around accesses to foreign windows.
      295e763b
  31. 28 Jan, 1999 1 commit
    • Owen Taylor's avatar
      Change signatures for gdk_drag_begin() and gdk_drag_motion() so that the · 77e99440
      Owen Taylor authored
      Wed Jan 27 18:57:57 1999  Owen Taylor  <otaylor@redhat.com>
      
      	* gdk/gdk.h gdk/gdkdnd.c: Change signatures for
      	gdk_drag_begin() and gdk_drag_motion() so that the set
      	of possible actions is passed on each motion, not just at
      	the beginning of the drag. We do this so that
      	we can restrict the set of possible drag events
      	when the user presses a modifier key during a
      	drag.
      
      	* gdk/gdkdnd.c: Send a motif Operation-changed
      	message when the set of possible actions change,
      	as well as when the suggested action change.
      
      	* gdk/gdkdnd.c: Change the XdndActionList whenever
      	the set of actions change.
      
      	* gdk/gdkdnd.c: Add a filter to catch changes to
      	the XdndActionList property for the source widget.
      
      	* gtk/gtkdnd.c: Change the set of possible actions
      	when the user presses Control, Shift, or Control-Shift,
      	to only include the corresponding action.
      
      	* gtk/gtkdnd.c (gtk_drag_button_release_cb):
      	Disconnect button signals before we possibly
      	free info structure.
      77e99440
  32. 27 Jan, 1999 1 commit
    • Owen Taylor's avatar
      Use floor() instead of truncating to integer values so we get translation · 14724626
      Owen Taylor authored
      Wed Jan 20 11:19:00 1999  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtklabel.c: Use floor() instead of truncating
      	to integer values so we get translation invariance.
      
      	* gtk/gtklayout.c (gtk_layout_size_allocate): Set upper
      	and lower values for adjustments in size_allocate().
      
      	* gdk/gdkwindow.c gdk/gdk.h gdk/gdkprivate.h: New
      	function gdk_window_set_static_gravities() to set
      	up a window for guffaw scrolling.
      
      	* gdk/gdkwindow.c (gdk_window_internal_destroy): Set flags
      	indicating destroyed state before cleanup.
      
      	* gtk/gtkprivate.h gtk/gtkwidget.c: Add a new
      	private flag IS_OFFSCREEN. If set, this indicates
      	to GTK+ that the widget is not to be considered
      	viewable regardless of its map state. Queued draws
      	on offscreen widgets are suppressed.
      
      	Added new function static gtk_widget_is_offscreen() to
      	check this flag on a widget and its ancestors.
      
      	* gtk/gtklayout.[ch]: Major revisions.
      
      	- Use gdk_window_set_static_gravities to set static gravity
      	on all child windows, and thus avoid having to create a window
      	for NO_WINDOW children.
      
      	- Adjust allocations of children as we scroll them
      	so queued draws work correctly.
      
      	- Don't allocate our children directly in a put()
      	or move(); just queue a resize() like every other
      	widget.
      
      	* gtk/testgtk.c: Make the arrows on the scrollbars
      	work, create a larger and more demanding test.
      14724626
  33. 15 Jan, 1999 1 commit
    • Owen Taylor's avatar
      nparams for selection_get should be 3, not 2. [ From Damon Chaplin · 2e99e771
      Owen Taylor authored
      Fri Jan 15 10:22:21 1999  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtkwidget.c (gtk_widget_class_init):
      	nparams for selection_get should be 3, not 2.
      	[ From Damon Chaplin <damon@karuna.freeserve.co.uk> ]
      
      	* gtk/gtkeventbox.c (gtk_event_box_paint): Add a paint
      	routine so queued redraws work inside event boxes.
      
      Thu Jan 14 17:47:37 1999  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): Only
       	 redraw character under cursor when not displaying
      	highlighted selection.
      
      	* gdk/gdkrgb.c (gdk_rgb_init): Add in a cast to
      	gpointer to make IRIX cc happy.
      
      Thu Jan 14 12:29:50 1999  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtkcheckbutton.c (gtk_check_button_draw): Restructure
      	the drawing code to remove a bit of duplication -
      	and to remove a call to gtk_widget_draw_focus()
      	that queues a redraw when an expose occurs.
      
      	* gtk/gtklabel.c (gtk_label_expose): Fix up handling
      	  of ypadding.
      
      	* gtk/gtknotebook.c (gtk_notebook_draw): If we redraw
      	  the whole widget, also redraw the corresponding
      	  areas of the child widget. (have_visible_child
      	  still has some problems)
      
      	* gdk/gdkpixmap.c: Change some g_new's to g_new0 so
      	  that fields unused for pixmaps get initialzized
      	  sanely.
      
              * gdk/gdk.h gdk/gdkwindow.c gdk/gdkprivate.h: Add new calls
      	  gdk_window_is_visible() and gdk_window_is_viewable()
      	  and a mapped flag to the window private structure.
      
              * gtk/gtkbin.c gtk/gtkclist.c gtk/gtkfixed.c gtk/gtkitem.c
      	  gtk/gtklayout.c gtk/gtklist.c gtk/gtkmenushell.c
      	  gtk/gtknotebook.c gtk/gtkpaned.c gtk/gtktree.c
      	  gtk/gtktreeitem.c gtk/gtkviewport.c:
      	Map windows after mapping children.
      
      	* gtk/gtkwidget.c (gtk_widget_clip_rect): Handle
      	rectangles completely clipped away correctly.
      
      	* gtk/gtkwidget.c (gtk_widget_idle_draw): Don't
      	call gtk_widget_draw if width or height is 0.
      
      	* gtk/gtkwidget.c (gtk_widget_idle_draw): Don't
      	rely on GTK_REDRAW_PENDING after we've cleared
      	it. (This was causing draw-combining to not
      	happen at all).
      
      	* gtk/gtkbin.c gtk/gtkscale.c: Remove uneccessary calls
      	to gtk_widget_queue_draw() when mapping.
      2e99e771
  34. 12 Jan, 1999 1 commit
    • Owen Taylor's avatar
      Add a drag_data_received handler for the label. · 24f6d8b8
      Owen Taylor authored
      Tue Jan 12 18:30:51 1999  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/testdnd.c (label_drag_data_received): Add
      	a drag_data_received handler for the label.
      
      Tue Jan 12 15:01:50 1999  Owen Taylor  <otaylor@redhat.com>
      
              * gdk/gdkevents.c: Removed the putback_events queue,
      	since it was causing problems with event ordering -
      	just keep a single queue. If we need it, we can
      	add priorities to events.
      
      	* gdk/gdkevents.c: Annotate events with flags - we allocate
      	a GdkEventPrivate structure in gdk_event_new() and use these
      	flags to mark an event being translated as "pending" -
      	I.e., not yet ready to be dequeued. So we can put
      	the event on the queue and get the order of the
      	events right. (This solves the double-click problems)
      
      	* gdk/gdk.h gdk/gdkevents.h: Add gdk_event_peek() to get a copy
      	of the next event on the event queue.
      
      	* gtk/gtkmain.c (gtk_main_do_event): Use gdk_event_peek()
      	to check the next event without causing event queue
      	reordering.
      24f6d8b8
  35. 02 Jan, 1999 1 commit
    • Tim Janik's avatar
      make this G_PRIORITY_DEFAULT. · e573567b
      Tim Janik authored
      Sat Jan  2 03:54:30 1999  Tim Janik  <timj@gtk.org>
      
              * gdk/gdk.h (GDK_PRIORITY_EVENTS): make this G_PRIORITY_DEFAULT.
      
              * gdk/gdkevents.c (gdk_events_init): add the source and the poll fd with
              a priority of GDK_PRIORITY_EVENTS.
      e573567b
  36. 20 Dec, 1998 1 commit
    • Tim Janik's avatar
      export the priority at which events are processed. · af2c3bd1
      Tim Janik authored
      Sun Dec 20 04:48:59 1998  Tim Janik  <timj@gtk.org>
      
              * gdk/gdk.h (GDK_PRIORITY_EVENTS): export the priority at which
              events are processed.
      
              * gtk/gtk[main|signal|container].[ch]: removed deprecated _interp
              variants: gtk_container_foreach_interp, gtk_idle_add_interp,
              gtk_timeout_add_interp, gtk_signal_connect_interp.
      af2c3bd1
  37. 16 Dec, 1998 1 commit
    • Owen Taylor's avatar
      Move main thread lock back to GDK - we need it there for locking when · fcfe7370
      Owen Taylor authored
      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:
      fcfe7370
  38. 15 Dec, 1998 1 commit
    • Owen Taylor's avatar
      Added gdk_text_extents_wc() · a3c1e86f
      Owen Taylor authored
      Tue Dec 15 14:30:35 1998  Owen Taylor  <otaylor@redhat.com>
      
      	* gdk/gdk.h gdk/gdkfonts.c: Added gdk_text_extents_wc()
      
              * Patch from Jonathan Blanford <jrb@redhat.com> to add line wrapping
      	  to label. (Based on patch from Jeff Dairiki
      	  <dairiki@mac-ceope.apl.washington.edu> gtk-dairiki-971208-0)
      
      	- Adds new function gtk_label_set_line_wrap()
      	- implement GTK_JUSTIFY_FILL.
      	- rename gtk_label_set to gtk_label_set_text() add
      	   gtk_label_set() to gtkcompat.h.
      
      	* Use an internal wc representation in the label, so
      	  that we handle underlining and line breaks correctly
      	  for multi-byte strings.
      a3c1e86f