The unified diff between revisions [cee5a1e3..] and [4275a971..] is displayed below. It can also be downloaded as a raw diff.
#
#
# add_file "contrib/cairo-1.8.6.diff"
# content [2a856ed8a7a3b5a45d4debcdc94c7b455352ccd7]
#
# add_file "contrib/glib-2.18.4-win32.diff"
# content [5866de48dd8efc89f955768301d381eab40259d1]
#
# add_file "contrib/gtk+-2.14.7-darwin.diff"
# content [7147be20cbcb9b5caf7db5e58cadb53eec03b696]
#
# add_file "contrib/gtk+-2.14.7-win32.diff"
# content [ad276f715279536a6705886815b1f58c6aaf1a5a]
#
# add_file "contrib/gtk+-2.14.7.diff"
# content [ba080512c44b00bb11f16afbd897f57c481c6ccf]
#
# patch "README"
# from [0ca8c6ead2b666b82a98de15b666f78e2de9ae4a]
# to [724a5d2bb49ece3ce71969a01f408ff659641fcf]
#
# patch "configure"
# from [5b211214d466cb0532a023d7a25dee6656e3f17d]
# to [2a0c47618af215c6a45a70469554924ae8e86fa0]
#
# patch "configure.in"
# from [b93bf9dff34e4870abd61cc04a0607c2895eb51c]
# to [13e616415969b698f50b0d0f067b22fe42d890b9]
#
# patch "contrib/gtk+-2.16.5.diff"
# from [717df07498689c5bf8d34e07d0cf9672447f60d4]
# to [6044693b5079a9f91191db8554e5f4c6caf9839c]
#
# patch "src/gtk-extra-plot.adb"
# from [5ce758d93da3632aa19d5baa9befb1b66b671493]
# to [d217f35999435fe1f99f44a5ada34bfcb1176116]
#
# patch "src/gtk-text_buffer.adb"
# from [8baae7d93901f253f2df70ead9ecc7689e21fc52]
# to [1cb71213aa06933f752cc9deba3117dc6e600885]
#
# patch "src/gtk-text_buffer.ads"
# from [6b2f0547f7464d7a6ecc37d5622a9dd58620d762]
# to [c70db353dc955f4df5aa88821f826978edc560e2]
#
# patch "src/gtkada-abstract_tree_model.ads"
# from [fad8fa7caa7ff088d870740c5b1faa79f34cb525]
# to [8e8f3e0f5be9076e8016222cdfb8589f90e8e1f0]
#
# patch "src/gtkada-mdi.adb"
# from [2ef07b84f3c134facb0923e416d1daf89fd3ab1d]
# to [861ae4469ffa0dc44ad98784f675fde349de9307]
#
# patch "src/misc.c"
# from [72a474be0ac8ea13cdab1d248d96cd783cdd084f]
# to [78525f7572974968cbbfbab1faead285fe4f6ce9]
#
============================================================
--- contrib/cairo-1.8.6.diff 2a856ed8a7a3b5a45d4debcdc94c7b455352ccd7
+++ contrib/cairo-1.8.6.diff 2a856ed8a7a3b5a45d4debcdc94c7b455352ccd7
@@ -0,0 +1,15 @@
+2008-10-30 Arnaud Charlet <charlet@adacore.com>
+
+ * src/cairo-quartz-font.c: Add missing prototype
+
+--- src/cairo-quartz-font.c.old 2008-10-30 11:36:44.000000000 +0100
++++ src/cairo-quartz-font.c 2008-10-30 12:35:26.000000000 +0100
+@@ -786,6 +786,8 @@ _cairo_quartz_scaled_font_get_cg_font_re
+ cairo_font_face_t *
+ cairo_quartz_font_face_create_for_atsu_font_id (ATSUFontID font_id)
+ {
++ extern ATSFontRef FMGetATSFontRefFromFont (FMFont iFont);
++
+ ATSFontRef atsFont = FMGetATSFontRefFromFont (font_id);
+ CGFontRef cgFont = CGFontCreateWithPlatformFont (&atsFont);
+ cairo_font_face_t *ff;
============================================================
--- contrib/glib-2.18.4-win32.diff 5866de48dd8efc89f955768301d381eab40259d1
+++ contrib/glib-2.18.4-win32.diff 5866de48dd8efc89f955768301d381eab40259d1
@@ -0,0 +1,35 @@
+ * glib/convert.c, glib/gmem.c: Do not crash when trying to convert
+ a huge file, return NULL instead.
+
+--- glib/gconvert.c.old 2007-01-26 17:16:07.171875000 +0100
++++ glib/gconvert.c 2007-01-26 17:17:35.812500000 +0100
+@@ -610,7 +610,15 @@ g_convert_with_iconv (const gchar *str,
+
+ outbuf_size *= 2;
+ dest = g_realloc (dest, outbuf_size);
+-
++
++ if (dest == NULL)
++ {
++ g_set_error (error, G_CONVERT_ERROR, G_CONVERT_ERROR_FAILED,
++ _("Error during conversion: %s"),
++ g_strerror (errno));
++ return NULL;
++ }
++
+ outp = dest + used;
+ outbytes_remaining = outbuf_size - used - 1; /* -1 for nul */
+ }
+--- glib/gmem.c.orig 2008-04-08 05:47:29.000000000 +0200
++++ glib/gmem.c 2008-04-17 18:26:07.765625000 +0200
+@@ -171,8 +171,10 @@ g_realloc (gpointer mem,
+ if (mem)
+ return mem;
+
++ /*
+ g_error ("%s: failed to allocate %"G_GSIZE_FORMAT" bytes",
+ G_STRLOC, n_bytes);
++ */
+ }
+
+ if (mem)
============================================================
--- contrib/gtk+-2.14.7-darwin.diff 7147be20cbcb9b5caf7db5e58cadb53eec03b696
+++ contrib/gtk+-2.14.7-darwin.diff 7147be20cbcb9b5caf7db5e58cadb53eec03b696
@@ -0,0 +1,17 @@
+2009-03-18 Nicolas Setton <setton@adacore.com>
+
+ * configure: Under darwin versions > 9.4.0, xrandr.pc describes
+ version 1.2.2, but the Xrandr.h shipped with the system does not
+ define symbols used by Gtk+, so we disable the use of RANDR.
+
+--- configure.original 2009-03-19 17:55:51.000000000 +0100
++++ configure 2009-03-19 17:56:20.000000000 +0100
+@@ -33743,7 +33743,7 @@
+ if $PKG_CONFIG --exists "xrandr >= 1.2" ; then
+
+ cat >>confdefs.h <<\_ACEOF
+-#define HAVE_RANDR 1
++#undef HAVE_RANDR
+ _ACEOF
+
+
============================================================
--- contrib/gtk+-2.14.7-win32.diff ad276f715279536a6705886815b1f58c6aaf1a5a
+++ contrib/gtk+-2.14.7-win32.diff ad276f715279536a6705886815b1f58c6aaf1a5a
@@ -0,0 +1,143 @@
+2008-12-02 Arnaud Charlet <charlet@adacore.com>
+
+ * gdk/win32/gdkevents-win32.c (gdk_events_translate): Fix build failure.
+
+2007-10-10 Arnaud Charlet <charlet@adacore.com>
+
+ * modules/engines/ms-windows/msw_style.c (draw_themed_tab_button):
+ Avoid SEGV in case pixbuf is null or clip_rect is empty.
+ Fixes G928-005
+
+2006-06-05 Arnaud Charlet <charlet@adacore.com>
+
+ * gdk/win32/gdkgc-win32.c (_gdk_win32_gdkregion_to_hrgn): Disable
+ harmless warning which is occurring often with Gtk+ >= 2.8.18
+
+2002-11-25 Arnaud Charlet <charlet@adacore.com>
+
+ * gdk/Makefile.in: Remove gdk-win32res.o dependency,
+ since we do not want to use the default Gtk+ icon.
+
+2002-09-12 Florent Duguet <duguet@adacore.com>
+
+ * gdk/win32/gdkevents-win32.c (handle_wm_paint): Force an update when
+ paint message is received, otherwise windows in background are not
+ immediately refreshed when moving a modal window on top of them.
+ Add handling of WM_NCPAINT message to refresh some areas when a window
+ from another application is moved on top of the current app.
+
+--- gdk/win32/gdkevents-win32.c.old 2006-02-21 10:02:58.000000000 +0100
++++ gdk/win32/gdkevents-win32.c 2006-02-21 10:08:22.000000000 +0100
+@@ -2125,6 +2125,12 @@ handle_wm_paint (MSG *msg,
+ _gdk_window_process_expose (window, update_region);
+ gdk_region_destroy (update_region);
+
++ /* Force a process_updates to refresh visible windows
++ * when receiving a paint message. */
++
++ if (!GDK_WINDOW_DESTROYED (window) && gdk_window_is_visible (window))
++ gdk_window_process_updates (window, FALSE);
++
+ DeleteObject (hrgn);
+ }
+
+@@ -2964,6 +2970,35 @@ gdk_event_translate (MSG *msg,
+ *ret_valp = 1;
+ break;
+
++ case WM_NCPAINT:
++ if (msg->wParam < 1)
++ break;
++
++ {
++ HRGN hrgn;
++
++ hrgn = CreateRectRgn (0, 0, 0, 0);
++ if (GetUpdateRgn (msg->hwnd, hrgn, FALSE) == ERROR)
++ {
++ WIN32_GDI_FAILED ("GetUpdateRgn");
++ break;
++ }
++
++ {
++ GdkRegion *update_region = _gdk_win32_hrgn_to_region (hrgn);
++
++ _gdk_windowing_window_get_offsets (window, &xoffset, &yoffset);
++ gdk_region_offset (update_region, xoffset, yoffset);
++
++ _gdk_window_process_expose (window, update_region);
++ gdk_region_destroy (update_region);
++
++ DeleteObject (hrgn);
++ return_val = FALSE;
++ }
++ }
++ break;
++
+ case WM_PAINT:
+ handle_wm_paint (msg, window, FALSE, NULL);
+ break;
+--- gdk/win32/gdkgc-win32.c.old 2005-07-18 17:20:28.000000000 +0200
++++ gdk/win32/gdkgc-win32.c 2006-06-05 14:56:59.515625000 +0200
+@@ -1160,8 +1160,7 @@ _gdk_win32_gdkregion_to_hrgn (GdkRegion
+ if (rect->bottom > rgndata->rdh.rcBound.bottom)
+ rgndata->rdh.rcBound.bottom = rect->bottom;
+ }
+- if ((hrgn = ExtCreateRegion (NULL, nbytes, rgndata)) == NULL)
+- WIN32_API_FAILED ("ExtCreateRegion");
++ hrgn = ExtCreateRegion (NULL, nbytes, rgndata);
+
+ g_free (rgndata);
+
+--- gdk/Makefile.in.orig 2008-07-01 15:44:02.000000000 +0200
++++ gdk/Makefile.in 2008-08-28 14:35:53.531250000 +0200
+@@ -498,8 +498,8 @@ libgdk_win32_2_0_la_SOURCES = $(common_s
+ libgdk_win32_2_0_la_LIBADD = win32/libgdk-win32.la $(GDK_DEP_LIBS) \
+ $(top_builddir)/gdk-pixbuf/libgdk_pixbuf-$(GTK_API_VERSION).la
+
+-libgdk_win32_2_0_la_DEPENDENCIES = win32/libgdk-win32.la win32/rc/gdk-win32-res.o gdk.def
+-libgdk_win32_2_0_la_LDFLAGS = -Wl,win32/rc/gdk-win32-res.o -export-symbols $(srcdir)/gdk.def $(LDADD)
++libgdk_win32_2_0_la_DEPENDENCIES = win32/libgdk-win32.la gdk.def
++libgdk_win32_2_0_la_LDFLAGS = -export-symbols $(srcdir)/gdk.def $(LDADD)
+
+ @MS_LIB_AVAILABLE_TRUE@noinst_DATA = gdk-win32-$(GTK_API_VERSION).lib
+
+--- modules/engines/ms-windows/msw_style.c.orig 2008-03-12 05:17:03.000000000 +0100
++++ modules/engines/ms-windows/msw_style.c 2008-04-17 18:35:13.515625000 +0200
+@@ -2649,6 +2649,9 @@ draw_themed_tab_button (GtkStyle *style,
+ GdkPixbuf *pixbuf;
+ GdkPixbuf *rotated;
+
++ if (clip_rect.width <= 0 || clip_rect.height <= 0)
++ return TRUE;
++
+ if (gap_side == GTK_POS_LEFT || gap_side == GTK_POS_RIGHT)
+ {
+ pixmap = gdk_pixmap_new (window, clip_rect.height, clip_rect.width, -1);
+@@ -2682,6 +2685,7 @@ draw_themed_tab_button (GtkStyle *style,
+ g_object_unref (pixmap);
+ }
+
++ if (pixbuf != NULL) {
+ rotated = gdk_pixbuf_rotate_simple (pixbuf, rotation);
+ g_object_unref (pixbuf);
+ pixbuf = rotated;
+@@ -2710,6 +2714,7 @@ draw_themed_tab_button (GtkStyle *style,
+ clip_rect.width, clip_rect.height, GDK_RGB_DITHER_NONE,
+ 0, 0);
+ g_object_unref (pixbuf);
++ }
+ }
+
+ return TRUE;
+--- gdk/win32/gdkevents-win32.c.old 2008-12-02 10:23:48.109375000 +0100
++++ gdk/win32/gdkevents-win32.c 2008-12-02 10:23:51.984375000 +0100
+@@ -3011,7 +3011,7 @@ gdk_event_translate (MSG *msg,
+ {
+ GdkRegion *update_region = _gdk_win32_hrgn_to_region (hrgn);
+
+- _gdk_windowing_window_get_offsets (window, &xoffset, &yoffset);
++ _gdk_win32_windowing_window_get_offsets (window, &xoffset, &yoffset);
+ gdk_region_offset (update_region, xoffset, yoffset);
+
+ _gdk_window_process_expose (window, update_region);
============================================================
--- contrib/gtk+-2.14.7.diff ba080512c44b00bb11f16afbd897f57c481c6ccf
+++ contrib/gtk+-2.14.7.diff ba080512c44b00bb11f16afbd897f57c481c6ccf
@@ -0,0 +1,267 @@
+2009-09-19 Arnaud Charlet <charlet@adacore.com>
+
+ * gtk/gtktreemodel.c (gtk_tree_model_row_has_child_toggled): Replace
+ g_return_if_fail by explicit check, since path may legitimately
+ be NULL (I918-021).
+
+2009-01-12 Nicolas Setton <setton@adacore.com>
+
+ * gtktreeview.c (gtk_tree_view_enter_notify): Do not react to
+ crossing events.
+ (gtk_tree_view_leave_notify): Likewise.
+ Prevents unwanted side-effects of synth-crossing. (I106-018)
+
+2009-01-06 Nicolas Setton <setton@adacore.com>
+
+ * gtk/gtktreeview.c (gtk_tree_view_enter_notify): Put kludge to
+ work around Gtk+ bug in handling of keyboard keys+focus events in
+ tree view (HC15-032).
+
+2008-10-30 Arnaud Charlet <charlet@adacore.com>
+
+ * gdk/quartz/gdkkeys-quartz.c: Use new input API, since old keyboard
+ API is not available for x86-64.
+ Submitted at http://bugzilla.gnome.org/show_bug.cgi?id=558586
+ Committed on Gtk+ trunk on 2008-11-06
+
+2006-02-23 Arnaud Charlet <charlet@adacore.com>
+
+ * gdk/x11/gdkasync.c: #define ANSICPP on Solaris, to work around
+ bug in X11/Xmd.h on Solaris 8.
+
+2003-11-27 Arnaud Charlet <charlet@adacore.com>
+
+ * gtk/gtktextview.c (incremental_validate_callback): Increase amount
+ of characters validated at each call, this gives a better behavior
+ when loading big files.
+ Submitted at http://bugzilla.gnome.org/show_bug.cgi?id=332057
+
+--- gtk/gtktextview.c.old 2006-02-17 16:11:04.000000000 +0100
++++ gtk/gtktextview.c 2006-02-20 17:08:54.691581240 +0100
+@@ -3273,7 +3273,7 @@ incremental_validate_callback (gpointer
+
+ DV(g_print(G_STRLOC"\n"));
+
+- gtk_text_layout_validate (text_view->layout, 2000);
++ gtk_text_layout_validate (text_view->layout, 20000);
+
+ gtk_text_view_update_adjustments (text_view);
+
+--- gdk/x11/gdkasync.c.old Thu Feb 23 11:30:46 2006
++++ gdk/x11/gdkasync.c Thu Feb 23 11:48:14 2006
+@@ -47,6 +47,11 @@ in this Software without prior written a
+ #ifdef NEED_XIPROTO_H_FOR_XREPLY
+ #include <X11/extensions/XIproto.h>
+ #endif
++
++#if defined (sun) && defined (__SVR4)
++#define ANSICPP
++#endif
++
+ #include <X11/Xlibint.h>
+ #include "gdkasync.h"
+ #include "gdkx.h"
+--- gdk/quartz/gdkkeys-quartz.c.old 2008-10-30 14:31:20.000000000 +0100
++++ gdk/quartz/gdkkeys-quartz.c 2008-10-30 15:31:09.000000000 +0100
+@@ -61,7 +61,7 @@
+
+ static GdkKeymap *default_keymap = NULL;
+
+-static KeyboardLayoutRef current_layout = NULL;
++static TISInputSourceRef current_layout = NULL;
+
+ /* This is a table of all keyvals. Each keycode gets KEYVALS_PER_KEYCODE entries.
+ * TThere is 1 keyval per modifier (Nothing, Shift, Alt, Shift+Alt);
+@@ -179,114 +179,32 @@ const static struct {
+ static void
+ maybe_update_keymap (void)
+ {
+- KeyboardLayoutRef new_layout;
++ TISInputSourceRef new_layout;
+
+- KLGetCurrentKeyboardLayout (&new_layout);
++ new_layout = TISCopyCurrentKeyboardLayoutInputSource ();
+
+ if (new_layout != current_layout)
+ {
+ guint *p;
+ int i;
+
+- KeyboardLayoutKind layout_kind;
+-
+ g_free (keyval_array);
+ keyval_array = g_new0 (guint, NUM_KEYCODES * KEYVALS_PER_KEYCODE);
+-
+- /* Get the layout kind */
+- KLGetKeyboardLayoutProperty (new_layout, kKLKind, (const void **)&layout_kind);
+-
+- /* 8-bit-only keyabord layout */
+- if (layout_kind == kKLKCHRKind)
++
+ {
+- const void *chr_data;
++ const void *chr_data = NULL;
+
+ /* Get chr data */
+- KLGetKeyboardLayoutProperty (new_layout, kKLKCHRData, (const void **)&chr_data);
++ CFDataRef currentKeyLayoutDataRef = (CFDataRef) TISGetInputSourceProperty (new_layout, kTISPropertyUnicodeKeyLayoutData);
++ if (currentKeyLayoutDataRef)
++ chr_data = CFDataGetBytePtr (currentKeyLayoutDataRef);
+
+- for (i = 0; i < NUM_KEYCODES; i++)
++ if (chr_data == NULL)
+ {
+- int j;
+- UInt32 modifiers[] = {0, shiftKey, optionKey, shiftKey | optionKey};
+-
+- p = keyval_array + i * KEYVALS_PER_KEYCODE;
+-
+- for (j = 0; j < KEYVALS_PER_KEYCODE; j++)
+- {
+- UInt32 c, state = 0;
+- UInt16 key_code;
+- UniChar uc;
+-
+- key_code = modifiers[j] | i;
+- c = KeyTranslate (chr_data, key_code, &state);
+-
+- if (state != 0)
+- {
+- UInt32 state2 = 0;
+- c = KeyTranslate (chr_data, key_code | 128, &state2);
+- }
+-
+- if (c != 0 && c != 0x10)
+- {
+- int k;
+- gboolean found = FALSE;
+-
+- /* FIXME: some keyboard layouts (e.g. Russian) use
+- * a different 8-bit character set. We should
+- * check for this. Not a serious problem, because
+- * most (all?) of these layouts also have a
+- * uchr version.
+- */
+- uc = macroman2ucs (c);
+-
+- for (k = 0; k < G_N_ELEMENTS (special_ucs_table); k++)
+- {
+- if (special_ucs_table[k].ucs_value == uc)
+- {
+- p[j] = special_ucs_table[k].keyval;
+- found = TRUE;
+- break;
+- }
+- }
+-
+- /* Special-case shift-tab since GTK+ expects
+- * GDK_ISO_Left_Tab for that.
+- */
+- if (found && p[j] == GDK_Tab && modifiers[j] == shiftKey)
+- p[j] = GDK_ISO_Left_Tab;
+-
+- if (!found)
+- {
+- guint tmp;
+-
+- tmp = gdk_unicode_to_keyval (uc);
+- if (tmp != (uc | 0x01000000))
+- p[j] = tmp;
+- else
+- p[j] = 0;
+- }
+- }
+- }
+-
+- if (p[3] == p[2])
+- p[3] = 0;
+- if (p[2] == p[1])
+- p[2] = 0;
+- if (p[1] == p[0])
+- p[1] = 0;
+- if (p[0] == p[2] &&
+- p[1] == p[3])
+- p[2] = p[3] = 0;
++ g_error ("cannot get keyboard layout data");
++ return;
+ }
+- }
+- /* unicode keyboard layout */
+- else if (layout_kind == kKLKCHRuchrKind || layout_kind == kKLuchrKind)
+- {
+- const void *chr_data;
+-
+- /* Get chr data */
+- KLGetKeyboardLayoutProperty (new_layout, kKLuchrData, (const void **)&chr_data);
+-
++
+ for (i = 0; i < NUM_KEYCODES; i++)
+ {
+ int j;
+@@ -362,11 +280,6 @@ maybe_update_keymap (void)
+ p[2] = p[3] = 0;
+ }
+ }
+- else
+- {
+- g_error ("unknown type of keyboard layout (neither KCHR nor uchr)"
+- " - not supported right now");
+- }
+
+ for (i = 0; i < G_N_ELEMENTS (known_keys); i++)
+ {
+--- gtk/gtktreeview.c.old 2008-11-24 07:35:35.000000000 +0100
++++ gtk/gtktreeview.c 2009-01-06 15:14:25.171875000 +0100
+@@ -5459,6 +5459,9 @@ gtk_tree_view_enter_notify (GtkWidget
+ if (tree_view->priv->tree == NULL)
+ return FALSE;
+
++ if (event->y == 0)
++ return FALSE;
++
+ /* find the node internally */
+ new_y = TREE_WINDOW_Y_TO_RBTREE_Y(tree_view, event->y);
+ if (new_y < 0)
+--- gtk/gtktreeview.c.orig 2009-01-12 11:49:09.000000000 +0100
++++ gtk/gtktreeview.c 2009-01-12 15:44:05.000000000 +0100
+@@ -5461,6 +5461,12 @@ gtk_tree_view_enter_notify (GtkWidget
+ GtkRBNode *node;
+ gint new_y;
+
++ if (event->mode == GDK_CROSSING_GRAB
++ || event->mode == GDK_CROSSING_NORMAL
++ || event->mode == GDK_CROSSING_GTK_GRAB
++ || event->mode == GDK_CROSSING_GTK_UNGRAB)
++ return TRUE;
++
+ /* Sanity check it */
+ if (event->window != tree_view->priv->bin_window)
+ return FALSE;
+@@ -5487,7 +5493,10 @@ gtk_tree_view_leave_notify (GtkWidget
+ {
+ GtkTreeView *tree_view;
+
+- if (event->mode == GDK_CROSSING_GRAB)
++ if (event->mode == GDK_CROSSING_GRAB
++ || event->mode == GDK_CROSSING_NORMAL
++ || event->mode == GDK_CROSSING_GTK_GRAB
++ || event->mode == GDK_CROSSING_GTK_UNGRAB)
+ return TRUE;
+
+ tree_view = GTK_TREE_VIEW (widget);
+--- gtk/gtktreemodel.c.old 2009-09-19 12:03:49.804000000 +0200
++++ gtk/gtktreemodel.c 2009-09-19 12:41:00.954000000 +0200
+@@ -1512,8 +1512,11 @@ gtk_tree_model_row_has_child_toggled (Gt
+ GtkTreeIter *iter)
+ {
+ g_return_if_fail (GTK_IS_TREE_MODEL (tree_model));
+- g_return_if_fail (path != NULL);
+- g_return_if_fail (iter != NULL);
++
++ if (path == NULL)
++ return;
++ if (iter == NULL)
++ return;
+
+ g_signal_emit (tree_model, tree_model_signals[ROW_HAS_CHILD_TOGGLED], 0, path, iter);
+ }
============================================================
--- README 0ca8c6ead2b666b82a98de15b666f78e2de9ae4a
+++ README 724a5d2bb49ece3ce71969a01f408ff659641fcf
@@ -22,12 +22,12 @@
This home page will always contain the latest news for this toolkit.
-This is GtkAda version 2.14.0. This package is an Ada graphical library
+This is GtkAda version 2.14.2. This package is an Ada graphical library
for the Gimp Toolkit, which means this is a set of packages to allow you
to easily create some graphical interfaces under X11 and Win32, using Ada
as the programming language.
-This library has been tested using Gtk+ 2.14.5 on the following systems:
+This library has been tested using Gtk+ 2.14.7 on the following systems:
- GNU Linux/x86
- GNU Linux/x86-64
============================================================
--- configure 5b211214d466cb0532a023d7a25dee6656e3f17d
+++ configure 2a0c47618af215c6a45a70469554924ae8e86fa0
@@ -1234,7 +1234,7 @@ GTKADA_MINOR_VERSION=14
# Current release settings
GTKADA_MAJOR_VERSION=2
GTKADA_MINOR_VERSION=14
-GTKADA_MICRO_VERSION=1
+GTKADA_MICRO_VERSION=2
GTKADA_VERSION=$GTKADA_MAJOR_VERSION.$GTKADA_MINOR_VERSION.$GTKADA_MICRO_VERSION
ac_aux_dir=
============================================================
--- configure.in b93bf9dff34e4870abd61cc04a0607c2895eb51c
+++ configure.in 13e616415969b698f50b0d0f067b22fe42d890b9
@@ -1,10 +1,10 @@
-AC_REVISION($Revision: 134931 $)
+AC_REVISION($Revision: 149669 $)
AC_INIT(src/glib.ads)
# Current release settings
GTKADA_MAJOR_VERSION=2
GTKADA_MINOR_VERSION=14
-GTKADA_MICRO_VERSION=1
+GTKADA_MICRO_VERSION=2
GTKADA_VERSION=$GTKADA_MAJOR_VERSION.$GTKADA_MINOR_VERSION.$GTKADA_MICRO_VERSION
AC_CANONICAL_SYSTEM
============================================================
--- contrib/gtk+-2.16.5.diff 717df07498689c5bf8d34e07d0cf9672447f60d4
+++ contrib/gtk+-2.16.5.diff 6044693b5079a9f91191db8554e5f4c6caf9839c
@@ -1,3 +1,9 @@
+2009-09-19 Arnaud Charlet <charlet@adacore.com>
+
+ * gtk/gtktreemodel.c (gtk_tree_model_row_has_child_toggled): Replace
+ g_return_if_fail by explicit check, since path may legitimately
+ be NULL (I918-021).2009-09-19 Arnaud Charlet <charlet@adacore.com>
+
2009-01-12 Nicolas Setton <setton@adacore.com>
* gtktreeview.c (gtk_tree_view_enter_notify): Do not react to
@@ -87,3 +93,19 @@ 2003-11-27 Arnaud Charlet <charlet@ada
return TRUE;
tree_view = GTK_TREE_VIEW (widget);
+--- gtk/gtktreemodel.c.old 2009-09-19 12:03:49.804000000 +0200
++++ gtk/gtktreemodel.c 2009-09-19 12:41:00.954000000 +0200
+@@ -1512,8 +1512,11 @@ gtk_tree_model_row_has_child_toggled (Gt
+ GtkTreeIter *iter)
+ {
+ g_return_if_fail (GTK_IS_TREE_MODEL (tree_model));
+- g_return_if_fail (path != NULL);
+- g_return_if_fail (iter != NULL);
++
++ if (path == NULL)
++ return;
++ if (iter == NULL)
++ return;
+
+ g_signal_emit (tree_model, tree_model_signals[ROW_HAS_CHILD_TOGGLED], 0, path, iter);
+ }
============================================================
--- src/gtk-extra-plot.adb 5ce758d93da3632aa19d5baa9befb1b66b671493
+++ src/gtk-extra-plot.adb d217f35999435fe1f99f44a5ada34bfcb1176116
@@ -3,7 +3,7 @@
-- --
-- Copyright (C) 2000-2008, AdaCore --
-- Emmanuel Briot, Joel Brobecker and Arnaud Charlet --
--- Copyright (C) 2001-2008, AdaCore --
+-- Copyright (C) 2001-2009, AdaCore --
-- --
-- This library is free software; you can redistribute it and/or --
-- modify it under the terms of the GNU General Public --
@@ -41,7 +41,7 @@ package body Gtk.Extra.Plot is
-------------
procedure Gtk_New (Plot : out Gtk_Plot;
- Drawable : in Gdk.Drawable.Gdk_Drawable
+ Drawable : Gdk.Drawable.Gdk_Drawable
:= Gdk.Drawable.Null_Drawable)
is
begin
@@ -54,9 +54,9 @@ package body Gtk.Extra.Plot is
----------------
procedure Initialize (Plot : access Gtk_Plot_Record'Class;
- Drawable : in Gdk.Drawable.Gdk_Drawable)
+ Drawable : Gdk.Drawable.Gdk_Drawable)
is
- function Internal (Drawable : in Gdk.Drawable.Gdk_Drawable)
+ function Internal (Drawable : Gdk.Drawable.Gdk_Drawable)
return System.Address;
pragma Import (C, Internal, "gtk_plot_new");
begin
@@ -68,9 +68,9 @@ package body Gtk.Extra.Plot is
-------------
procedure Gtk_New (Plot : out Gtk_Plot;
- Width : in Gdouble;
- Height : in Gdouble;
- Drawable : in Gdk.Drawable.Gdk_Drawable
+ Width : Gdouble;
+ Height : Gdouble;
+ Drawable : Gdk.Drawable.Gdk_Drawable
:= Gdk.Drawable.Null_Drawable)
is
begin
@@ -83,13 +83,13 @@ package body Gtk.Extra.Plot is
----------------
procedure Initialize (Plot : access Gtk_Plot_Record'Class;
- Drawable : in Gdk.Drawable.Gdk_Drawable;
- Width : in Gdouble;
- Height : in Gdouble)
+ Drawable : Gdk.Drawable.Gdk_Drawable;
+ Width : Gdouble;
+ Height : Gdouble)
is
- function Internal (Drawable : in Gdk.Drawable.Gdk_Drawable;
- Width : in Gdouble;
- Height : in Gdouble)
+ function Internal (Drawable : Gdk.Drawable.Gdk_Drawable;
+ Width : Gdouble;
+ Height : Gdouble)
return System.Address;
pragma Import (C, Internal, "gtk_plot_new_with_size");
begin
@@ -101,10 +101,10 @@ package body Gtk.Extra.Plot is
------------------
procedure Set_Drawable (Plot : access Gtk_Plot_Record;
- Drawable : in Gdk.Drawable.Gdk_Drawable)
+ Drawable : Gdk.Drawable.Gdk_Drawable)
is
- procedure Internal (Plot : in System.Address;
- Drawable : in Gdk.Drawable.Gdk_Drawable);
+ procedure Internal (Plot : System.Address;
+ Drawable : Gdk.Drawable.Gdk_Drawable);
pragma Import (C, Internal, "gtk_plot_set_drawable");
begin
Internal (Get_Object (Plot), Drawable);
@@ -117,7 +117,7 @@ package body Gtk.Extra.Plot is
function Get_Drawable (Plot : access Gtk_Plot_Record)
return Gdk.Drawable.Gdk_Drawable
is
- function Internal (Plot : in System.Address)
+ function Internal (Plot : System.Address)
return Gdk.Drawable.Gdk_Drawable;
pragma Import (C, Internal, "gtk_plot_get_drawable");
begin
@@ -132,7 +132,7 @@ package body Gtk.Extra.Plot is
X : out Gdouble;
Y : out Gdouble)
is
- procedure Internal (Plot : in System.Address;
+ procedure Internal (Plot : System.Address;
X : out Gdouble;
Y : out Gdouble);
pragma Import (C, Internal, "gtk_plot_get_position");
@@ -148,7 +148,7 @@ package body Gtk.Extra.Plot is
Width : out Gdouble;
Height : out Gdouble)
is
- procedure Internal (Plot : in System.Address;
+ procedure Internal (Plot : System.Address;
Width : out Gdouble;
Height : out Gdouble);
pragma Import (C, Internal, "gtk_plot_get_size");
@@ -163,7 +163,7 @@ package body Gtk.Extra.Plot is
function Get_Internal_Allocation (Plot : access Gtk_Plot_Record)
return Gtk.Widget.Gtk_Allocation
is
- function Internal (Plot : in System.Address)
+ function Internal (Plot : System.Address)
return Gtk.Widget.Gtk_Allocation;
pragma Import (C, Internal, "gtk_plot_get_internal_allocation");
begin
@@ -175,10 +175,10 @@ package body Gtk.Extra.Plot is
--------------------
procedure Set_Background (Plot : access Gtk_Plot_Record;
- Background : in Gdk.Color.Gdk_Color)
+ Background : Gdk.Color.Gdk_Color)
is
- procedure Internal (Plot : in System.Address;
- Background : in System.Address);
+ procedure Internal (Plot : System.Address;
+ Background : System.Address);
pragma Import (C, Internal, "gtk_plot_set_background");
Back : aliased Gdk.Color.Gdk_Color := Background;
@@ -196,7 +196,7 @@ package body Gtk.Extra.Plot is
-----------
procedure Paint (Plot : access Gtk_Plot_Record) is
- procedure Internal (Widget : in System.Address);
+ procedure Internal (Widget : System.Address);
pragma Import (C, Internal, "gtk_plot_paint");
begin
Internal (Get_Object (Plot));
@@ -208,9 +208,9 @@ package body Gtk.Extra.Plot is
procedure Refresh
(Plot : access Gtk_Plot_Record;
- Area : in Gdk.Rectangle.Gdk_Rectangle)
+ Area : Gdk.Rectangle.Gdk_Rectangle)
is
- procedure Internal (Plot : in System.Address;
+ procedure Internal (Plot : System.Address;
Area : System.Address);
pragma Import (C, Internal, "gtk_plot_refresh");
@@ -228,12 +228,12 @@ package body Gtk.Extra.Plot is
----------
procedure Move (Plot : access Gtk_Plot_Record;
- X : in Gdouble;
- Y : in Gdouble)
+ X : Gdouble;
+ Y : Gdouble)
is
- procedure Internal (Plot : in System.Address;
- X : in Gdouble;
- Y : in Gdouble);
+ procedure Internal (Plot : System.Address;
+ X : Gdouble;
+ Y : Gdouble);
pragma Import (C, Internal, "gtk_plot_move");
begin
Internal (Get_Object (Plot), X, Y);
@@ -244,12 +244,12 @@ package body Gtk.Extra.Plot is
------------
procedure Resize (Plot : access Gtk_Plot_Record;
- Width : in Gdouble;
- Height : in Gdouble)
+ Width : Gdouble;
+ Height : Gdouble)
is
- procedure Internal (Plot : in System.Address;
- Width : in Gdouble;
- Height : in Gdouble);
+ procedure Internal (Plot : System.Address;
+ Width : Gdouble;
+ Height : Gdouble);
pragma Import (C, Internal, "gtk_plot_resize");
begin
Internal (Get_Object (Plot), Width, Height);
@@ -260,16 +260,16 @@ package body Gtk.Extra.Plot is
-----------------
procedure Move_Resize (Plot : access Gtk_Plot_Record;
- X : in Gdouble;
- Y : in Gdouble;
- Width : in Gdouble;
- Height : in Gdouble)
+ X : Gdouble;
+ Y : Gdouble;
+ Width : Gdouble;
+ Height : Gdouble)
is
- procedure Internal (Plot : in System.Address;
- X : in Gdouble;
- Y : in Gdouble;
- Width : in Gdouble;
- Height : in Gdouble);
+ procedure Internal (Plot : System.Address;
+ X : Gdouble;
+ Y : Gdouble;
+ Width : Gdouble;
+ Height : Gdouble);
pragma Import (C, Internal, "gtk_plot_move_resize");
begin
Internal (Get_Object (Plot), X, Y, Width, Height);
@@ -280,14 +280,14 @@ package body Gtk.Extra.Plot is
---------------
procedure Get_Pixel (Plot : access Gtk_Plot_Record;
- Xx : in Gdouble;
- Yy : in Gdouble;
+ Xx : Gdouble;
+ Yy : Gdouble;
X : out Gdouble;
Y : out Gdouble)
is
- procedure Internal (Plot : in System.Address;
- Xx : in Gdouble;
- Yy : in Gdouble;
+ procedure Internal (Plot : System.Address;
+ Xx : Gdouble;
+ Yy : Gdouble;
X : out Gdouble;
Y : out Gdouble);
pragma Import (C, Internal, "gtk_plot_get_pixel");
@@ -300,7 +300,7 @@ package body Gtk.Extra.Plot is
---------------
procedure Clip_Data (Plot : access Gtk_Plot_Record; Clip : Boolean) is
- procedure Internal (Plot : in System.Address; Clip : Gint);
+ procedure Internal (Plot : System.Address; Clip : Gint);
pragma Import (C, Internal, "gtk_plot_clip_data");
begin
Internal (Get_Object (Plot), Boolean'Pos (Clip));
@@ -311,14 +311,14 @@ package body Gtk.Extra.Plot is
---------------
procedure Get_Point (Plot : access Gtk_Plot_Record;
- X : in Gint;
- Y : in Gint;
+ X : Gint;
+ Y : Gint;
Xx : out Gdouble;
Yy : out Gdouble)
is
- procedure Internal (Plot : in System.Address;
- X : in Gint;
- Y : in Gint;
+ procedure Internal (Plot : System.Address;
+ X : Gint;
+ Y : Gint;
Xx : out Gdouble;
Yy : out Gdouble);
pragma Import (C, Internal, "gtk_plot_get_point");
@@ -331,12 +331,12 @@ package body Gtk.Extra.Plot is
----------------
procedure Set_Xrange (Plot : access Gtk_Plot_Record;
- Xmin : in Gdouble := 0.0;
- Xmax : in Gdouble := 1.0)
+ Xmin : Gdouble := 0.0;
+ Xmax : Gdouble := 1.0)
is
- procedure Internal (Plot : in System.Address;
- Xmin : in Gdouble;
- Xmax : in Gdouble);
+ procedure Internal (Plot : System.Address;
+ Xmin : Gdouble;
+ Xmax : Gdouble);
pragma Import (C, Internal, "gtk_plot_set_xrange");
begin
Internal (Get_Object (Plot), Xmin, Xmax);
@@ -347,12 +347,12 @@ package body Gtk.Extra.Plot is
----------------
procedure Set_Yrange (Plot : access Gtk_Plot_Record;
- Ymin : in Gdouble := 0.0;
- Ymax : in Gdouble := 1.0)
+ Ymin : Gdouble := 0.0;
+ Ymax : Gdouble := 1.0)
is
- procedure Internal (Plot : in System.Address;
- Ymin : in Gdouble;
- Ymax : in Gdouble);
+ procedure Internal (Plot : System.Address;
+ Ymin : Gdouble;
+ Ymax : Gdouble);
pragma Import (C, Internal, "gtk_plot_set_yrange");
begin
Internal (Get_Object (Plot), Ymin, Ymax);
@@ -363,16 +363,16 @@ package body Gtk.Extra.Plot is
---------------
procedure Set_Range (Plot : access Gtk_Plot_Record;
- Xmin : in Gdouble := 0.0;
- Xmax : in Gdouble := 1.0;
- Ymin : in Gdouble := 0.0;
- Ymax : in Gdouble := 1.0)
+ Xmin : Gdouble := 0.0;
+ Xmax : Gdouble := 1.0;
+ Ymin : Gdouble := 0.0;
+ Ymax : Gdouble := 1.0)
is
- procedure Internal (Plot : in System.Address;
- Xmin : in Gdouble;
- Xmax : in Gdouble;
- Ymin : in Gdouble;
- Ymax : in Gdouble);
+ procedure Internal (Plot : System.Address;
+ Xmin : Gdouble;
+ Xmax : Gdouble;
+ Ymin : Gdouble;
+ Ymax : Gdouble);
pragma Import (C, Internal, "gtk_plot_set_range");
begin
Internal (Get_Object (Plot), Xmin, Xmax, Ymin, Ymax);
@@ -383,7 +383,7 @@ package body Gtk.Extra.Plot is
---------------
procedure Autoscale (Plot : access Gtk_Plot_Record) is
- procedure Internal (Plot : in System.Address);
+ procedure Internal (Plot : System.Address);
pragma Import (C, Internal, "gtk_plot_autoscale");
begin
Internal (Get_Object (Plot));
@@ -397,7 +397,7 @@ package body Gtk.Extra.Plot is
Xmin : out Gdouble;
Xmax : out Gdouble)
is
- procedure Internal (Plot : in System.Address;
+ procedure Internal (Plot : System.Address;
Xmin : out Gdouble;
Xmax : out Gdouble);
pragma Import (C, Internal, "gtk_plot_get_xrange");
@@ -413,7 +413,7 @@ package body Gtk.Extra.Plot is
Ymin : out Gdouble;
Ymax : out Gdouble)
is
- procedure Internal (Plot : in System.Address;
+ procedure Internal (Plot : System.Address;
Ymin : out Gdouble;
Ymax : out Gdouble);
pragma Import (C, Internal, "gtk_plot_get_yrange");
@@ -426,7 +426,7 @@ package body Gtk.Extra.Plot is
----------------
procedure Set_Xscale (Plot : access Gtk_Plot_Record;
- Scale_Type : in Plot_Scale)
+ Scale_Type : Plot_Scale)
is
procedure Internal
(Plot : System.Address;
@@ -442,7 +442,7 @@ package body Gtk.Extra.Plot is
----------------
procedure Set_Yscale (Plot : access Gtk_Plot_Record;
- Scale_Type : in Plot_Scale)
+ Scale_Type : Plot_Scale)
is
procedure Internal
(Plot : System.Address;
@@ -460,7 +460,7 @@ package body Gtk.Extra.Plot is
function Get_Xscale (Plot : access Gtk_Plot_Record)
return Plot_Scale
is
- function Internal (Plot : in System.Address)
+ function Internal (Plot : System.Address)
return Gint;
pragma Import (C, Internal, "gtk_plot_get_xscale");
begin
@@ -474,7 +474,7 @@ package body Gtk.Extra.Plot is
function Get_Yscale (Plot : access Gtk_Plot_Record)
return Plot_Scale
is
- function Internal (Plot : in System.Address)
+ function Internal (Plot : System.Address)
return Gint;
pragma Import (C, Internal, "gtk_plot_get_yscale");
begin
@@ -487,16 +487,16 @@ package body Gtk.Extra.Plot is
function Put_Text
(Plot : access Gtk_Plot_Record;
- X : in Gdouble;
- Y : in Gdouble;
- Font : in String := "";
- Font_Height : in Gint := 10;
- Angle : in Plot_Angle;
+ X : Gdouble;
+ Y : Gdouble;
+ Font : String := "";
+ Font_Height : Gint := 10;
+ Angle : Plot_Angle;
Foreground : Gdk.Color.Gdk_Color := Gdk.Color.Null_Color;
Background : Gdk.Color.Gdk_Color := Gdk.Color.Null_Color;
- Transparent : in Boolean := False;
+ Transparent : Boolean := False;
Justification : Gtk.Enums.Gtk_Justification := Gtk.Enums.Justify_Center;
- Text : in String := "") return Gtk_Plot_Text
+ Text : String := "") return Gtk_Plot_Text
is
function Internal
(Plot : System.Address;
@@ -571,7 +571,7 @@ package body Gtk.Extra.Plot is
(Axis : access Gtk_Plot_Axis_Record) return Boolean
is
function Internal
- (Axis : System.Address)return Gint;
+ (Axis : System.Address) return Gint;
pragma Import (C, Internal, "gtk_plot_axis_visible");
begin
@@ -662,8 +662,8 @@ package body Gtk.Extra.Plot is
procedure Axis_Set_Attributes
(Axis : access Gtk_Plot_Axis_Record;
- Width : in Gfloat;
- Color : in Gdk.Color.Gdk_Color)
+ Width : Gfloat;
+ Color : Gdk.Color.Gdk_Color)
is
procedure Internal
(Axis : System.Address;
@@ -707,8 +707,8 @@ package body Gtk.Extra.Plot is
procedure Axis_Set_Ticks
(Axis : access Gtk_Plot_Axis_Record;
- Major_Step : in Gdouble;
- Num_Minor : in Gint)
+ Major_Step : Gdouble;
+ Num_Minor : Gint)
is
procedure Internal
(Axis : System.Address;
@@ -726,7 +726,7 @@ package body Gtk.Extra.Plot is
procedure Axis_Set_Major_Ticks
(Axis : access Gtk_Plot_Axis_Record;
- Major_Step : in Gdouble)
+ Major_Step : Gdouble)
is
procedure Internal
(Axis : System.Address;
@@ -743,7 +743,7 @@ package body Gtk.Extra.Plot is
procedure Axis_Set_Minor_Ticks
(Axis : access Gtk_Plot_Axis_Record;
- Num_Minor : in Gint)
+ Num_Minor : Gint)
is
procedure Internal
(Axis : System.Address;
@@ -760,7 +760,7 @@ package body Gtk.Extra.Plot is
procedure Axis_Set_Ticks_Length
(Axis : access Gtk_Plot_Axis_Record;
- Length : in Gint)
+ Length : Gint)
is
procedure Internal
(Axis : System.Address;
@@ -777,7 +777,7 @@ package body Gtk.Extra.Plot is
procedure Axis_Set_Ticks_Width
(Axis : access Gtk_Plot_Axis_Record;
- Width : in Gfloat)
+ Width : Gfloat)
is
procedure Internal
(Axis : System.Address;
@@ -794,8 +794,8 @@ package body Gtk.Extra.Plot is
procedure Axis_Show_Ticks
(Axis : access Gtk_Plot_Axis_Record;
- Major_Mask : in Plot_Ticks_Pos;
- Minor_Mask : in Plot_Ticks_Pos)
+ Major_Mask : Plot_Ticks_Pos;
+ Minor_Mask : Plot_Ticks_Pos)
is
procedure Internal
(Axis : System.Address;
@@ -813,8 +813,8 @@ package body Gtk.Extra.Plot is
procedure Axis_Set_Ticks_Limits
(Axis : access Gtk_Plot_Axis_Record;
- Ticks_Begin : in Gdouble;
- Ticks_End : in Gdouble)
+ Ticks_Begin : Gdouble;
+ Ticks_End : Gdouble)
is
procedure Internal
(Axis : System.Address;
@@ -846,7 +846,7 @@ package body Gtk.Extra.Plot is
procedure Axis_Show_Labels
(Axis : access Gtk_Plot_Axis_Record;
- Labels_Mask : in Plot_Label_Pos)
+ Labels_Mask : Plot_Label_Pos)
is
procedure Internal
(Axis : System.Address;
@@ -863,13 +863,13 @@ package body Gtk.Extra.Plot is
procedure Axis_Title_Set_Attributes
(Axis : access Gtk_Plot_Axis_Record;
- Font : in String;
- Height : in Gint;
- Angle : in Plot_Angle;
- Foreground : in Gdk.Color.Gdk_Color;
- Background : in Gdk.Color.Gdk_Color;
- Transparent : in Boolean;
- Justification : in Gtk.Enums.Gtk_Justification)
+ Font : String;
+ Height : Gint;
+ Angle : Plot_Angle;
+ Foreground : Gdk.Color.Gdk_Color;
+ Background : Gdk.Color.Gdk_Color;
+ Transparent : Boolean;
+ Justification : Gtk.Enums.Gtk_Justification)
is
procedure Internal
(Axis : System.Address;
@@ -950,7 +950,7 @@ package body Gtk.Extra.Plot is
procedure Axis_Use_Custom_Tick_Labels
(Axis : access Gtk_Plot_Axis_Record;
- Custom : in Boolean := True)
+ Custom : Boolean := True)
is
procedure Internal
(Axis : System.Address;
@@ -968,7 +968,7 @@ package body Gtk.Extra.Plot is
function X0_Visible (Plot : access Gtk_Plot_Record)
return Boolean
is
- function Internal (Plot : in System.Address) return Gint;
+ function Internal (Plot : System.Address) return Gint;
pragma Import (C, Internal, "gtk_plot_x0_visible");
begin
return Boolean'Val (Internal (Get_Object (Plot)));
@@ -979,11 +979,11 @@ package body Gtk.Extra.Plot is
--------------------
procedure X0_Set_Visible (Plot : access Gtk_Plot_Record;
- Visible : in Boolean)
+ Visible : Boolean)
is
procedure Internal
- (Plot : in System.Address;
- Visible : in Gint);
+ (Plot : System.Address;
+ Visible : Gint);
pragma Import (C, Internal, "gtk_plot_x0_set_visible");
begin
@@ -997,7 +997,7 @@ package body Gtk.Extra.Plot is
function Y0_Visible (Plot : access Gtk_Plot_Record)
return Boolean
is
- function Internal (Plot : in System.Address) return Gint;
+ function Internal (Plot : System.Address) return Gint;
pragma Import (C, Internal, "gtk_plot_y0_visible");
begin
return Boolean'Val (Internal (Get_Object (Plot)));
@@ -1008,11 +1008,11 @@ package body Gtk.Extra.Plot is
--------------------
procedure Y0_Set_Visible (Plot : access Gtk_Plot_Record;
- Visible : in Boolean)
+ Visible : Boolean)
is
procedure Internal
- (Plot : in System.Address;
- Visible : in Gint);
+ (Plot : System.Address;
+ Visible : Gint);
pragma Import (C, Internal, "gtk_plot_y0_set_visible");
begin
Internal (Get_Object (Plot), Boolean'Pos (Visible));
@@ -1028,7 +1028,7 @@ package body Gtk.Extra.Plot is
Hmajor : out Boolean;
Hminor : out Boolean)
is
- procedure Internal (Plot : in System.Address;
+ procedure Internal (Plot : System.Address;
Vmajor : out Gboolean;
Vminor : out Gboolean;
Hmajor : out Gboolean;
@@ -1049,17 +1049,17 @@ package body Gtk.Extra.Plot is
-----------------------
procedure Grids_Set_Visible (Plot : access Gtk_Plot_Record;
- Vmajor : in Boolean;
- Vminor : in Boolean;
- Hmajor : in Boolean;
- Hminor : in Boolean)
+ Vmajor : Boolean;
+ Vminor : Boolean;
+ Hmajor : Boolean;
+ Hminor : Boolean)
is
procedure Internal
- (Plot : in System.Address;
- Vmajor : in Gint;
- Vminor : in Gint;
- Hmajor : in Gint;
- Hminor : in Gint);
+ (Plot : System.Address;
+ Vmajor : Gint;
+ Vminor : Gint;
+ Hmajor : Gint;
+ Hminor : Gint);
pragma Import (C, Internal, "gtk_plot_grids_set_visible");
begin
Internal (Get_Object (Plot),
@@ -1074,9 +1074,9 @@ package body Gtk.Extra.Plot is
---------------------------
procedure X0line_Set_Attributes (Plot : access Gtk_Plot_Record;
- Style : in Plot_Line_Style;
- Width : in Gfloat;
- Color : in Gdk.Color.Gdk_Color)
+ Style : Plot_Line_Style;
+ Width : Gfloat;
+ Color : Gdk.Color.Gdk_Color)
is
procedure Internal
(Plot : System.Address;
@@ -1101,9 +1101,9 @@ package body Gtk.Extra.Plot is
---------------------------
procedure Y0line_Set_Attributes (Plot : access Gtk_Plot_Record;
- Style : in Plot_Line_Style;
- Width : in Gfloat;
- Color : in Gdk.Color.Gdk_Color)
+ Style : Plot_Line_Style;
+ Width : Gfloat;
+ Color : Gdk.Color.Gdk_Color)
is
procedure Internal
(Plot : System.Address;
@@ -1128,9 +1128,9 @@ package body Gtk.Extra.Plot is
--------------------------------
procedure Major_Hgrid_Set_Attributes (Plot : access Gtk_Plot_Record;
- Style : in Plot_Line_Style;
- Width : in Gfloat;
- Color : in Gdk.Color.Gdk_Color)
+ Style : Plot_Line_Style;
+ Width : Gfloat;
+ Color : Gdk.Color.Gdk_Color)
is
procedure Internal
(Plot : System.Address;
@@ -1155,9 +1155,9 @@ package body Gtk.Extra.Plot is
--------------------------------
procedure Major_Vgrid_Set_Attributes (Plot : access Gtk_Plot_Record;
- Style : in Plot_Line_Style;
- Width : in Gfloat;
- Color : in Gdk.Color.Gdk_Color)
+ Style : Plot_Line_Style;
+ Width : Gfloat;
+ Color : Gdk.Color.Gdk_Color)
is
procedure Internal
(Plot : System.Address;
@@ -1182,9 +1182,9 @@ package body Gtk.Extra.Plot is
--------------------------------
procedure Minor_Hgrid_Set_Attributes (Plot : access Gtk_Plot_Record;
- Style : in Plot_Line_Style;
- Width : in Gfloat;
- Color : in Gdk.Color.Gdk_Color)
+ Style : Plot_Line_Style;
+ Width : Gfloat;
+ Color : Gdk.Color.Gdk_Color)
is
procedure Internal
(Plot : System.Address;
@@ -1209,9 +1209,9 @@ package body Gtk.Extra.Plot is
--------------------------------
procedure Minor_Vgrid_Set_Attributes (Plot : access Gtk_Plot_Record;
- Style : in Plot_Line_Style;
- Width : in Gfloat;
- Color : in Gdk.Color.Gdk_Color)
+ Style : Plot_Line_Style;
+ Width : Gfloat;
+ Color : Gdk.Color.Gdk_Color)
is
procedure Internal
(Plot : System.Address;
@@ -1237,7 +1237,7 @@ package body Gtk.Extra.Plot is
procedure Show_Legends (Plot : access Gtk_Plot_Record)
is
- procedure Internal (Plot : in System.Address);
+ procedure Internal (Plot : System.Address);
pragma Import (C, Internal, "gtk_plot_show_legends");
begin
Internal (Get_Object (Plot));
@@ -1249,7 +1249,7 @@ package body Gtk.Extra.Plot is
procedure Hide_Legends (Plot : access Gtk_Plot_Record)
is
- procedure Internal (Plot : in System.Address);
+ procedure Internal (Plot : System.Address);
pragma Import (C, Internal, "gtk_plot_hide_legends");
begin
Internal (Get_Object (Plot));
@@ -1264,7 +1264,7 @@ package body Gtk.Extra.Plot is
Shadow_Width : Gint)
is
procedure Internal
- (Plot : in System.Address;
+ (Plot : System.Address;
Border : Plot_Border_Style;
Shadow_Width : Gint);
pragma Import (C, Internal, "gtk_plot_set_legends_border");
@@ -1278,12 +1278,12 @@ package body Gtk.Extra.Plot is
------------------
procedure Legends_Move (Plot : access Gtk_Plot_Record;
- X : in Gdouble;
- Y : in Gdouble)
+ X : Gdouble;
+ Y : Gdouble)
is
- procedure Internal (Plot : in System.Address;
- X : in Gdouble;
- Y : in Gdouble);
+ procedure Internal (Plot : System.Address;
+ X : Gdouble;
+ Y : Gdouble);
pragma Import (C, Internal, "gtk_plot_legends_move");
begin
Internal (Get_Object (Plot), X, Y);
@@ -1297,7 +1297,7 @@ package body Gtk.Extra.Plot is
X : out Gdouble;
Y : out Gdouble)
is
- procedure Internal (Plot : in System.Address;
+ procedure Internal (Plot : System.Address;
X : out Gdouble;
Y : out Gdouble);
pragma Import (C, Internal, "gtk_plot_legends_get_position");
@@ -1312,7 +1312,7 @@ package body Gtk.Extra.Plot is
function Legends_Get_Allocation (Plot : access Gtk_Plot_Record)
return Gtk.Widget.Gtk_Allocation
is
- function Internal (Plot : in System.Address)
+ function Internal (Plot : System.Address)
return Gtk.Widget.Gtk_Allocation;
pragma Import (C, Internal, "gtk_plot_legends_get_allocation");
begin
@@ -1324,16 +1324,16 @@ package body Gtk.Extra.Plot is
----------------------------
procedure Legends_Set_Attributes (Plot : access Gtk_Plot_Record;
- Ps_Font : in String;
- Height : in Gint;
- Foreground : in Gdk.Color.Gdk_Color;
- Background : in Gdk.Color.Gdk_Color)
+ Ps_Font : String;
+ Height : Gint;
+ Foreground : Gdk.Color.Gdk_Color;
+ Background : Gdk.Color.Gdk_Color)
is
- procedure Internal (Plot : in System.Address;
- Font : in System.Address;
- Height : in Gint;
- Foreground : in System.Address;
- Background : in System.Address);
+ procedure Internal (Plot : System.Address;
+ Font : System.Address;
+ Height : Gint;
+ Foreground : System.Address;
+ Background : System.Address);
pragma Import (C, Internal, "gtk_plot_legends_set_attributes");
Fore : aliased Gdk.Color.Gdk_Color := Foreground;
@@ -1367,8 +1367,8 @@ package body Gtk.Extra.Plot is
(Plot : access Gtk_Plot_Record;
Data : access Gtk_Plot_Data_Record'Class)
is
- procedure Internal (Plot : in System.Address;
- Data : in System.Address);
+ procedure Internal (Plot : System.Address;
+ Data : System.Address);
pragma Import (C, Internal, "gtk_plot_add_data");
begin
Internal (Get_Object (Plot), Get_Object (Data));
@@ -1379,11 +1379,11 @@ package body Gtk.Extra.Plot is
------------------
function Add_Function (Plot : access Gtk_Plot_Record;
- Func : in Plot_Function)
+ Func : Plot_Function)
return Gtk_Plot_Data
is
- function Internal (Plot : in System.Address;
- Func : in Plot_Function)
+ function Internal (Plot : System.Address;
+ Func : Plot_Function)
return System.Address;
pragma Import (C, Internal, "gtk_plot_add_function");
Stub : Gtk_Plot_Data_Record;
@@ -1401,7 +1401,7 @@ package body Gtk.Extra.Plot is
Data : access Gtk_Plot_Data_Record'Class) return Boolean
is
function Internal
- (Plot : in System.Address; Data : in System.Address) return Gint;
+ (Plot : System.Address; Data : System.Address) return Gint;
pragma Import (C, Internal, "gtk_plot_remove_data");
begin
@@ -1414,10 +1414,10 @@ package body Gtk.Extra.Plot is
function Get_Axis
(Plot : access Gtk_Plot_Record;
- Axis : in Plot_Axis_Pos) return Gtk_Plot_Axis
+ Axis : Plot_Axis_Pos) return Gtk_Plot_Axis
is
function Internal
- (Plot : in System.Address; Axis : Plot_Axis_Pos) return System.Address;
+ (Plot : System.Address; Axis : Plot_Axis_Pos) return System.Address;
pragma Import (C, Internal, "gtk_plot_get_axis");
Stub : Gtk_Plot_Axis_Record;
@@ -1474,7 +1474,7 @@ package body Gtk.Extra.Plot is
-----------------
procedure Remove_Text (Plot : access Gtk_Plot_Record;
- Text : in Gtk_Plot_Text)
+ Text : Gtk_Plot_Text)
is
procedure Internal (Plot : System.Address;
Text : Gtk_Plot_Text);
@@ -1502,16 +1502,16 @@ package body Gtk.Extra.Plot is
-------------------------
procedure Text_Set_Attributes
- (Text : in Gtk_Plot_Text;
- Font : in String;
- Height : in Gint;
- Angle : in Plot_Angle;
- Fg : in Gdk.Color.Gdk_Color;
- Bg : in Gdk.Color.Gdk_Color;
- Transparent : in Boolean := False;
- Justification : in Gtk.Enums.Gtk_Justification :=
+ (Text : Gtk_Plot_Text;
+ Font : String;
+ Height : Gint;
+ Angle : Plot_Angle;
+ Fg : Gdk.Color.Gdk_Color;
+ Bg : Gdk.Color.Gdk_Color;
+ Transparent : Boolean := False;
+ Justification : Gtk.Enums.Gtk_Justification :=
Gtk.Enums.Justify_Center;
- Str : in String := "")
+ Str : String := "")
is
procedure Internal
(Text : Gtk_Plot_Text;
@@ -1548,19 +1548,19 @@ package body Gtk.Extra.Plot is
-- Text_Get_Size --
-------------------
- procedure Text_Get_Size (Text : in Gtk_Plot_Text;
- Angle : in Plot_Angle;
- Font_Name : in String;
- Font_Size : in Gint;
+ procedure Text_Get_Size (Text : Gtk_Plot_Text;
+ Angle : Plot_Angle;
+ Font_Name : String;
+ Font_Size : Gint;
Width : out Gint;
Height : out Gint;
Ascent : out Gint;
Descent : out Gint)
is
- procedure Internal (Text : in Gtk_Plot_Text;
- Angle : in Plot_Angle;
- Font_Name : in String;
- Font_Size : in Gint;
+ procedure Internal (Text : Gtk_Plot_Text;
+ Angle : Plot_Angle;
+ Font_Name : String;
+ Font_Size : Gint;
Width : out Gint;
Height : out Gint;
Ascent : out Gint;
@@ -1575,21 +1575,21 @@ package body Gtk.Extra.Plot is
-- Text_Get_Area --
-------------------
- procedure Text_Get_Area (Text : in Gtk_Plot_Text;
- Angle : in Plot_Angle;
- Just : in Gtk_Justification;
- Font_Name : in String;
- Font_Size : in Gint;
+ procedure Text_Get_Area (Text : Gtk_Plot_Text;
+ Angle : Plot_Angle;
+ Just : Gtk_Justification;
+ Font_Name : String;
+ Font_Size : Gint;
X : out Gint;
Y : out Gint;
Width : out Gint;
Height : out Gint)
is
- procedure Internal (Text : in Gtk_Plot_Text;
- Angle : in Plot_Angle;
- Just : in Gtk_Justification;
- Font_Name : in String;
- Font_Size : in Gint;
+ procedure Internal (Text : Gtk_Plot_Text;
+ Angle : Plot_Angle;
+ Just : Gtk_Justification;
+ Font_Name : String;
+ Font_Size : Gint;
X : out Gint;
Y : out Gint;
Width : out Gint;
============================================================
--- src/gtk-text_buffer.adb 8baae7d93901f253f2df70ead9ecc7689e21fc52
+++ src/gtk-text_buffer.adb 1cb71213aa06933f752cc9deba3117dc6e600885
@@ -151,6 +151,26 @@ package body Gtk.Text_Buffer is
Internal (Get_Object (Buffer), Iter, Text, Text'Length);
end Insert;
+ ------------
+ -- Insert --
+ ------------
+
+ procedure Insert
+ (Buffer : access Gtk_Text_Buffer_Record;
+ Iter : in out Gtk.Text_Iter.Gtk_Text_Iter;
+ Text : Gtkada.Types.Chars_Ptr)
+ is
+ procedure Internal
+ (Buffer : System.Address;
+ Iter : Gtk.Text_Iter.Gtk_Text_Iter;
+ Text : Gtkada.Types.Chars_Ptr;
+ Len : Gint := -1);
+ pragma Import (C, Internal, "gtk_text_buffer_insert");
+
+ begin
+ Internal (Get_Object (Buffer), Iter, Text);
+ end Insert;
+
----------------------
-- Insert_With_Tags --
----------------------
@@ -174,6 +194,28 @@ package body Gtk.Text_Buffer is
(Get_Object (Buffer), Iter, Text, Text'Length, Get_Object (Tag));
end Insert_With_Tags;
+ ----------------------
+ -- Insert_With_Tags --
+ ----------------------
+
+ procedure Insert_With_Tags
+ (Buffer : access Gtk_Text_Buffer_Record;
+ Iter : in out Gtk.Text_Iter.Gtk_Text_Iter;
+ Text : Gtkada.Types.Chars_Ptr;
+ Tag : Gtk.Text_Tag.Gtk_Text_Tag)
+ is
+ procedure Internal
+ (Buffer : System.Address;
+ Iter : Gtk.Text_Iter.Gtk_Text_Iter;
+ Text : Gtkada.Types.Chars_Ptr;
+ Len : Gint := -1;
+ Tag : System.Address);
+ pragma Import (C, Internal, "ada_gtk_text_buffer_insert_with_tags");
+
+ begin
+ Internal (Get_Object (Buffer), Iter, Text, Tag => Get_Object (Tag));
+ end Insert_With_Tags;
+
------------------------------
-- Insert_With_Tags_By_Name --
------------------------------
============================================================
--- src/gtk-text_buffer.ads 6b2f0547f7464d7a6ecc37d5622a9dd58620d762
+++ src/gtk-text_buffer.ads c70db353dc955f4df5aa88821f826978edc560e2
@@ -1,7 +1,7 @@
-----------------------------------------------------------------------
-- GtkAda - Ada95 binding for Gtk+/Gnome --
-- --
--- Copyright (C) 2001-2007 AdaCore --
+-- Copyright (C) 2001-2009, AdaCore --
-- --
-- This library is free software; you can redistribute it and/or --
-- modify it under the terms of the GNU General Public --
@@ -98,6 +98,10 @@ package Gtk.Text_Buffer is
(Buffer : access Gtk_Text_Buffer_Record;
Iter : in out Gtk.Text_Iter.Gtk_Text_Iter;
Text : UTF8_String);
+ procedure Insert
+ (Buffer : access Gtk_Text_Buffer_Record;
+ Iter : in out Gtk.Text_Iter.Gtk_Text_Iter;
+ Text : Gtkada.Types.Chars_Ptr);
-- Insert Text at position Iter.
-- Emit the "insert_text" signal; insertion actually occurs
-- in the default handler for the signal. Iter is invalidated when
@@ -111,6 +115,11 @@ package Gtk.Text_Buffer is
Iter : in out Gtk.Text_Iter.Gtk_Text_Iter;
Text : UTF8_String;
Tag : Gtk.Text_Tag.Gtk_Text_Tag);
+ procedure Insert_With_Tags
+ (Buffer : access Gtk_Text_Buffer_Record;
+ Iter : in out Gtk.Text_Iter.Gtk_Text_Iter;
+ Text : Gtkada.Types.Chars_Ptr;
+ Tag : Gtk.Text_Tag.Gtk_Text_Tag);
-- Same as Insert, but specifies the tag to apply to the range.
procedure Insert_With_Tags_By_Name
============================================================
--- src/gtkada-abstract_tree_model.ads fad8fa7caa7ff088d870740c5b1faa79f34cb525
+++ src/gtkada-abstract_tree_model.ads 8e8f3e0f5be9076e8016222cdfb8589f90e8e1f0
@@ -1,7 +1,7 @@
-----------------------------------------------------------------------
-- GtkAda - Ada95 binding for the Gimp Toolkit --
-- --
--- Copyright (C) 2008, AdaCore --
+-- Copyright (C) 2008-2009, AdaCore --
-- --
-- This library is free software; you can redistribute it and/or --
-- modify it under the terms of the GNU General Public --
@@ -126,6 +126,13 @@ package Gtkada.Abstract_Tree_Model is
-- based model would not want to keep the entire file-hierarchy in memory,
-- just the sections that are currently being displayed by every current
-- view.
+ -- Technically, the idea is to increase the refcount for the node itself,
+ -- not for any data associated with it (should you want to associate a
+ -- reference counted type with the rows). Most of the time you will not
+ -- need to do anything here.
+ -- Every time the view makes a row visible (for instance when you expand
+ -- a node), it calls Ref_Node for that row. When the row is hidden again,
+ -- it calls Unref_Node.
procedure Unref_Node
(Self : access Gtk_Abstract_Tree_Model_Record;
@@ -136,6 +143,10 @@ package Gtkada.Abstract_Tree_Model is
-- reasons. For more information on what this means, please see
-- Tree_Model_Ref_Node. Please note that nodes that are deleted are not
-- unreferenced.
+ -- Technically, your model is the one deleting a row (and it should do so
+ -- only if the refcount for the row is not 1, see Ref_Node). Thus gtk+
+ -- avoids a potential callback to your application by not emitting
+ -- Unref_Node in such a case.
private
============================================================
--- src/gtkada-mdi.adb 2ef07b84f3c134facb0923e416d1daf89fd3ab1d
+++ src/gtkada-mdi.adb 861ae4469ffa0dc44ad98784f675fde349de9307
@@ -4490,6 +4490,15 @@ package body Gtkada.MDI is
if Raised_Child /= null then
Prepend (To_Raise, Gtk_Widget (Raised_Child));
+
+ -- Make sure the child appears first in the list for this
+ -- notebook. That way, if the current focus child is closed by the
+ -- user, we know the focus won't fallback to a child currently not
+ -- visible in the notebook, which would result in a raise.
+ Ref (Raised_Child);
+ Remove (MDI.Items, Gtk_Widget (Raised_Child));
+ Prepend (MDI.Items, Gtk_Widget (Raised_Child));
+ Unref (Raised_Child);
end if;
end Parse_Notebook_Node;
============================================================
--- src/misc.c 72a474be0ac8ea13cdab1d248d96cd783cdd084f
+++ src/misc.c 78525f7572974968cbbfbab1faead285fe4f6ce9
@@ -591,8 +591,7 @@ ada_initialize_class_record
/* Need to create a new type, otherwise Gtk+ won't free objects of
this type */
- new_type = g_type_register_static
- (ancestor, g_strdup (type_name), class_info, 0);
+ new_type = g_type_register_static (ancestor, type_name, class_info, 0);
klass = g_type_class_ref (new_type);
g_assert (klass != NULL);