Compare commits
36 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 668c7604a9 | |||
| e8cf1d552b | |||
| 5266d6322a | |||
| 52d2e1b6a1 | |||
| 4aa965149c | |||
| ab40e71ec9 | |||
| d8e88af7d0 | |||
| 1a7acfef50 | |||
| f8116014c1 | |||
| eedaab9236 | |||
| 2117f4ac7e | |||
| 6349f7cb2c | |||
| 8435d34838 | |||
| 0f0ede22ad | |||
| 43ef2e2394 | |||
| b94559a288 | |||
| a3cfbc84cf | |||
| 4143e106cc | |||
| d0a29b40d6 | |||
| 1b7fc490af | |||
| 8c66060a8e | |||
| e94d12f926 | |||
| cde57dc1d2 | |||
| 42a7da51fc | |||
| 2bec3fad18 | |||
| 2f6ee99191 | |||
| 9a1db40746 | |||
| 37bedcc07a | |||
| 302aaa2802 | |||
| 9829d1ee03 | |||
| aa6097e255 | |||
| 1d8aed6816 | |||
| 49680fed32 | |||
| 4a7d355898 | |||
| 0982f71b98 | |||
| 7363897409 |
@@ -10,9 +10,9 @@ The GTK+ Team (in alphabetical order)
|
||||
Shawn T. Amundson <amundson@gtk.org>
|
||||
Jerome Bolliet <bolliet@in2p3.fr>
|
||||
Tony Gale <gale@gtk.org>
|
||||
Lars Hamann <hamann@braunschweig.netsurf.de>
|
||||
Lars Hamann <lars@gtk.org>
|
||||
Tim Janik <timj@gtk.org>
|
||||
Stefan Jeske <jeske@braunschweig.netsurf.de>
|
||||
Stefan Jeske <stefan@gtk.org>
|
||||
Elliot Lee <sopwith@gtk.org>
|
||||
Ian Main <imain@gtk.org>
|
||||
Fedrerico Mena <quartic@gtk.org>
|
||||
|
||||
@@ -1,3 +1,340 @@
|
||||
Mon May 4 21:07:36 PDT 1998 Shawn T. Amundson <amundson@gtk.org>
|
||||
|
||||
* Released GTK 1.0.1
|
||||
|
||||
Mon May 4 00:32:20 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtk.defs (GtkContainer): GtkTooltips is an
|
||||
object, not a Boxed, now.
|
||||
|
||||
Sun May 3 20:43:27 PDT 1998 Shawn T. Amundson <amundson@gtk.org>
|
||||
|
||||
* Version number changed to 1.0.1, along with a more automatic
|
||||
changing of version numbers in the Makefile.am files
|
||||
|
||||
Fri May 1 22:32:47 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtkbutton.c (gtk_button_paint): Draw the areas
|
||||
between the default and the button always in GTK_STATE_NORMAL.
|
||||
|
||||
Sun May 3 16:55:43 1998 Tim Janik <timj@gtk.org>
|
||||
|
||||
* gtk/gtkcontainer.c (gtk_container_set_focus_child): new function to
|
||||
set the current focus_child of a container, does proper referencing and
|
||||
adjusts the vadjustment/hadjustment associated with the focus widget.
|
||||
|
||||
* gtk/gtkwidget.c (gtk_widget_grab_focus): set the focused child on
|
||||
containers via gtk_container_set_focus_child.
|
||||
|
||||
* gtk/gtknotebook.c: modifications to use gtk_container_set_focus_child
|
||||
where appropriate.
|
||||
|
||||
* gtk/gtkcontainer.c (gtk_container_remove): removed unsetting of focus
|
||||
child since not every child removal goes through this function (this
|
||||
showed up after gtk_container_set_focus_child() started to reference the
|
||||
focus_child of a container).
|
||||
|
||||
* gtk/gtkwidget.c (gtk_widget_unparent): moved unsetting the focus_child
|
||||
of a container from gtk_container_remove into this place.
|
||||
|
||||
Sun May 3 19:04:46 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtklabel.c (gtk_label_state_changed): Don't
|
||||
force a clear until the widget is actually on
|
||||
screen.
|
||||
|
||||
Sun May 3 17:20:50 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* configure.in acheader.h gdk/gdkwindow.c
|
||||
Check for Shape extension both on the client and server
|
||||
side. (And, more importantly, check for the shape extension
|
||||
so we may include -lXext even when compiling with --disable-xshm)
|
||||
|
||||
* gdk/gdkwindow.c: Set ->colormap to NULL for root
|
||||
and foreign windows. Use this to check if we
|
||||
need to get the colormap from X.
|
||||
|
||||
Sun May 3 14:55:34 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* docs/gtkfaq.sgml (CPPFLAGS): Added a FAQ entry about
|
||||
"glibconfig.h" and another about writing another IRC
|
||||
client.
|
||||
|
||||
Fri May 1 16:40:57 1998 Owen Taylor <otaylor@gtk.org>
|
||||
[ security-audit changes from Alan Cox ]
|
||||
|
||||
* gdk/gdkpixmap.c (gdk_pixmap_colormap_create_from_xpmp[_d]):
|
||||
Fix a buffer overflow on pixmaps that claim to have
|
||||
more than 31 characters per pixel.
|
||||
|
||||
(gdk_pixmap_read_string): Don't wrap around strings longer
|
||||
than half of address space ;-)
|
||||
|
||||
* gtk/gtk[vh]ruler.c gtk/gtkinputdialog.c: Expand some buffers
|
||||
that were used for printing integers.
|
||||
|
||||
* gdk/gxid.c (handle_claim_device): Some extra checks.
|
||||
It isn't safe against being fed bad X id's, but at
|
||||
least it should be safe against deleting all your
|
||||
files.
|
||||
|
||||
Sat May 2 23:14:34 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtkcurve.c (gtk_curve_graph_events): Ignore
|
||||
Configure events that would result in a negative
|
||||
size.
|
||||
|
||||
Sat May 2 00:14:05 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtkpreview.c (gtk_trim_cmap): Make sure the
|
||||
parameters to log are doubles. Digital Unix apparently
|
||||
is missing the argument in its prototype.
|
||||
|
||||
Fri May 1 22:45:55 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_allocate):
|
||||
Always show the scrollbars when the policy is
|
||||
GTK_POLICY_ALWAYS...
|
||||
|
||||
Fri May 1 10:05:44 1998 Tim Janik <timj@gtk.org>
|
||||
|
||||
* gtk/gtklist.c (gtk_list_add): let gtk_list_append_items do the work
|
||||
for us.
|
||||
(gtk_list_clear_items): use gtk_list_unselect_child() for unselection of
|
||||
children.
|
||||
(gtk_list_shutdown): remove all children from the list.
|
||||
(gtk_real_list_unselect_child):
|
||||
(gtk_real_list_select_child): *always* put our internal structures into
|
||||
sane state *before* signal emisions (i.e. list->selection updates prior
|
||||
to gtk_list_item_[de]select() calls).
|
||||
|
||||
Thu Apr 30 23:32:51 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_allocate):
|
||||
Check to catch the case when the viewport fits in either
|
||||
direction or both, instead of flip-flopping infinitely.
|
||||
|
||||
Only show/hide the scrollbars once at the end.
|
||||
|
||||
Thu Apr 30 21:56:07 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtkscrolledwindow.c (gtk_scrolled_window_foreach):
|
||||
Include the scrollbars in the foreach call.
|
||||
(gtk-fortier-980405-0.patch;
|
||||
Patrice Fortier <Patrice.Fortier@aquarel.fr>).
|
||||
|
||||
The notebook widget
|
||||
really should also include its tabs, but that might cause
|
||||
problems for programs if they
|
||||
|
||||
Thu Apr 30 21:51:52 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtkpixmap.c (gtk_pixmap_set): Only request a
|
||||
resize if the size actually changed.
|
||||
(gtk-johannes-980414-0.patch ;
|
||||
johannes@nada.kth.se (Johannes Keukelaar) )
|
||||
|
||||
Thu Apr 30 10:22:59 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* glib/ltmain.sh glib/ltconfig glib/config.sub glib/config.guess:
|
||||
ltmain.sh ltconfig config.sub config.guess:
|
||||
|
||||
Reverted back to libtool-1.2 (plus minor patches) so as not to
|
||||
force the issue for everyone else.
|
||||
|
||||
Thu Apr 30 10:22:59 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* glib/ltmain.sh glib/ltconfig glib/config.sub glib/config.guess:
|
||||
Updated to libtool 1.2a.
|
||||
|
||||
* gtk/gtkclist.c: Draw the in-between lines with style->base
|
||||
instead of style->white.
|
||||
|
||||
Wed Apr 29 15:46:13 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gdk/gdkprivate.h gdk/gdkwindow.c gdk/gdkpixmap.c:
|
||||
Cache the colormap and children of a window locally
|
||||
instead of fetching them from the server when needed.
|
||||
Huge performance difference for creating/destroying
|
||||
windows.
|
||||
|
||||
* gtk/gtkstyle.c: Find the depth from the cached
|
||||
visual, instead of asking the server.
|
||||
|
||||
* gtk.m4: Distribute the new version which tries to
|
||||
figure out what went wrong and give helpful error
|
||||
messages.
|
||||
|
||||
* ltmain.sh ltconfig config.sub config.sh:
|
||||
Updated to libtool 1.2a
|
||||
|
||||
* gtk/gtktext.c: Fixed a bug where the drawn level
|
||||
was being messed up when the text was scrolled
|
||||
during a deletion.
|
||||
|
||||
Thu Apr 30 02:42:11 PDT 1998 Manish Singh <yosh@gimp.org>
|
||||
|
||||
* gtk/gtkfilesel.c: don't die when naughty people remove parts of
|
||||
the filesystem under you (fix from Josh)
|
||||
|
||||
Thu Apr 30 09:49:14 1998 Tim Janik <timj@gtk.org>
|
||||
|
||||
* gtk/gtkscrolledwindow.c (gtk_scrolled_window_foreach): check
|
||||
if the viewport already exists before iterating over it, maybe we
|
||||
haven't been constructed yet.
|
||||
|
||||
Thu Apr 30 01:51:00 1998 Tim Janik <timj@gtk.org>
|
||||
|
||||
* gtk/gtkbin.c (gtk_bin_add): made this function issue a warning if
|
||||
the GtkBin widget already has a child.
|
||||
|
||||
* gtk/gtkbox.c (gtk_box_pack_{start|end}):
|
||||
check that child->parent == NULL;
|
||||
|
||||
Tue Apr 28 22:13:54 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtkselection.c (gtk_selection_clear): Only return
|
||||
FALSE when the clear event is been rejected, not when
|
||||
widget has already lost the selection. (Which should
|
||||
only happen when we are setting the selection to another
|
||||
widget ourself.)
|
||||
|
||||
Fri Apr 24 19:07:32 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtkfixed.c gtk/gtkpaned.c gtk/gtktable.c:
|
||||
|
||||
Removed the "check visibility after gtk_widget_unparent" bug
|
||||
in hopefully the last three places.
|
||||
|
||||
Tue Apr 28 15:46:41 1998 Tim Janik <timj@gtk.org>
|
||||
|
||||
* gtk/gtkrc.c (gtk_rc_parse_statement): allow the inclusion of other
|
||||
rc-files.
|
||||
|
||||
Mon Apr 27 15:11:52 1998 Tim Janik <timj@gtk.org>
|
||||
|
||||
* gtk/gtkwidget.c (gtk_widget_grab_focus): only allow grabbing of focus
|
||||
for CAN_FOCUS widgets.
|
||||
|
||||
* gtk/testgtk.c (create_scrolled_windows): feature h/v focus
|
||||
adjustments for the table.
|
||||
(create_list): feature automatic adjustment of the scrolled window to
|
||||
always contain the focused child.
|
||||
(create_main_window): keep the focussed button always inside of the
|
||||
scrolled windoww.
|
||||
|
||||
* gtk/gtkcontainer.c (gtk_real_container_focus): set the h/v focus
|
||||
adjustments, to contain the allocation of the currently focused child.
|
||||
(gtk_container_set_focus_hadjustment): new functin to set the
|
||||
horizontal focus adjustment.
|
||||
(gtk_container_set_focus_vadjustment): new functin to set the vertical
|
||||
focus adjustment.
|
||||
|
||||
* gtk/gtkadjustment.c (gtk_adjustment_clamp_page): new fucntion to
|
||||
clamp the currents adjustment page into a specific range.
|
||||
|
||||
* random GtkType fixups for gtk_*_get_type() functions.
|
||||
|
||||
Fri Apr 24 18:37:16 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtktreeitem.c (gtk_tree_item_remove_subtree):
|
||||
Account for the fact that gtk_tree_item_remove_subtree
|
||||
will be called recursively.
|
||||
|
||||
Handle removing a collapsed subtree.
|
||||
|
||||
(From Andy Dustman <adustman@comstar.net>)
|
||||
|
||||
* gtk/gtktree.c (gtk_tree_remove_items): Look for the
|
||||
root tree when removing items from a non-previously
|
||||
mapped tree.
|
||||
|
||||
* gtk/testgtk.c: Added a remove_subtree button.
|
||||
|
||||
Thu Apr 23 23:44:17 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtkobject.c (gtk_object_finalize): Notify all weak references
|
||||
before object removing data. This change fixes a bug where
|
||||
removing the last weak references would cause it to be
|
||||
triggered.
|
||||
|
||||
Fri Apr 24 01:29:04 1998 Tim Janik <timj@gtk.org>
|
||||
|
||||
* gtk/gtkaccelerator.h (struct _GtkAcceleratorTable): changed ref_count
|
||||
field to be of type guint.
|
||||
* gtk/gtkaccelerator.c (gtk_accelerator_table_unref): added check for
|
||||
ref_count>0;
|
||||
(gtk_accelerator_table_install): keep a per object list of accelerator
|
||||
tables that refer to this object.
|
||||
(gtk_accelerator_table_remove): remove the accelerator table from the
|
||||
per object list.
|
||||
(gtk_accelerator_table_clean): warn if there are any object references
|
||||
left in an accelerator table upon destruction.
|
||||
(gtk_accelerator_tables_delete): new function to delete object
|
||||
references from the accelerator tables associated with this object.
|
||||
|
||||
* gtk/gtkwidget.c (gtk_widget_class_init): changed emission of
|
||||
GtkWidget::install_accelerator to GTK_RUN_LAST so the installation
|
||||
of an accelerator can be prevented by gtk_signal_emit_stop().
|
||||
(gtk_widget_real_destroy): call gtk_accelerator_tables_delete (),
|
||||
so there are no stale pointers in accelerator tables left.
|
||||
|
||||
1998-04-22 Federico Mena Quintero <federico@nuclecu.unam.mx>
|
||||
|
||||
* gtk/gtkbin.c (gtk_bin_remove): Remember whether the widget was
|
||||
visible before we unparent it.
|
||||
|
||||
Wed Apr 22 04:15:26 1998 Tim Janik <timj@gtk.org>
|
||||
|
||||
* gtk/gtkmain.c (gtk_handle_current_timeouts): prepend the
|
||||
running_timeouts list with the tmp_list link itself, not with a new
|
||||
GList structure pointing to our link. that would fill up memory and
|
||||
causes the GList.data fields of the running_timeouts list to point to
|
||||
GList structures and not GtkTimeoutFunction structures which is a
|
||||
*really* bad thing.
|
||||
(gtk_handle_current_idles): likewise (exchange "timout" with "idle" in
|
||||
the above entry ;).
|
||||
|
||||
Sat Apr 18 22:18:12 1998 Tim Janik <timj@gtk.org>
|
||||
|
||||
* gtk/gtkradiomenuitem.h:
|
||||
* gtk/gtkradiomenuitem.c (gtk_radio_menu_item_set_group): new function
|
||||
ala gtk_radio_button_set_group.
|
||||
(gtk_radio_menu_item_init): assure that we always have at least a group
|
||||
that points to self.
|
||||
|
||||
* gtk/gtkradiobutton.c (gtk_radio_button_set_group): few cleanups and
|
||||
added g_return_if_fail() statements.
|
||||
(gtk_radio_button_init): assure that we always have at least a group
|
||||
that points to self.
|
||||
|
||||
Wed Apr 15 05:13:09 1998 Tim Janik <timj@gtk.org>
|
||||
|
||||
* gtk/gtklabel.c (gtk_label_size_request): corrected a brace position
|
||||
(Damon Chaplin), which i got wrong when applying Damon's patch the last
|
||||
time.
|
||||
|
||||
Wed Apr 15 20:42:46 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtkpreview.c (gtk_preview_get_visuals): Make sure
|
||||
that when we are running with a non-installed colormap,
|
||||
in 8-bit pseudo-color, we actually are using the system
|
||||
visual. (Fixes *Bad Match* errors on Digital Unix machines
|
||||
with multiple 8-bit pseudo-color visuals)
|
||||
|
||||
* gdk/Makefile.am: Removed mostly useless dependency that
|
||||
was causing problems for SGI's make, when used with
|
||||
the 'make dist' form of GTK+. (Dependency caused dependencies
|
||||
to be redone when BUILT_SOURCES changed)
|
||||
|
||||
1998-04-14 Miguel de Icaza <miguel@nuclecu.unam.mx>
|
||||
|
||||
* gdk/gdkwindow.c (gdk_window_xid_at): Fix the problem introduced
|
||||
by whoever thought that randomly changing ints to unsigned int
|
||||
without reviewing the code was a good idea. It is, btw not
|
||||
mentioned in the ChangeLog as usual, but I know it was not Elliot
|
||||
the culprit this time.
|
||||
|
||||
Mon Apr 13 19:16:22 PDT 1998 Shawn T. Amundson <amundson@gtk.org>
|
||||
|
||||
* Released GTK+ 1.0.0
|
||||
|
||||
@@ -1,3 +1,340 @@
|
||||
Mon May 4 21:07:36 PDT 1998 Shawn T. Amundson <amundson@gtk.org>
|
||||
|
||||
* Released GTK 1.0.1
|
||||
|
||||
Mon May 4 00:32:20 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtk.defs (GtkContainer): GtkTooltips is an
|
||||
object, not a Boxed, now.
|
||||
|
||||
Sun May 3 20:43:27 PDT 1998 Shawn T. Amundson <amundson@gtk.org>
|
||||
|
||||
* Version number changed to 1.0.1, along with a more automatic
|
||||
changing of version numbers in the Makefile.am files
|
||||
|
||||
Fri May 1 22:32:47 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtkbutton.c (gtk_button_paint): Draw the areas
|
||||
between the default and the button always in GTK_STATE_NORMAL.
|
||||
|
||||
Sun May 3 16:55:43 1998 Tim Janik <timj@gtk.org>
|
||||
|
||||
* gtk/gtkcontainer.c (gtk_container_set_focus_child): new function to
|
||||
set the current focus_child of a container, does proper referencing and
|
||||
adjusts the vadjustment/hadjustment associated with the focus widget.
|
||||
|
||||
* gtk/gtkwidget.c (gtk_widget_grab_focus): set the focused child on
|
||||
containers via gtk_container_set_focus_child.
|
||||
|
||||
* gtk/gtknotebook.c: modifications to use gtk_container_set_focus_child
|
||||
where appropriate.
|
||||
|
||||
* gtk/gtkcontainer.c (gtk_container_remove): removed unsetting of focus
|
||||
child since not every child removal goes through this function (this
|
||||
showed up after gtk_container_set_focus_child() started to reference the
|
||||
focus_child of a container).
|
||||
|
||||
* gtk/gtkwidget.c (gtk_widget_unparent): moved unsetting the focus_child
|
||||
of a container from gtk_container_remove into this place.
|
||||
|
||||
Sun May 3 19:04:46 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtklabel.c (gtk_label_state_changed): Don't
|
||||
force a clear until the widget is actually on
|
||||
screen.
|
||||
|
||||
Sun May 3 17:20:50 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* configure.in acheader.h gdk/gdkwindow.c
|
||||
Check for Shape extension both on the client and server
|
||||
side. (And, more importantly, check for the shape extension
|
||||
so we may include -lXext even when compiling with --disable-xshm)
|
||||
|
||||
* gdk/gdkwindow.c: Set ->colormap to NULL for root
|
||||
and foreign windows. Use this to check if we
|
||||
need to get the colormap from X.
|
||||
|
||||
Sun May 3 14:55:34 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* docs/gtkfaq.sgml (CPPFLAGS): Added a FAQ entry about
|
||||
"glibconfig.h" and another about writing another IRC
|
||||
client.
|
||||
|
||||
Fri May 1 16:40:57 1998 Owen Taylor <otaylor@gtk.org>
|
||||
[ security-audit changes from Alan Cox ]
|
||||
|
||||
* gdk/gdkpixmap.c (gdk_pixmap_colormap_create_from_xpmp[_d]):
|
||||
Fix a buffer overflow on pixmaps that claim to have
|
||||
more than 31 characters per pixel.
|
||||
|
||||
(gdk_pixmap_read_string): Don't wrap around strings longer
|
||||
than half of address space ;-)
|
||||
|
||||
* gtk/gtk[vh]ruler.c gtk/gtkinputdialog.c: Expand some buffers
|
||||
that were used for printing integers.
|
||||
|
||||
* gdk/gxid.c (handle_claim_device): Some extra checks.
|
||||
It isn't safe against being fed bad X id's, but at
|
||||
least it should be safe against deleting all your
|
||||
files.
|
||||
|
||||
Sat May 2 23:14:34 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtkcurve.c (gtk_curve_graph_events): Ignore
|
||||
Configure events that would result in a negative
|
||||
size.
|
||||
|
||||
Sat May 2 00:14:05 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtkpreview.c (gtk_trim_cmap): Make sure the
|
||||
parameters to log are doubles. Digital Unix apparently
|
||||
is missing the argument in its prototype.
|
||||
|
||||
Fri May 1 22:45:55 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_allocate):
|
||||
Always show the scrollbars when the policy is
|
||||
GTK_POLICY_ALWAYS...
|
||||
|
||||
Fri May 1 10:05:44 1998 Tim Janik <timj@gtk.org>
|
||||
|
||||
* gtk/gtklist.c (gtk_list_add): let gtk_list_append_items do the work
|
||||
for us.
|
||||
(gtk_list_clear_items): use gtk_list_unselect_child() for unselection of
|
||||
children.
|
||||
(gtk_list_shutdown): remove all children from the list.
|
||||
(gtk_real_list_unselect_child):
|
||||
(gtk_real_list_select_child): *always* put our internal structures into
|
||||
sane state *before* signal emisions (i.e. list->selection updates prior
|
||||
to gtk_list_item_[de]select() calls).
|
||||
|
||||
Thu Apr 30 23:32:51 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_allocate):
|
||||
Check to catch the case when the viewport fits in either
|
||||
direction or both, instead of flip-flopping infinitely.
|
||||
|
||||
Only show/hide the scrollbars once at the end.
|
||||
|
||||
Thu Apr 30 21:56:07 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtkscrolledwindow.c (gtk_scrolled_window_foreach):
|
||||
Include the scrollbars in the foreach call.
|
||||
(gtk-fortier-980405-0.patch;
|
||||
Patrice Fortier <Patrice.Fortier@aquarel.fr>).
|
||||
|
||||
The notebook widget
|
||||
really should also include its tabs, but that might cause
|
||||
problems for programs if they
|
||||
|
||||
Thu Apr 30 21:51:52 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtkpixmap.c (gtk_pixmap_set): Only request a
|
||||
resize if the size actually changed.
|
||||
(gtk-johannes-980414-0.patch ;
|
||||
johannes@nada.kth.se (Johannes Keukelaar) )
|
||||
|
||||
Thu Apr 30 10:22:59 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* glib/ltmain.sh glib/ltconfig glib/config.sub glib/config.guess:
|
||||
ltmain.sh ltconfig config.sub config.guess:
|
||||
|
||||
Reverted back to libtool-1.2 (plus minor patches) so as not to
|
||||
force the issue for everyone else.
|
||||
|
||||
Thu Apr 30 10:22:59 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* glib/ltmain.sh glib/ltconfig glib/config.sub glib/config.guess:
|
||||
Updated to libtool 1.2a.
|
||||
|
||||
* gtk/gtkclist.c: Draw the in-between lines with style->base
|
||||
instead of style->white.
|
||||
|
||||
Wed Apr 29 15:46:13 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gdk/gdkprivate.h gdk/gdkwindow.c gdk/gdkpixmap.c:
|
||||
Cache the colormap and children of a window locally
|
||||
instead of fetching them from the server when needed.
|
||||
Huge performance difference for creating/destroying
|
||||
windows.
|
||||
|
||||
* gtk/gtkstyle.c: Find the depth from the cached
|
||||
visual, instead of asking the server.
|
||||
|
||||
* gtk.m4: Distribute the new version which tries to
|
||||
figure out what went wrong and give helpful error
|
||||
messages.
|
||||
|
||||
* ltmain.sh ltconfig config.sub config.sh:
|
||||
Updated to libtool 1.2a
|
||||
|
||||
* gtk/gtktext.c: Fixed a bug where the drawn level
|
||||
was being messed up when the text was scrolled
|
||||
during a deletion.
|
||||
|
||||
Thu Apr 30 02:42:11 PDT 1998 Manish Singh <yosh@gimp.org>
|
||||
|
||||
* gtk/gtkfilesel.c: don't die when naughty people remove parts of
|
||||
the filesystem under you (fix from Josh)
|
||||
|
||||
Thu Apr 30 09:49:14 1998 Tim Janik <timj@gtk.org>
|
||||
|
||||
* gtk/gtkscrolledwindow.c (gtk_scrolled_window_foreach): check
|
||||
if the viewport already exists before iterating over it, maybe we
|
||||
haven't been constructed yet.
|
||||
|
||||
Thu Apr 30 01:51:00 1998 Tim Janik <timj@gtk.org>
|
||||
|
||||
* gtk/gtkbin.c (gtk_bin_add): made this function issue a warning if
|
||||
the GtkBin widget already has a child.
|
||||
|
||||
* gtk/gtkbox.c (gtk_box_pack_{start|end}):
|
||||
check that child->parent == NULL;
|
||||
|
||||
Tue Apr 28 22:13:54 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtkselection.c (gtk_selection_clear): Only return
|
||||
FALSE when the clear event is been rejected, not when
|
||||
widget has already lost the selection. (Which should
|
||||
only happen when we are setting the selection to another
|
||||
widget ourself.)
|
||||
|
||||
Fri Apr 24 19:07:32 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtkfixed.c gtk/gtkpaned.c gtk/gtktable.c:
|
||||
|
||||
Removed the "check visibility after gtk_widget_unparent" bug
|
||||
in hopefully the last three places.
|
||||
|
||||
Tue Apr 28 15:46:41 1998 Tim Janik <timj@gtk.org>
|
||||
|
||||
* gtk/gtkrc.c (gtk_rc_parse_statement): allow the inclusion of other
|
||||
rc-files.
|
||||
|
||||
Mon Apr 27 15:11:52 1998 Tim Janik <timj@gtk.org>
|
||||
|
||||
* gtk/gtkwidget.c (gtk_widget_grab_focus): only allow grabbing of focus
|
||||
for CAN_FOCUS widgets.
|
||||
|
||||
* gtk/testgtk.c (create_scrolled_windows): feature h/v focus
|
||||
adjustments for the table.
|
||||
(create_list): feature automatic adjustment of the scrolled window to
|
||||
always contain the focused child.
|
||||
(create_main_window): keep the focussed button always inside of the
|
||||
scrolled windoww.
|
||||
|
||||
* gtk/gtkcontainer.c (gtk_real_container_focus): set the h/v focus
|
||||
adjustments, to contain the allocation of the currently focused child.
|
||||
(gtk_container_set_focus_hadjustment): new functin to set the
|
||||
horizontal focus adjustment.
|
||||
(gtk_container_set_focus_vadjustment): new functin to set the vertical
|
||||
focus adjustment.
|
||||
|
||||
* gtk/gtkadjustment.c (gtk_adjustment_clamp_page): new fucntion to
|
||||
clamp the currents adjustment page into a specific range.
|
||||
|
||||
* random GtkType fixups for gtk_*_get_type() functions.
|
||||
|
||||
Fri Apr 24 18:37:16 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtktreeitem.c (gtk_tree_item_remove_subtree):
|
||||
Account for the fact that gtk_tree_item_remove_subtree
|
||||
will be called recursively.
|
||||
|
||||
Handle removing a collapsed subtree.
|
||||
|
||||
(From Andy Dustman <adustman@comstar.net>)
|
||||
|
||||
* gtk/gtktree.c (gtk_tree_remove_items): Look for the
|
||||
root tree when removing items from a non-previously
|
||||
mapped tree.
|
||||
|
||||
* gtk/testgtk.c: Added a remove_subtree button.
|
||||
|
||||
Thu Apr 23 23:44:17 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtkobject.c (gtk_object_finalize): Notify all weak references
|
||||
before object removing data. This change fixes a bug where
|
||||
removing the last weak references would cause it to be
|
||||
triggered.
|
||||
|
||||
Fri Apr 24 01:29:04 1998 Tim Janik <timj@gtk.org>
|
||||
|
||||
* gtk/gtkaccelerator.h (struct _GtkAcceleratorTable): changed ref_count
|
||||
field to be of type guint.
|
||||
* gtk/gtkaccelerator.c (gtk_accelerator_table_unref): added check for
|
||||
ref_count>0;
|
||||
(gtk_accelerator_table_install): keep a per object list of accelerator
|
||||
tables that refer to this object.
|
||||
(gtk_accelerator_table_remove): remove the accelerator table from the
|
||||
per object list.
|
||||
(gtk_accelerator_table_clean): warn if there are any object references
|
||||
left in an accelerator table upon destruction.
|
||||
(gtk_accelerator_tables_delete): new function to delete object
|
||||
references from the accelerator tables associated with this object.
|
||||
|
||||
* gtk/gtkwidget.c (gtk_widget_class_init): changed emission of
|
||||
GtkWidget::install_accelerator to GTK_RUN_LAST so the installation
|
||||
of an accelerator can be prevented by gtk_signal_emit_stop().
|
||||
(gtk_widget_real_destroy): call gtk_accelerator_tables_delete (),
|
||||
so there are no stale pointers in accelerator tables left.
|
||||
|
||||
1998-04-22 Federico Mena Quintero <federico@nuclecu.unam.mx>
|
||||
|
||||
* gtk/gtkbin.c (gtk_bin_remove): Remember whether the widget was
|
||||
visible before we unparent it.
|
||||
|
||||
Wed Apr 22 04:15:26 1998 Tim Janik <timj@gtk.org>
|
||||
|
||||
* gtk/gtkmain.c (gtk_handle_current_timeouts): prepend the
|
||||
running_timeouts list with the tmp_list link itself, not with a new
|
||||
GList structure pointing to our link. that would fill up memory and
|
||||
causes the GList.data fields of the running_timeouts list to point to
|
||||
GList structures and not GtkTimeoutFunction structures which is a
|
||||
*really* bad thing.
|
||||
(gtk_handle_current_idles): likewise (exchange "timout" with "idle" in
|
||||
the above entry ;).
|
||||
|
||||
Sat Apr 18 22:18:12 1998 Tim Janik <timj@gtk.org>
|
||||
|
||||
* gtk/gtkradiomenuitem.h:
|
||||
* gtk/gtkradiomenuitem.c (gtk_radio_menu_item_set_group): new function
|
||||
ala gtk_radio_button_set_group.
|
||||
(gtk_radio_menu_item_init): assure that we always have at least a group
|
||||
that points to self.
|
||||
|
||||
* gtk/gtkradiobutton.c (gtk_radio_button_set_group): few cleanups and
|
||||
added g_return_if_fail() statements.
|
||||
(gtk_radio_button_init): assure that we always have at least a group
|
||||
that points to self.
|
||||
|
||||
Wed Apr 15 05:13:09 1998 Tim Janik <timj@gtk.org>
|
||||
|
||||
* gtk/gtklabel.c (gtk_label_size_request): corrected a brace position
|
||||
(Damon Chaplin), which i got wrong when applying Damon's patch the last
|
||||
time.
|
||||
|
||||
Wed Apr 15 20:42:46 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtkpreview.c (gtk_preview_get_visuals): Make sure
|
||||
that when we are running with a non-installed colormap,
|
||||
in 8-bit pseudo-color, we actually are using the system
|
||||
visual. (Fixes *Bad Match* errors on Digital Unix machines
|
||||
with multiple 8-bit pseudo-color visuals)
|
||||
|
||||
* gdk/Makefile.am: Removed mostly useless dependency that
|
||||
was causing problems for SGI's make, when used with
|
||||
the 'make dist' form of GTK+. (Dependency caused dependencies
|
||||
to be redone when BUILT_SOURCES changed)
|
||||
|
||||
1998-04-14 Miguel de Icaza <miguel@nuclecu.unam.mx>
|
||||
|
||||
* gdk/gdkwindow.c (gdk_window_xid_at): Fix the problem introduced
|
||||
by whoever thought that randomly changing ints to unsigned int
|
||||
without reviewing the code was a good idea. It is, btw not
|
||||
mentioned in the ChangeLog as usual, but I know it was not Elliot
|
||||
the culprit this time.
|
||||
|
||||
Mon Apr 13 19:16:22 PDT 1998 Shawn T. Amundson <amundson@gtk.org>
|
||||
|
||||
* Released GTK+ 1.0.0
|
||||
|
||||
@@ -1,3 +1,340 @@
|
||||
Mon May 4 21:07:36 PDT 1998 Shawn T. Amundson <amundson@gtk.org>
|
||||
|
||||
* Released GTK 1.0.1
|
||||
|
||||
Mon May 4 00:32:20 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtk.defs (GtkContainer): GtkTooltips is an
|
||||
object, not a Boxed, now.
|
||||
|
||||
Sun May 3 20:43:27 PDT 1998 Shawn T. Amundson <amundson@gtk.org>
|
||||
|
||||
* Version number changed to 1.0.1, along with a more automatic
|
||||
changing of version numbers in the Makefile.am files
|
||||
|
||||
Fri May 1 22:32:47 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtkbutton.c (gtk_button_paint): Draw the areas
|
||||
between the default and the button always in GTK_STATE_NORMAL.
|
||||
|
||||
Sun May 3 16:55:43 1998 Tim Janik <timj@gtk.org>
|
||||
|
||||
* gtk/gtkcontainer.c (gtk_container_set_focus_child): new function to
|
||||
set the current focus_child of a container, does proper referencing and
|
||||
adjusts the vadjustment/hadjustment associated with the focus widget.
|
||||
|
||||
* gtk/gtkwidget.c (gtk_widget_grab_focus): set the focused child on
|
||||
containers via gtk_container_set_focus_child.
|
||||
|
||||
* gtk/gtknotebook.c: modifications to use gtk_container_set_focus_child
|
||||
where appropriate.
|
||||
|
||||
* gtk/gtkcontainer.c (gtk_container_remove): removed unsetting of focus
|
||||
child since not every child removal goes through this function (this
|
||||
showed up after gtk_container_set_focus_child() started to reference the
|
||||
focus_child of a container).
|
||||
|
||||
* gtk/gtkwidget.c (gtk_widget_unparent): moved unsetting the focus_child
|
||||
of a container from gtk_container_remove into this place.
|
||||
|
||||
Sun May 3 19:04:46 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtklabel.c (gtk_label_state_changed): Don't
|
||||
force a clear until the widget is actually on
|
||||
screen.
|
||||
|
||||
Sun May 3 17:20:50 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* configure.in acheader.h gdk/gdkwindow.c
|
||||
Check for Shape extension both on the client and server
|
||||
side. (And, more importantly, check for the shape extension
|
||||
so we may include -lXext even when compiling with --disable-xshm)
|
||||
|
||||
* gdk/gdkwindow.c: Set ->colormap to NULL for root
|
||||
and foreign windows. Use this to check if we
|
||||
need to get the colormap from X.
|
||||
|
||||
Sun May 3 14:55:34 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* docs/gtkfaq.sgml (CPPFLAGS): Added a FAQ entry about
|
||||
"glibconfig.h" and another about writing another IRC
|
||||
client.
|
||||
|
||||
Fri May 1 16:40:57 1998 Owen Taylor <otaylor@gtk.org>
|
||||
[ security-audit changes from Alan Cox ]
|
||||
|
||||
* gdk/gdkpixmap.c (gdk_pixmap_colormap_create_from_xpmp[_d]):
|
||||
Fix a buffer overflow on pixmaps that claim to have
|
||||
more than 31 characters per pixel.
|
||||
|
||||
(gdk_pixmap_read_string): Don't wrap around strings longer
|
||||
than half of address space ;-)
|
||||
|
||||
* gtk/gtk[vh]ruler.c gtk/gtkinputdialog.c: Expand some buffers
|
||||
that were used for printing integers.
|
||||
|
||||
* gdk/gxid.c (handle_claim_device): Some extra checks.
|
||||
It isn't safe against being fed bad X id's, but at
|
||||
least it should be safe against deleting all your
|
||||
files.
|
||||
|
||||
Sat May 2 23:14:34 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtkcurve.c (gtk_curve_graph_events): Ignore
|
||||
Configure events that would result in a negative
|
||||
size.
|
||||
|
||||
Sat May 2 00:14:05 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtkpreview.c (gtk_trim_cmap): Make sure the
|
||||
parameters to log are doubles. Digital Unix apparently
|
||||
is missing the argument in its prototype.
|
||||
|
||||
Fri May 1 22:45:55 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_allocate):
|
||||
Always show the scrollbars when the policy is
|
||||
GTK_POLICY_ALWAYS...
|
||||
|
||||
Fri May 1 10:05:44 1998 Tim Janik <timj@gtk.org>
|
||||
|
||||
* gtk/gtklist.c (gtk_list_add): let gtk_list_append_items do the work
|
||||
for us.
|
||||
(gtk_list_clear_items): use gtk_list_unselect_child() for unselection of
|
||||
children.
|
||||
(gtk_list_shutdown): remove all children from the list.
|
||||
(gtk_real_list_unselect_child):
|
||||
(gtk_real_list_select_child): *always* put our internal structures into
|
||||
sane state *before* signal emisions (i.e. list->selection updates prior
|
||||
to gtk_list_item_[de]select() calls).
|
||||
|
||||
Thu Apr 30 23:32:51 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_allocate):
|
||||
Check to catch the case when the viewport fits in either
|
||||
direction or both, instead of flip-flopping infinitely.
|
||||
|
||||
Only show/hide the scrollbars once at the end.
|
||||
|
||||
Thu Apr 30 21:56:07 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtkscrolledwindow.c (gtk_scrolled_window_foreach):
|
||||
Include the scrollbars in the foreach call.
|
||||
(gtk-fortier-980405-0.patch;
|
||||
Patrice Fortier <Patrice.Fortier@aquarel.fr>).
|
||||
|
||||
The notebook widget
|
||||
really should also include its tabs, but that might cause
|
||||
problems for programs if they
|
||||
|
||||
Thu Apr 30 21:51:52 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtkpixmap.c (gtk_pixmap_set): Only request a
|
||||
resize if the size actually changed.
|
||||
(gtk-johannes-980414-0.patch ;
|
||||
johannes@nada.kth.se (Johannes Keukelaar) )
|
||||
|
||||
Thu Apr 30 10:22:59 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* glib/ltmain.sh glib/ltconfig glib/config.sub glib/config.guess:
|
||||
ltmain.sh ltconfig config.sub config.guess:
|
||||
|
||||
Reverted back to libtool-1.2 (plus minor patches) so as not to
|
||||
force the issue for everyone else.
|
||||
|
||||
Thu Apr 30 10:22:59 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* glib/ltmain.sh glib/ltconfig glib/config.sub glib/config.guess:
|
||||
Updated to libtool 1.2a.
|
||||
|
||||
* gtk/gtkclist.c: Draw the in-between lines with style->base
|
||||
instead of style->white.
|
||||
|
||||
Wed Apr 29 15:46:13 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gdk/gdkprivate.h gdk/gdkwindow.c gdk/gdkpixmap.c:
|
||||
Cache the colormap and children of a window locally
|
||||
instead of fetching them from the server when needed.
|
||||
Huge performance difference for creating/destroying
|
||||
windows.
|
||||
|
||||
* gtk/gtkstyle.c: Find the depth from the cached
|
||||
visual, instead of asking the server.
|
||||
|
||||
* gtk.m4: Distribute the new version which tries to
|
||||
figure out what went wrong and give helpful error
|
||||
messages.
|
||||
|
||||
* ltmain.sh ltconfig config.sub config.sh:
|
||||
Updated to libtool 1.2a
|
||||
|
||||
* gtk/gtktext.c: Fixed a bug where the drawn level
|
||||
was being messed up when the text was scrolled
|
||||
during a deletion.
|
||||
|
||||
Thu Apr 30 02:42:11 PDT 1998 Manish Singh <yosh@gimp.org>
|
||||
|
||||
* gtk/gtkfilesel.c: don't die when naughty people remove parts of
|
||||
the filesystem under you (fix from Josh)
|
||||
|
||||
Thu Apr 30 09:49:14 1998 Tim Janik <timj@gtk.org>
|
||||
|
||||
* gtk/gtkscrolledwindow.c (gtk_scrolled_window_foreach): check
|
||||
if the viewport already exists before iterating over it, maybe we
|
||||
haven't been constructed yet.
|
||||
|
||||
Thu Apr 30 01:51:00 1998 Tim Janik <timj@gtk.org>
|
||||
|
||||
* gtk/gtkbin.c (gtk_bin_add): made this function issue a warning if
|
||||
the GtkBin widget already has a child.
|
||||
|
||||
* gtk/gtkbox.c (gtk_box_pack_{start|end}):
|
||||
check that child->parent == NULL;
|
||||
|
||||
Tue Apr 28 22:13:54 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtkselection.c (gtk_selection_clear): Only return
|
||||
FALSE when the clear event is been rejected, not when
|
||||
widget has already lost the selection. (Which should
|
||||
only happen when we are setting the selection to another
|
||||
widget ourself.)
|
||||
|
||||
Fri Apr 24 19:07:32 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtkfixed.c gtk/gtkpaned.c gtk/gtktable.c:
|
||||
|
||||
Removed the "check visibility after gtk_widget_unparent" bug
|
||||
in hopefully the last three places.
|
||||
|
||||
Tue Apr 28 15:46:41 1998 Tim Janik <timj@gtk.org>
|
||||
|
||||
* gtk/gtkrc.c (gtk_rc_parse_statement): allow the inclusion of other
|
||||
rc-files.
|
||||
|
||||
Mon Apr 27 15:11:52 1998 Tim Janik <timj@gtk.org>
|
||||
|
||||
* gtk/gtkwidget.c (gtk_widget_grab_focus): only allow grabbing of focus
|
||||
for CAN_FOCUS widgets.
|
||||
|
||||
* gtk/testgtk.c (create_scrolled_windows): feature h/v focus
|
||||
adjustments for the table.
|
||||
(create_list): feature automatic adjustment of the scrolled window to
|
||||
always contain the focused child.
|
||||
(create_main_window): keep the focussed button always inside of the
|
||||
scrolled windoww.
|
||||
|
||||
* gtk/gtkcontainer.c (gtk_real_container_focus): set the h/v focus
|
||||
adjustments, to contain the allocation of the currently focused child.
|
||||
(gtk_container_set_focus_hadjustment): new functin to set the
|
||||
horizontal focus adjustment.
|
||||
(gtk_container_set_focus_vadjustment): new functin to set the vertical
|
||||
focus adjustment.
|
||||
|
||||
* gtk/gtkadjustment.c (gtk_adjustment_clamp_page): new fucntion to
|
||||
clamp the currents adjustment page into a specific range.
|
||||
|
||||
* random GtkType fixups for gtk_*_get_type() functions.
|
||||
|
||||
Fri Apr 24 18:37:16 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtktreeitem.c (gtk_tree_item_remove_subtree):
|
||||
Account for the fact that gtk_tree_item_remove_subtree
|
||||
will be called recursively.
|
||||
|
||||
Handle removing a collapsed subtree.
|
||||
|
||||
(From Andy Dustman <adustman@comstar.net>)
|
||||
|
||||
* gtk/gtktree.c (gtk_tree_remove_items): Look for the
|
||||
root tree when removing items from a non-previously
|
||||
mapped tree.
|
||||
|
||||
* gtk/testgtk.c: Added a remove_subtree button.
|
||||
|
||||
Thu Apr 23 23:44:17 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtkobject.c (gtk_object_finalize): Notify all weak references
|
||||
before object removing data. This change fixes a bug where
|
||||
removing the last weak references would cause it to be
|
||||
triggered.
|
||||
|
||||
Fri Apr 24 01:29:04 1998 Tim Janik <timj@gtk.org>
|
||||
|
||||
* gtk/gtkaccelerator.h (struct _GtkAcceleratorTable): changed ref_count
|
||||
field to be of type guint.
|
||||
* gtk/gtkaccelerator.c (gtk_accelerator_table_unref): added check for
|
||||
ref_count>0;
|
||||
(gtk_accelerator_table_install): keep a per object list of accelerator
|
||||
tables that refer to this object.
|
||||
(gtk_accelerator_table_remove): remove the accelerator table from the
|
||||
per object list.
|
||||
(gtk_accelerator_table_clean): warn if there are any object references
|
||||
left in an accelerator table upon destruction.
|
||||
(gtk_accelerator_tables_delete): new function to delete object
|
||||
references from the accelerator tables associated with this object.
|
||||
|
||||
* gtk/gtkwidget.c (gtk_widget_class_init): changed emission of
|
||||
GtkWidget::install_accelerator to GTK_RUN_LAST so the installation
|
||||
of an accelerator can be prevented by gtk_signal_emit_stop().
|
||||
(gtk_widget_real_destroy): call gtk_accelerator_tables_delete (),
|
||||
so there are no stale pointers in accelerator tables left.
|
||||
|
||||
1998-04-22 Federico Mena Quintero <federico@nuclecu.unam.mx>
|
||||
|
||||
* gtk/gtkbin.c (gtk_bin_remove): Remember whether the widget was
|
||||
visible before we unparent it.
|
||||
|
||||
Wed Apr 22 04:15:26 1998 Tim Janik <timj@gtk.org>
|
||||
|
||||
* gtk/gtkmain.c (gtk_handle_current_timeouts): prepend the
|
||||
running_timeouts list with the tmp_list link itself, not with a new
|
||||
GList structure pointing to our link. that would fill up memory and
|
||||
causes the GList.data fields of the running_timeouts list to point to
|
||||
GList structures and not GtkTimeoutFunction structures which is a
|
||||
*really* bad thing.
|
||||
(gtk_handle_current_idles): likewise (exchange "timout" with "idle" in
|
||||
the above entry ;).
|
||||
|
||||
Sat Apr 18 22:18:12 1998 Tim Janik <timj@gtk.org>
|
||||
|
||||
* gtk/gtkradiomenuitem.h:
|
||||
* gtk/gtkradiomenuitem.c (gtk_radio_menu_item_set_group): new function
|
||||
ala gtk_radio_button_set_group.
|
||||
(gtk_radio_menu_item_init): assure that we always have at least a group
|
||||
that points to self.
|
||||
|
||||
* gtk/gtkradiobutton.c (gtk_radio_button_set_group): few cleanups and
|
||||
added g_return_if_fail() statements.
|
||||
(gtk_radio_button_init): assure that we always have at least a group
|
||||
that points to self.
|
||||
|
||||
Wed Apr 15 05:13:09 1998 Tim Janik <timj@gtk.org>
|
||||
|
||||
* gtk/gtklabel.c (gtk_label_size_request): corrected a brace position
|
||||
(Damon Chaplin), which i got wrong when applying Damon's patch the last
|
||||
time.
|
||||
|
||||
Wed Apr 15 20:42:46 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtkpreview.c (gtk_preview_get_visuals): Make sure
|
||||
that when we are running with a non-installed colormap,
|
||||
in 8-bit pseudo-color, we actually are using the system
|
||||
visual. (Fixes *Bad Match* errors on Digital Unix machines
|
||||
with multiple 8-bit pseudo-color visuals)
|
||||
|
||||
* gdk/Makefile.am: Removed mostly useless dependency that
|
||||
was causing problems for SGI's make, when used with
|
||||
the 'make dist' form of GTK+. (Dependency caused dependencies
|
||||
to be redone when BUILT_SOURCES changed)
|
||||
|
||||
1998-04-14 Miguel de Icaza <miguel@nuclecu.unam.mx>
|
||||
|
||||
* gdk/gdkwindow.c (gdk_window_xid_at): Fix the problem introduced
|
||||
by whoever thought that randomly changing ints to unsigned int
|
||||
without reviewing the code was a good idea. It is, btw not
|
||||
mentioned in the ChangeLog as usual, but I know it was not Elliot
|
||||
the culprit this time.
|
||||
|
||||
Mon Apr 13 19:16:22 PDT 1998 Shawn T. Amundson <amundson@gtk.org>
|
||||
|
||||
* Released GTK+ 1.0.0
|
||||
|
||||
@@ -1,3 +1,340 @@
|
||||
Mon May 4 21:07:36 PDT 1998 Shawn T. Amundson <amundson@gtk.org>
|
||||
|
||||
* Released GTK 1.0.1
|
||||
|
||||
Mon May 4 00:32:20 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtk.defs (GtkContainer): GtkTooltips is an
|
||||
object, not a Boxed, now.
|
||||
|
||||
Sun May 3 20:43:27 PDT 1998 Shawn T. Amundson <amundson@gtk.org>
|
||||
|
||||
* Version number changed to 1.0.1, along with a more automatic
|
||||
changing of version numbers in the Makefile.am files
|
||||
|
||||
Fri May 1 22:32:47 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtkbutton.c (gtk_button_paint): Draw the areas
|
||||
between the default and the button always in GTK_STATE_NORMAL.
|
||||
|
||||
Sun May 3 16:55:43 1998 Tim Janik <timj@gtk.org>
|
||||
|
||||
* gtk/gtkcontainer.c (gtk_container_set_focus_child): new function to
|
||||
set the current focus_child of a container, does proper referencing and
|
||||
adjusts the vadjustment/hadjustment associated with the focus widget.
|
||||
|
||||
* gtk/gtkwidget.c (gtk_widget_grab_focus): set the focused child on
|
||||
containers via gtk_container_set_focus_child.
|
||||
|
||||
* gtk/gtknotebook.c: modifications to use gtk_container_set_focus_child
|
||||
where appropriate.
|
||||
|
||||
* gtk/gtkcontainer.c (gtk_container_remove): removed unsetting of focus
|
||||
child since not every child removal goes through this function (this
|
||||
showed up after gtk_container_set_focus_child() started to reference the
|
||||
focus_child of a container).
|
||||
|
||||
* gtk/gtkwidget.c (gtk_widget_unparent): moved unsetting the focus_child
|
||||
of a container from gtk_container_remove into this place.
|
||||
|
||||
Sun May 3 19:04:46 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtklabel.c (gtk_label_state_changed): Don't
|
||||
force a clear until the widget is actually on
|
||||
screen.
|
||||
|
||||
Sun May 3 17:20:50 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* configure.in acheader.h gdk/gdkwindow.c
|
||||
Check for Shape extension both on the client and server
|
||||
side. (And, more importantly, check for the shape extension
|
||||
so we may include -lXext even when compiling with --disable-xshm)
|
||||
|
||||
* gdk/gdkwindow.c: Set ->colormap to NULL for root
|
||||
and foreign windows. Use this to check if we
|
||||
need to get the colormap from X.
|
||||
|
||||
Sun May 3 14:55:34 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* docs/gtkfaq.sgml (CPPFLAGS): Added a FAQ entry about
|
||||
"glibconfig.h" and another about writing another IRC
|
||||
client.
|
||||
|
||||
Fri May 1 16:40:57 1998 Owen Taylor <otaylor@gtk.org>
|
||||
[ security-audit changes from Alan Cox ]
|
||||
|
||||
* gdk/gdkpixmap.c (gdk_pixmap_colormap_create_from_xpmp[_d]):
|
||||
Fix a buffer overflow on pixmaps that claim to have
|
||||
more than 31 characters per pixel.
|
||||
|
||||
(gdk_pixmap_read_string): Don't wrap around strings longer
|
||||
than half of address space ;-)
|
||||
|
||||
* gtk/gtk[vh]ruler.c gtk/gtkinputdialog.c: Expand some buffers
|
||||
that were used for printing integers.
|
||||
|
||||
* gdk/gxid.c (handle_claim_device): Some extra checks.
|
||||
It isn't safe against being fed bad X id's, but at
|
||||
least it should be safe against deleting all your
|
||||
files.
|
||||
|
||||
Sat May 2 23:14:34 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtkcurve.c (gtk_curve_graph_events): Ignore
|
||||
Configure events that would result in a negative
|
||||
size.
|
||||
|
||||
Sat May 2 00:14:05 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtkpreview.c (gtk_trim_cmap): Make sure the
|
||||
parameters to log are doubles. Digital Unix apparently
|
||||
is missing the argument in its prototype.
|
||||
|
||||
Fri May 1 22:45:55 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_allocate):
|
||||
Always show the scrollbars when the policy is
|
||||
GTK_POLICY_ALWAYS...
|
||||
|
||||
Fri May 1 10:05:44 1998 Tim Janik <timj@gtk.org>
|
||||
|
||||
* gtk/gtklist.c (gtk_list_add): let gtk_list_append_items do the work
|
||||
for us.
|
||||
(gtk_list_clear_items): use gtk_list_unselect_child() for unselection of
|
||||
children.
|
||||
(gtk_list_shutdown): remove all children from the list.
|
||||
(gtk_real_list_unselect_child):
|
||||
(gtk_real_list_select_child): *always* put our internal structures into
|
||||
sane state *before* signal emisions (i.e. list->selection updates prior
|
||||
to gtk_list_item_[de]select() calls).
|
||||
|
||||
Thu Apr 30 23:32:51 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_allocate):
|
||||
Check to catch the case when the viewport fits in either
|
||||
direction or both, instead of flip-flopping infinitely.
|
||||
|
||||
Only show/hide the scrollbars once at the end.
|
||||
|
||||
Thu Apr 30 21:56:07 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtkscrolledwindow.c (gtk_scrolled_window_foreach):
|
||||
Include the scrollbars in the foreach call.
|
||||
(gtk-fortier-980405-0.patch;
|
||||
Patrice Fortier <Patrice.Fortier@aquarel.fr>).
|
||||
|
||||
The notebook widget
|
||||
really should also include its tabs, but that might cause
|
||||
problems for programs if they
|
||||
|
||||
Thu Apr 30 21:51:52 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtkpixmap.c (gtk_pixmap_set): Only request a
|
||||
resize if the size actually changed.
|
||||
(gtk-johannes-980414-0.patch ;
|
||||
johannes@nada.kth.se (Johannes Keukelaar) )
|
||||
|
||||
Thu Apr 30 10:22:59 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* glib/ltmain.sh glib/ltconfig glib/config.sub glib/config.guess:
|
||||
ltmain.sh ltconfig config.sub config.guess:
|
||||
|
||||
Reverted back to libtool-1.2 (plus minor patches) so as not to
|
||||
force the issue for everyone else.
|
||||
|
||||
Thu Apr 30 10:22:59 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* glib/ltmain.sh glib/ltconfig glib/config.sub glib/config.guess:
|
||||
Updated to libtool 1.2a.
|
||||
|
||||
* gtk/gtkclist.c: Draw the in-between lines with style->base
|
||||
instead of style->white.
|
||||
|
||||
Wed Apr 29 15:46:13 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gdk/gdkprivate.h gdk/gdkwindow.c gdk/gdkpixmap.c:
|
||||
Cache the colormap and children of a window locally
|
||||
instead of fetching them from the server when needed.
|
||||
Huge performance difference for creating/destroying
|
||||
windows.
|
||||
|
||||
* gtk/gtkstyle.c: Find the depth from the cached
|
||||
visual, instead of asking the server.
|
||||
|
||||
* gtk.m4: Distribute the new version which tries to
|
||||
figure out what went wrong and give helpful error
|
||||
messages.
|
||||
|
||||
* ltmain.sh ltconfig config.sub config.sh:
|
||||
Updated to libtool 1.2a
|
||||
|
||||
* gtk/gtktext.c: Fixed a bug where the drawn level
|
||||
was being messed up when the text was scrolled
|
||||
during a deletion.
|
||||
|
||||
Thu Apr 30 02:42:11 PDT 1998 Manish Singh <yosh@gimp.org>
|
||||
|
||||
* gtk/gtkfilesel.c: don't die when naughty people remove parts of
|
||||
the filesystem under you (fix from Josh)
|
||||
|
||||
Thu Apr 30 09:49:14 1998 Tim Janik <timj@gtk.org>
|
||||
|
||||
* gtk/gtkscrolledwindow.c (gtk_scrolled_window_foreach): check
|
||||
if the viewport already exists before iterating over it, maybe we
|
||||
haven't been constructed yet.
|
||||
|
||||
Thu Apr 30 01:51:00 1998 Tim Janik <timj@gtk.org>
|
||||
|
||||
* gtk/gtkbin.c (gtk_bin_add): made this function issue a warning if
|
||||
the GtkBin widget already has a child.
|
||||
|
||||
* gtk/gtkbox.c (gtk_box_pack_{start|end}):
|
||||
check that child->parent == NULL;
|
||||
|
||||
Tue Apr 28 22:13:54 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtkselection.c (gtk_selection_clear): Only return
|
||||
FALSE when the clear event is been rejected, not when
|
||||
widget has already lost the selection. (Which should
|
||||
only happen when we are setting the selection to another
|
||||
widget ourself.)
|
||||
|
||||
Fri Apr 24 19:07:32 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtkfixed.c gtk/gtkpaned.c gtk/gtktable.c:
|
||||
|
||||
Removed the "check visibility after gtk_widget_unparent" bug
|
||||
in hopefully the last three places.
|
||||
|
||||
Tue Apr 28 15:46:41 1998 Tim Janik <timj@gtk.org>
|
||||
|
||||
* gtk/gtkrc.c (gtk_rc_parse_statement): allow the inclusion of other
|
||||
rc-files.
|
||||
|
||||
Mon Apr 27 15:11:52 1998 Tim Janik <timj@gtk.org>
|
||||
|
||||
* gtk/gtkwidget.c (gtk_widget_grab_focus): only allow grabbing of focus
|
||||
for CAN_FOCUS widgets.
|
||||
|
||||
* gtk/testgtk.c (create_scrolled_windows): feature h/v focus
|
||||
adjustments for the table.
|
||||
(create_list): feature automatic adjustment of the scrolled window to
|
||||
always contain the focused child.
|
||||
(create_main_window): keep the focussed button always inside of the
|
||||
scrolled windoww.
|
||||
|
||||
* gtk/gtkcontainer.c (gtk_real_container_focus): set the h/v focus
|
||||
adjustments, to contain the allocation of the currently focused child.
|
||||
(gtk_container_set_focus_hadjustment): new functin to set the
|
||||
horizontal focus adjustment.
|
||||
(gtk_container_set_focus_vadjustment): new functin to set the vertical
|
||||
focus adjustment.
|
||||
|
||||
* gtk/gtkadjustment.c (gtk_adjustment_clamp_page): new fucntion to
|
||||
clamp the currents adjustment page into a specific range.
|
||||
|
||||
* random GtkType fixups for gtk_*_get_type() functions.
|
||||
|
||||
Fri Apr 24 18:37:16 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtktreeitem.c (gtk_tree_item_remove_subtree):
|
||||
Account for the fact that gtk_tree_item_remove_subtree
|
||||
will be called recursively.
|
||||
|
||||
Handle removing a collapsed subtree.
|
||||
|
||||
(From Andy Dustman <adustman@comstar.net>)
|
||||
|
||||
* gtk/gtktree.c (gtk_tree_remove_items): Look for the
|
||||
root tree when removing items from a non-previously
|
||||
mapped tree.
|
||||
|
||||
* gtk/testgtk.c: Added a remove_subtree button.
|
||||
|
||||
Thu Apr 23 23:44:17 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtkobject.c (gtk_object_finalize): Notify all weak references
|
||||
before object removing data. This change fixes a bug where
|
||||
removing the last weak references would cause it to be
|
||||
triggered.
|
||||
|
||||
Fri Apr 24 01:29:04 1998 Tim Janik <timj@gtk.org>
|
||||
|
||||
* gtk/gtkaccelerator.h (struct _GtkAcceleratorTable): changed ref_count
|
||||
field to be of type guint.
|
||||
* gtk/gtkaccelerator.c (gtk_accelerator_table_unref): added check for
|
||||
ref_count>0;
|
||||
(gtk_accelerator_table_install): keep a per object list of accelerator
|
||||
tables that refer to this object.
|
||||
(gtk_accelerator_table_remove): remove the accelerator table from the
|
||||
per object list.
|
||||
(gtk_accelerator_table_clean): warn if there are any object references
|
||||
left in an accelerator table upon destruction.
|
||||
(gtk_accelerator_tables_delete): new function to delete object
|
||||
references from the accelerator tables associated with this object.
|
||||
|
||||
* gtk/gtkwidget.c (gtk_widget_class_init): changed emission of
|
||||
GtkWidget::install_accelerator to GTK_RUN_LAST so the installation
|
||||
of an accelerator can be prevented by gtk_signal_emit_stop().
|
||||
(gtk_widget_real_destroy): call gtk_accelerator_tables_delete (),
|
||||
so there are no stale pointers in accelerator tables left.
|
||||
|
||||
1998-04-22 Federico Mena Quintero <federico@nuclecu.unam.mx>
|
||||
|
||||
* gtk/gtkbin.c (gtk_bin_remove): Remember whether the widget was
|
||||
visible before we unparent it.
|
||||
|
||||
Wed Apr 22 04:15:26 1998 Tim Janik <timj@gtk.org>
|
||||
|
||||
* gtk/gtkmain.c (gtk_handle_current_timeouts): prepend the
|
||||
running_timeouts list with the tmp_list link itself, not with a new
|
||||
GList structure pointing to our link. that would fill up memory and
|
||||
causes the GList.data fields of the running_timeouts list to point to
|
||||
GList structures and not GtkTimeoutFunction structures which is a
|
||||
*really* bad thing.
|
||||
(gtk_handle_current_idles): likewise (exchange "timout" with "idle" in
|
||||
the above entry ;).
|
||||
|
||||
Sat Apr 18 22:18:12 1998 Tim Janik <timj@gtk.org>
|
||||
|
||||
* gtk/gtkradiomenuitem.h:
|
||||
* gtk/gtkradiomenuitem.c (gtk_radio_menu_item_set_group): new function
|
||||
ala gtk_radio_button_set_group.
|
||||
(gtk_radio_menu_item_init): assure that we always have at least a group
|
||||
that points to self.
|
||||
|
||||
* gtk/gtkradiobutton.c (gtk_radio_button_set_group): few cleanups and
|
||||
added g_return_if_fail() statements.
|
||||
(gtk_radio_button_init): assure that we always have at least a group
|
||||
that points to self.
|
||||
|
||||
Wed Apr 15 05:13:09 1998 Tim Janik <timj@gtk.org>
|
||||
|
||||
* gtk/gtklabel.c (gtk_label_size_request): corrected a brace position
|
||||
(Damon Chaplin), which i got wrong when applying Damon's patch the last
|
||||
time.
|
||||
|
||||
Wed Apr 15 20:42:46 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtkpreview.c (gtk_preview_get_visuals): Make sure
|
||||
that when we are running with a non-installed colormap,
|
||||
in 8-bit pseudo-color, we actually are using the system
|
||||
visual. (Fixes *Bad Match* errors on Digital Unix machines
|
||||
with multiple 8-bit pseudo-color visuals)
|
||||
|
||||
* gdk/Makefile.am: Removed mostly useless dependency that
|
||||
was causing problems for SGI's make, when used with
|
||||
the 'make dist' form of GTK+. (Dependency caused dependencies
|
||||
to be redone when BUILT_SOURCES changed)
|
||||
|
||||
1998-04-14 Miguel de Icaza <miguel@nuclecu.unam.mx>
|
||||
|
||||
* gdk/gdkwindow.c (gdk_window_xid_at): Fix the problem introduced
|
||||
by whoever thought that randomly changing ints to unsigned int
|
||||
without reviewing the code was a good idea. It is, btw not
|
||||
mentioned in the ChangeLog as usual, but I know it was not Elliot
|
||||
the culprit this time.
|
||||
|
||||
Mon Apr 13 19:16:22 PDT 1998 Shawn T. Amundson <amundson@gtk.org>
|
||||
|
||||
* Released GTK+ 1.0.0
|
||||
|
||||
@@ -1,3 +1,340 @@
|
||||
Mon May 4 21:07:36 PDT 1998 Shawn T. Amundson <amundson@gtk.org>
|
||||
|
||||
* Released GTK 1.0.1
|
||||
|
||||
Mon May 4 00:32:20 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtk.defs (GtkContainer): GtkTooltips is an
|
||||
object, not a Boxed, now.
|
||||
|
||||
Sun May 3 20:43:27 PDT 1998 Shawn T. Amundson <amundson@gtk.org>
|
||||
|
||||
* Version number changed to 1.0.1, along with a more automatic
|
||||
changing of version numbers in the Makefile.am files
|
||||
|
||||
Fri May 1 22:32:47 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtkbutton.c (gtk_button_paint): Draw the areas
|
||||
between the default and the button always in GTK_STATE_NORMAL.
|
||||
|
||||
Sun May 3 16:55:43 1998 Tim Janik <timj@gtk.org>
|
||||
|
||||
* gtk/gtkcontainer.c (gtk_container_set_focus_child): new function to
|
||||
set the current focus_child of a container, does proper referencing and
|
||||
adjusts the vadjustment/hadjustment associated with the focus widget.
|
||||
|
||||
* gtk/gtkwidget.c (gtk_widget_grab_focus): set the focused child on
|
||||
containers via gtk_container_set_focus_child.
|
||||
|
||||
* gtk/gtknotebook.c: modifications to use gtk_container_set_focus_child
|
||||
where appropriate.
|
||||
|
||||
* gtk/gtkcontainer.c (gtk_container_remove): removed unsetting of focus
|
||||
child since not every child removal goes through this function (this
|
||||
showed up after gtk_container_set_focus_child() started to reference the
|
||||
focus_child of a container).
|
||||
|
||||
* gtk/gtkwidget.c (gtk_widget_unparent): moved unsetting the focus_child
|
||||
of a container from gtk_container_remove into this place.
|
||||
|
||||
Sun May 3 19:04:46 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtklabel.c (gtk_label_state_changed): Don't
|
||||
force a clear until the widget is actually on
|
||||
screen.
|
||||
|
||||
Sun May 3 17:20:50 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* configure.in acheader.h gdk/gdkwindow.c
|
||||
Check for Shape extension both on the client and server
|
||||
side. (And, more importantly, check for the shape extension
|
||||
so we may include -lXext even when compiling with --disable-xshm)
|
||||
|
||||
* gdk/gdkwindow.c: Set ->colormap to NULL for root
|
||||
and foreign windows. Use this to check if we
|
||||
need to get the colormap from X.
|
||||
|
||||
Sun May 3 14:55:34 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* docs/gtkfaq.sgml (CPPFLAGS): Added a FAQ entry about
|
||||
"glibconfig.h" and another about writing another IRC
|
||||
client.
|
||||
|
||||
Fri May 1 16:40:57 1998 Owen Taylor <otaylor@gtk.org>
|
||||
[ security-audit changes from Alan Cox ]
|
||||
|
||||
* gdk/gdkpixmap.c (gdk_pixmap_colormap_create_from_xpmp[_d]):
|
||||
Fix a buffer overflow on pixmaps that claim to have
|
||||
more than 31 characters per pixel.
|
||||
|
||||
(gdk_pixmap_read_string): Don't wrap around strings longer
|
||||
than half of address space ;-)
|
||||
|
||||
* gtk/gtk[vh]ruler.c gtk/gtkinputdialog.c: Expand some buffers
|
||||
that were used for printing integers.
|
||||
|
||||
* gdk/gxid.c (handle_claim_device): Some extra checks.
|
||||
It isn't safe against being fed bad X id's, but at
|
||||
least it should be safe against deleting all your
|
||||
files.
|
||||
|
||||
Sat May 2 23:14:34 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtkcurve.c (gtk_curve_graph_events): Ignore
|
||||
Configure events that would result in a negative
|
||||
size.
|
||||
|
||||
Sat May 2 00:14:05 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtkpreview.c (gtk_trim_cmap): Make sure the
|
||||
parameters to log are doubles. Digital Unix apparently
|
||||
is missing the argument in its prototype.
|
||||
|
||||
Fri May 1 22:45:55 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_allocate):
|
||||
Always show the scrollbars when the policy is
|
||||
GTK_POLICY_ALWAYS...
|
||||
|
||||
Fri May 1 10:05:44 1998 Tim Janik <timj@gtk.org>
|
||||
|
||||
* gtk/gtklist.c (gtk_list_add): let gtk_list_append_items do the work
|
||||
for us.
|
||||
(gtk_list_clear_items): use gtk_list_unselect_child() for unselection of
|
||||
children.
|
||||
(gtk_list_shutdown): remove all children from the list.
|
||||
(gtk_real_list_unselect_child):
|
||||
(gtk_real_list_select_child): *always* put our internal structures into
|
||||
sane state *before* signal emisions (i.e. list->selection updates prior
|
||||
to gtk_list_item_[de]select() calls).
|
||||
|
||||
Thu Apr 30 23:32:51 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_allocate):
|
||||
Check to catch the case when the viewport fits in either
|
||||
direction or both, instead of flip-flopping infinitely.
|
||||
|
||||
Only show/hide the scrollbars once at the end.
|
||||
|
||||
Thu Apr 30 21:56:07 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtkscrolledwindow.c (gtk_scrolled_window_foreach):
|
||||
Include the scrollbars in the foreach call.
|
||||
(gtk-fortier-980405-0.patch;
|
||||
Patrice Fortier <Patrice.Fortier@aquarel.fr>).
|
||||
|
||||
The notebook widget
|
||||
really should also include its tabs, but that might cause
|
||||
problems for programs if they
|
||||
|
||||
Thu Apr 30 21:51:52 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtkpixmap.c (gtk_pixmap_set): Only request a
|
||||
resize if the size actually changed.
|
||||
(gtk-johannes-980414-0.patch ;
|
||||
johannes@nada.kth.se (Johannes Keukelaar) )
|
||||
|
||||
Thu Apr 30 10:22:59 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* glib/ltmain.sh glib/ltconfig glib/config.sub glib/config.guess:
|
||||
ltmain.sh ltconfig config.sub config.guess:
|
||||
|
||||
Reverted back to libtool-1.2 (plus minor patches) so as not to
|
||||
force the issue for everyone else.
|
||||
|
||||
Thu Apr 30 10:22:59 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* glib/ltmain.sh glib/ltconfig glib/config.sub glib/config.guess:
|
||||
Updated to libtool 1.2a.
|
||||
|
||||
* gtk/gtkclist.c: Draw the in-between lines with style->base
|
||||
instead of style->white.
|
||||
|
||||
Wed Apr 29 15:46:13 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gdk/gdkprivate.h gdk/gdkwindow.c gdk/gdkpixmap.c:
|
||||
Cache the colormap and children of a window locally
|
||||
instead of fetching them from the server when needed.
|
||||
Huge performance difference for creating/destroying
|
||||
windows.
|
||||
|
||||
* gtk/gtkstyle.c: Find the depth from the cached
|
||||
visual, instead of asking the server.
|
||||
|
||||
* gtk.m4: Distribute the new version which tries to
|
||||
figure out what went wrong and give helpful error
|
||||
messages.
|
||||
|
||||
* ltmain.sh ltconfig config.sub config.sh:
|
||||
Updated to libtool 1.2a
|
||||
|
||||
* gtk/gtktext.c: Fixed a bug where the drawn level
|
||||
was being messed up when the text was scrolled
|
||||
during a deletion.
|
||||
|
||||
Thu Apr 30 02:42:11 PDT 1998 Manish Singh <yosh@gimp.org>
|
||||
|
||||
* gtk/gtkfilesel.c: don't die when naughty people remove parts of
|
||||
the filesystem under you (fix from Josh)
|
||||
|
||||
Thu Apr 30 09:49:14 1998 Tim Janik <timj@gtk.org>
|
||||
|
||||
* gtk/gtkscrolledwindow.c (gtk_scrolled_window_foreach): check
|
||||
if the viewport already exists before iterating over it, maybe we
|
||||
haven't been constructed yet.
|
||||
|
||||
Thu Apr 30 01:51:00 1998 Tim Janik <timj@gtk.org>
|
||||
|
||||
* gtk/gtkbin.c (gtk_bin_add): made this function issue a warning if
|
||||
the GtkBin widget already has a child.
|
||||
|
||||
* gtk/gtkbox.c (gtk_box_pack_{start|end}):
|
||||
check that child->parent == NULL;
|
||||
|
||||
Tue Apr 28 22:13:54 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtkselection.c (gtk_selection_clear): Only return
|
||||
FALSE when the clear event is been rejected, not when
|
||||
widget has already lost the selection. (Which should
|
||||
only happen when we are setting the selection to another
|
||||
widget ourself.)
|
||||
|
||||
Fri Apr 24 19:07:32 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtkfixed.c gtk/gtkpaned.c gtk/gtktable.c:
|
||||
|
||||
Removed the "check visibility after gtk_widget_unparent" bug
|
||||
in hopefully the last three places.
|
||||
|
||||
Tue Apr 28 15:46:41 1998 Tim Janik <timj@gtk.org>
|
||||
|
||||
* gtk/gtkrc.c (gtk_rc_parse_statement): allow the inclusion of other
|
||||
rc-files.
|
||||
|
||||
Mon Apr 27 15:11:52 1998 Tim Janik <timj@gtk.org>
|
||||
|
||||
* gtk/gtkwidget.c (gtk_widget_grab_focus): only allow grabbing of focus
|
||||
for CAN_FOCUS widgets.
|
||||
|
||||
* gtk/testgtk.c (create_scrolled_windows): feature h/v focus
|
||||
adjustments for the table.
|
||||
(create_list): feature automatic adjustment of the scrolled window to
|
||||
always contain the focused child.
|
||||
(create_main_window): keep the focussed button always inside of the
|
||||
scrolled windoww.
|
||||
|
||||
* gtk/gtkcontainer.c (gtk_real_container_focus): set the h/v focus
|
||||
adjustments, to contain the allocation of the currently focused child.
|
||||
(gtk_container_set_focus_hadjustment): new functin to set the
|
||||
horizontal focus adjustment.
|
||||
(gtk_container_set_focus_vadjustment): new functin to set the vertical
|
||||
focus adjustment.
|
||||
|
||||
* gtk/gtkadjustment.c (gtk_adjustment_clamp_page): new fucntion to
|
||||
clamp the currents adjustment page into a specific range.
|
||||
|
||||
* random GtkType fixups for gtk_*_get_type() functions.
|
||||
|
||||
Fri Apr 24 18:37:16 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtktreeitem.c (gtk_tree_item_remove_subtree):
|
||||
Account for the fact that gtk_tree_item_remove_subtree
|
||||
will be called recursively.
|
||||
|
||||
Handle removing a collapsed subtree.
|
||||
|
||||
(From Andy Dustman <adustman@comstar.net>)
|
||||
|
||||
* gtk/gtktree.c (gtk_tree_remove_items): Look for the
|
||||
root tree when removing items from a non-previously
|
||||
mapped tree.
|
||||
|
||||
* gtk/testgtk.c: Added a remove_subtree button.
|
||||
|
||||
Thu Apr 23 23:44:17 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtkobject.c (gtk_object_finalize): Notify all weak references
|
||||
before object removing data. This change fixes a bug where
|
||||
removing the last weak references would cause it to be
|
||||
triggered.
|
||||
|
||||
Fri Apr 24 01:29:04 1998 Tim Janik <timj@gtk.org>
|
||||
|
||||
* gtk/gtkaccelerator.h (struct _GtkAcceleratorTable): changed ref_count
|
||||
field to be of type guint.
|
||||
* gtk/gtkaccelerator.c (gtk_accelerator_table_unref): added check for
|
||||
ref_count>0;
|
||||
(gtk_accelerator_table_install): keep a per object list of accelerator
|
||||
tables that refer to this object.
|
||||
(gtk_accelerator_table_remove): remove the accelerator table from the
|
||||
per object list.
|
||||
(gtk_accelerator_table_clean): warn if there are any object references
|
||||
left in an accelerator table upon destruction.
|
||||
(gtk_accelerator_tables_delete): new function to delete object
|
||||
references from the accelerator tables associated with this object.
|
||||
|
||||
* gtk/gtkwidget.c (gtk_widget_class_init): changed emission of
|
||||
GtkWidget::install_accelerator to GTK_RUN_LAST so the installation
|
||||
of an accelerator can be prevented by gtk_signal_emit_stop().
|
||||
(gtk_widget_real_destroy): call gtk_accelerator_tables_delete (),
|
||||
so there are no stale pointers in accelerator tables left.
|
||||
|
||||
1998-04-22 Federico Mena Quintero <federico@nuclecu.unam.mx>
|
||||
|
||||
* gtk/gtkbin.c (gtk_bin_remove): Remember whether the widget was
|
||||
visible before we unparent it.
|
||||
|
||||
Wed Apr 22 04:15:26 1998 Tim Janik <timj@gtk.org>
|
||||
|
||||
* gtk/gtkmain.c (gtk_handle_current_timeouts): prepend the
|
||||
running_timeouts list with the tmp_list link itself, not with a new
|
||||
GList structure pointing to our link. that would fill up memory and
|
||||
causes the GList.data fields of the running_timeouts list to point to
|
||||
GList structures and not GtkTimeoutFunction structures which is a
|
||||
*really* bad thing.
|
||||
(gtk_handle_current_idles): likewise (exchange "timout" with "idle" in
|
||||
the above entry ;).
|
||||
|
||||
Sat Apr 18 22:18:12 1998 Tim Janik <timj@gtk.org>
|
||||
|
||||
* gtk/gtkradiomenuitem.h:
|
||||
* gtk/gtkradiomenuitem.c (gtk_radio_menu_item_set_group): new function
|
||||
ala gtk_radio_button_set_group.
|
||||
(gtk_radio_menu_item_init): assure that we always have at least a group
|
||||
that points to self.
|
||||
|
||||
* gtk/gtkradiobutton.c (gtk_radio_button_set_group): few cleanups and
|
||||
added g_return_if_fail() statements.
|
||||
(gtk_radio_button_init): assure that we always have at least a group
|
||||
that points to self.
|
||||
|
||||
Wed Apr 15 05:13:09 1998 Tim Janik <timj@gtk.org>
|
||||
|
||||
* gtk/gtklabel.c (gtk_label_size_request): corrected a brace position
|
||||
(Damon Chaplin), which i got wrong when applying Damon's patch the last
|
||||
time.
|
||||
|
||||
Wed Apr 15 20:42:46 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtkpreview.c (gtk_preview_get_visuals): Make sure
|
||||
that when we are running with a non-installed colormap,
|
||||
in 8-bit pseudo-color, we actually are using the system
|
||||
visual. (Fixes *Bad Match* errors on Digital Unix machines
|
||||
with multiple 8-bit pseudo-color visuals)
|
||||
|
||||
* gdk/Makefile.am: Removed mostly useless dependency that
|
||||
was causing problems for SGI's make, when used with
|
||||
the 'make dist' form of GTK+. (Dependency caused dependencies
|
||||
to be redone when BUILT_SOURCES changed)
|
||||
|
||||
1998-04-14 Miguel de Icaza <miguel@nuclecu.unam.mx>
|
||||
|
||||
* gdk/gdkwindow.c (gdk_window_xid_at): Fix the problem introduced
|
||||
by whoever thought that randomly changing ints to unsigned int
|
||||
without reviewing the code was a good idea. It is, btw not
|
||||
mentioned in the ChangeLog as usual, but I know it was not Elliot
|
||||
the culprit this time.
|
||||
|
||||
Mon Apr 13 19:16:22 PDT 1998 Shawn T. Amundson <amundson@gtk.org>
|
||||
|
||||
* Released GTK+ 1.0.0
|
||||
|
||||
@@ -1,3 +1,340 @@
|
||||
Mon May 4 21:07:36 PDT 1998 Shawn T. Amundson <amundson@gtk.org>
|
||||
|
||||
* Released GTK 1.0.1
|
||||
|
||||
Mon May 4 00:32:20 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtk.defs (GtkContainer): GtkTooltips is an
|
||||
object, not a Boxed, now.
|
||||
|
||||
Sun May 3 20:43:27 PDT 1998 Shawn T. Amundson <amundson@gtk.org>
|
||||
|
||||
* Version number changed to 1.0.1, along with a more automatic
|
||||
changing of version numbers in the Makefile.am files
|
||||
|
||||
Fri May 1 22:32:47 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtkbutton.c (gtk_button_paint): Draw the areas
|
||||
between the default and the button always in GTK_STATE_NORMAL.
|
||||
|
||||
Sun May 3 16:55:43 1998 Tim Janik <timj@gtk.org>
|
||||
|
||||
* gtk/gtkcontainer.c (gtk_container_set_focus_child): new function to
|
||||
set the current focus_child of a container, does proper referencing and
|
||||
adjusts the vadjustment/hadjustment associated with the focus widget.
|
||||
|
||||
* gtk/gtkwidget.c (gtk_widget_grab_focus): set the focused child on
|
||||
containers via gtk_container_set_focus_child.
|
||||
|
||||
* gtk/gtknotebook.c: modifications to use gtk_container_set_focus_child
|
||||
where appropriate.
|
||||
|
||||
* gtk/gtkcontainer.c (gtk_container_remove): removed unsetting of focus
|
||||
child since not every child removal goes through this function (this
|
||||
showed up after gtk_container_set_focus_child() started to reference the
|
||||
focus_child of a container).
|
||||
|
||||
* gtk/gtkwidget.c (gtk_widget_unparent): moved unsetting the focus_child
|
||||
of a container from gtk_container_remove into this place.
|
||||
|
||||
Sun May 3 19:04:46 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtklabel.c (gtk_label_state_changed): Don't
|
||||
force a clear until the widget is actually on
|
||||
screen.
|
||||
|
||||
Sun May 3 17:20:50 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* configure.in acheader.h gdk/gdkwindow.c
|
||||
Check for Shape extension both on the client and server
|
||||
side. (And, more importantly, check for the shape extension
|
||||
so we may include -lXext even when compiling with --disable-xshm)
|
||||
|
||||
* gdk/gdkwindow.c: Set ->colormap to NULL for root
|
||||
and foreign windows. Use this to check if we
|
||||
need to get the colormap from X.
|
||||
|
||||
Sun May 3 14:55:34 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* docs/gtkfaq.sgml (CPPFLAGS): Added a FAQ entry about
|
||||
"glibconfig.h" and another about writing another IRC
|
||||
client.
|
||||
|
||||
Fri May 1 16:40:57 1998 Owen Taylor <otaylor@gtk.org>
|
||||
[ security-audit changes from Alan Cox ]
|
||||
|
||||
* gdk/gdkpixmap.c (gdk_pixmap_colormap_create_from_xpmp[_d]):
|
||||
Fix a buffer overflow on pixmaps that claim to have
|
||||
more than 31 characters per pixel.
|
||||
|
||||
(gdk_pixmap_read_string): Don't wrap around strings longer
|
||||
than half of address space ;-)
|
||||
|
||||
* gtk/gtk[vh]ruler.c gtk/gtkinputdialog.c: Expand some buffers
|
||||
that were used for printing integers.
|
||||
|
||||
* gdk/gxid.c (handle_claim_device): Some extra checks.
|
||||
It isn't safe against being fed bad X id's, but at
|
||||
least it should be safe against deleting all your
|
||||
files.
|
||||
|
||||
Sat May 2 23:14:34 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtkcurve.c (gtk_curve_graph_events): Ignore
|
||||
Configure events that would result in a negative
|
||||
size.
|
||||
|
||||
Sat May 2 00:14:05 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtkpreview.c (gtk_trim_cmap): Make sure the
|
||||
parameters to log are doubles. Digital Unix apparently
|
||||
is missing the argument in its prototype.
|
||||
|
||||
Fri May 1 22:45:55 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_allocate):
|
||||
Always show the scrollbars when the policy is
|
||||
GTK_POLICY_ALWAYS...
|
||||
|
||||
Fri May 1 10:05:44 1998 Tim Janik <timj@gtk.org>
|
||||
|
||||
* gtk/gtklist.c (gtk_list_add): let gtk_list_append_items do the work
|
||||
for us.
|
||||
(gtk_list_clear_items): use gtk_list_unselect_child() for unselection of
|
||||
children.
|
||||
(gtk_list_shutdown): remove all children from the list.
|
||||
(gtk_real_list_unselect_child):
|
||||
(gtk_real_list_select_child): *always* put our internal structures into
|
||||
sane state *before* signal emisions (i.e. list->selection updates prior
|
||||
to gtk_list_item_[de]select() calls).
|
||||
|
||||
Thu Apr 30 23:32:51 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_allocate):
|
||||
Check to catch the case when the viewport fits in either
|
||||
direction or both, instead of flip-flopping infinitely.
|
||||
|
||||
Only show/hide the scrollbars once at the end.
|
||||
|
||||
Thu Apr 30 21:56:07 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtkscrolledwindow.c (gtk_scrolled_window_foreach):
|
||||
Include the scrollbars in the foreach call.
|
||||
(gtk-fortier-980405-0.patch;
|
||||
Patrice Fortier <Patrice.Fortier@aquarel.fr>).
|
||||
|
||||
The notebook widget
|
||||
really should also include its tabs, but that might cause
|
||||
problems for programs if they
|
||||
|
||||
Thu Apr 30 21:51:52 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtkpixmap.c (gtk_pixmap_set): Only request a
|
||||
resize if the size actually changed.
|
||||
(gtk-johannes-980414-0.patch ;
|
||||
johannes@nada.kth.se (Johannes Keukelaar) )
|
||||
|
||||
Thu Apr 30 10:22:59 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* glib/ltmain.sh glib/ltconfig glib/config.sub glib/config.guess:
|
||||
ltmain.sh ltconfig config.sub config.guess:
|
||||
|
||||
Reverted back to libtool-1.2 (plus minor patches) so as not to
|
||||
force the issue for everyone else.
|
||||
|
||||
Thu Apr 30 10:22:59 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* glib/ltmain.sh glib/ltconfig glib/config.sub glib/config.guess:
|
||||
Updated to libtool 1.2a.
|
||||
|
||||
* gtk/gtkclist.c: Draw the in-between lines with style->base
|
||||
instead of style->white.
|
||||
|
||||
Wed Apr 29 15:46:13 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gdk/gdkprivate.h gdk/gdkwindow.c gdk/gdkpixmap.c:
|
||||
Cache the colormap and children of a window locally
|
||||
instead of fetching them from the server when needed.
|
||||
Huge performance difference for creating/destroying
|
||||
windows.
|
||||
|
||||
* gtk/gtkstyle.c: Find the depth from the cached
|
||||
visual, instead of asking the server.
|
||||
|
||||
* gtk.m4: Distribute the new version which tries to
|
||||
figure out what went wrong and give helpful error
|
||||
messages.
|
||||
|
||||
* ltmain.sh ltconfig config.sub config.sh:
|
||||
Updated to libtool 1.2a
|
||||
|
||||
* gtk/gtktext.c: Fixed a bug where the drawn level
|
||||
was being messed up when the text was scrolled
|
||||
during a deletion.
|
||||
|
||||
Thu Apr 30 02:42:11 PDT 1998 Manish Singh <yosh@gimp.org>
|
||||
|
||||
* gtk/gtkfilesel.c: don't die when naughty people remove parts of
|
||||
the filesystem under you (fix from Josh)
|
||||
|
||||
Thu Apr 30 09:49:14 1998 Tim Janik <timj@gtk.org>
|
||||
|
||||
* gtk/gtkscrolledwindow.c (gtk_scrolled_window_foreach): check
|
||||
if the viewport already exists before iterating over it, maybe we
|
||||
haven't been constructed yet.
|
||||
|
||||
Thu Apr 30 01:51:00 1998 Tim Janik <timj@gtk.org>
|
||||
|
||||
* gtk/gtkbin.c (gtk_bin_add): made this function issue a warning if
|
||||
the GtkBin widget already has a child.
|
||||
|
||||
* gtk/gtkbox.c (gtk_box_pack_{start|end}):
|
||||
check that child->parent == NULL;
|
||||
|
||||
Tue Apr 28 22:13:54 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtkselection.c (gtk_selection_clear): Only return
|
||||
FALSE when the clear event is been rejected, not when
|
||||
widget has already lost the selection. (Which should
|
||||
only happen when we are setting the selection to another
|
||||
widget ourself.)
|
||||
|
||||
Fri Apr 24 19:07:32 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtkfixed.c gtk/gtkpaned.c gtk/gtktable.c:
|
||||
|
||||
Removed the "check visibility after gtk_widget_unparent" bug
|
||||
in hopefully the last three places.
|
||||
|
||||
Tue Apr 28 15:46:41 1998 Tim Janik <timj@gtk.org>
|
||||
|
||||
* gtk/gtkrc.c (gtk_rc_parse_statement): allow the inclusion of other
|
||||
rc-files.
|
||||
|
||||
Mon Apr 27 15:11:52 1998 Tim Janik <timj@gtk.org>
|
||||
|
||||
* gtk/gtkwidget.c (gtk_widget_grab_focus): only allow grabbing of focus
|
||||
for CAN_FOCUS widgets.
|
||||
|
||||
* gtk/testgtk.c (create_scrolled_windows): feature h/v focus
|
||||
adjustments for the table.
|
||||
(create_list): feature automatic adjustment of the scrolled window to
|
||||
always contain the focused child.
|
||||
(create_main_window): keep the focussed button always inside of the
|
||||
scrolled windoww.
|
||||
|
||||
* gtk/gtkcontainer.c (gtk_real_container_focus): set the h/v focus
|
||||
adjustments, to contain the allocation of the currently focused child.
|
||||
(gtk_container_set_focus_hadjustment): new functin to set the
|
||||
horizontal focus adjustment.
|
||||
(gtk_container_set_focus_vadjustment): new functin to set the vertical
|
||||
focus adjustment.
|
||||
|
||||
* gtk/gtkadjustment.c (gtk_adjustment_clamp_page): new fucntion to
|
||||
clamp the currents adjustment page into a specific range.
|
||||
|
||||
* random GtkType fixups for gtk_*_get_type() functions.
|
||||
|
||||
Fri Apr 24 18:37:16 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtktreeitem.c (gtk_tree_item_remove_subtree):
|
||||
Account for the fact that gtk_tree_item_remove_subtree
|
||||
will be called recursively.
|
||||
|
||||
Handle removing a collapsed subtree.
|
||||
|
||||
(From Andy Dustman <adustman@comstar.net>)
|
||||
|
||||
* gtk/gtktree.c (gtk_tree_remove_items): Look for the
|
||||
root tree when removing items from a non-previously
|
||||
mapped tree.
|
||||
|
||||
* gtk/testgtk.c: Added a remove_subtree button.
|
||||
|
||||
Thu Apr 23 23:44:17 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtkobject.c (gtk_object_finalize): Notify all weak references
|
||||
before object removing data. This change fixes a bug where
|
||||
removing the last weak references would cause it to be
|
||||
triggered.
|
||||
|
||||
Fri Apr 24 01:29:04 1998 Tim Janik <timj@gtk.org>
|
||||
|
||||
* gtk/gtkaccelerator.h (struct _GtkAcceleratorTable): changed ref_count
|
||||
field to be of type guint.
|
||||
* gtk/gtkaccelerator.c (gtk_accelerator_table_unref): added check for
|
||||
ref_count>0;
|
||||
(gtk_accelerator_table_install): keep a per object list of accelerator
|
||||
tables that refer to this object.
|
||||
(gtk_accelerator_table_remove): remove the accelerator table from the
|
||||
per object list.
|
||||
(gtk_accelerator_table_clean): warn if there are any object references
|
||||
left in an accelerator table upon destruction.
|
||||
(gtk_accelerator_tables_delete): new function to delete object
|
||||
references from the accelerator tables associated with this object.
|
||||
|
||||
* gtk/gtkwidget.c (gtk_widget_class_init): changed emission of
|
||||
GtkWidget::install_accelerator to GTK_RUN_LAST so the installation
|
||||
of an accelerator can be prevented by gtk_signal_emit_stop().
|
||||
(gtk_widget_real_destroy): call gtk_accelerator_tables_delete (),
|
||||
so there are no stale pointers in accelerator tables left.
|
||||
|
||||
1998-04-22 Federico Mena Quintero <federico@nuclecu.unam.mx>
|
||||
|
||||
* gtk/gtkbin.c (gtk_bin_remove): Remember whether the widget was
|
||||
visible before we unparent it.
|
||||
|
||||
Wed Apr 22 04:15:26 1998 Tim Janik <timj@gtk.org>
|
||||
|
||||
* gtk/gtkmain.c (gtk_handle_current_timeouts): prepend the
|
||||
running_timeouts list with the tmp_list link itself, not with a new
|
||||
GList structure pointing to our link. that would fill up memory and
|
||||
causes the GList.data fields of the running_timeouts list to point to
|
||||
GList structures and not GtkTimeoutFunction structures which is a
|
||||
*really* bad thing.
|
||||
(gtk_handle_current_idles): likewise (exchange "timout" with "idle" in
|
||||
the above entry ;).
|
||||
|
||||
Sat Apr 18 22:18:12 1998 Tim Janik <timj@gtk.org>
|
||||
|
||||
* gtk/gtkradiomenuitem.h:
|
||||
* gtk/gtkradiomenuitem.c (gtk_radio_menu_item_set_group): new function
|
||||
ala gtk_radio_button_set_group.
|
||||
(gtk_radio_menu_item_init): assure that we always have at least a group
|
||||
that points to self.
|
||||
|
||||
* gtk/gtkradiobutton.c (gtk_radio_button_set_group): few cleanups and
|
||||
added g_return_if_fail() statements.
|
||||
(gtk_radio_button_init): assure that we always have at least a group
|
||||
that points to self.
|
||||
|
||||
Wed Apr 15 05:13:09 1998 Tim Janik <timj@gtk.org>
|
||||
|
||||
* gtk/gtklabel.c (gtk_label_size_request): corrected a brace position
|
||||
(Damon Chaplin), which i got wrong when applying Damon's patch the last
|
||||
time.
|
||||
|
||||
Wed Apr 15 20:42:46 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtkpreview.c (gtk_preview_get_visuals): Make sure
|
||||
that when we are running with a non-installed colormap,
|
||||
in 8-bit pseudo-color, we actually are using the system
|
||||
visual. (Fixes *Bad Match* errors on Digital Unix machines
|
||||
with multiple 8-bit pseudo-color visuals)
|
||||
|
||||
* gdk/Makefile.am: Removed mostly useless dependency that
|
||||
was causing problems for SGI's make, when used with
|
||||
the 'make dist' form of GTK+. (Dependency caused dependencies
|
||||
to be redone when BUILT_SOURCES changed)
|
||||
|
||||
1998-04-14 Miguel de Icaza <miguel@nuclecu.unam.mx>
|
||||
|
||||
* gdk/gdkwindow.c (gdk_window_xid_at): Fix the problem introduced
|
||||
by whoever thought that randomly changing ints to unsigned int
|
||||
without reviewing the code was a good idea. It is, btw not
|
||||
mentioned in the ChangeLog as usual, but I know it was not Elliot
|
||||
the culprit this time.
|
||||
|
||||
Mon Apr 13 19:16:22 PDT 1998 Shawn T. Amundson <amundson@gtk.org>
|
||||
|
||||
* Released GTK+ 1.0.0
|
||||
|
||||
@@ -1,3 +1,340 @@
|
||||
Mon May 4 21:07:36 PDT 1998 Shawn T. Amundson <amundson@gtk.org>
|
||||
|
||||
* Released GTK 1.0.1
|
||||
|
||||
Mon May 4 00:32:20 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtk.defs (GtkContainer): GtkTooltips is an
|
||||
object, not a Boxed, now.
|
||||
|
||||
Sun May 3 20:43:27 PDT 1998 Shawn T. Amundson <amundson@gtk.org>
|
||||
|
||||
* Version number changed to 1.0.1, along with a more automatic
|
||||
changing of version numbers in the Makefile.am files
|
||||
|
||||
Fri May 1 22:32:47 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtkbutton.c (gtk_button_paint): Draw the areas
|
||||
between the default and the button always in GTK_STATE_NORMAL.
|
||||
|
||||
Sun May 3 16:55:43 1998 Tim Janik <timj@gtk.org>
|
||||
|
||||
* gtk/gtkcontainer.c (gtk_container_set_focus_child): new function to
|
||||
set the current focus_child of a container, does proper referencing and
|
||||
adjusts the vadjustment/hadjustment associated with the focus widget.
|
||||
|
||||
* gtk/gtkwidget.c (gtk_widget_grab_focus): set the focused child on
|
||||
containers via gtk_container_set_focus_child.
|
||||
|
||||
* gtk/gtknotebook.c: modifications to use gtk_container_set_focus_child
|
||||
where appropriate.
|
||||
|
||||
* gtk/gtkcontainer.c (gtk_container_remove): removed unsetting of focus
|
||||
child since not every child removal goes through this function (this
|
||||
showed up after gtk_container_set_focus_child() started to reference the
|
||||
focus_child of a container).
|
||||
|
||||
* gtk/gtkwidget.c (gtk_widget_unparent): moved unsetting the focus_child
|
||||
of a container from gtk_container_remove into this place.
|
||||
|
||||
Sun May 3 19:04:46 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtklabel.c (gtk_label_state_changed): Don't
|
||||
force a clear until the widget is actually on
|
||||
screen.
|
||||
|
||||
Sun May 3 17:20:50 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* configure.in acheader.h gdk/gdkwindow.c
|
||||
Check for Shape extension both on the client and server
|
||||
side. (And, more importantly, check for the shape extension
|
||||
so we may include -lXext even when compiling with --disable-xshm)
|
||||
|
||||
* gdk/gdkwindow.c: Set ->colormap to NULL for root
|
||||
and foreign windows. Use this to check if we
|
||||
need to get the colormap from X.
|
||||
|
||||
Sun May 3 14:55:34 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* docs/gtkfaq.sgml (CPPFLAGS): Added a FAQ entry about
|
||||
"glibconfig.h" and another about writing another IRC
|
||||
client.
|
||||
|
||||
Fri May 1 16:40:57 1998 Owen Taylor <otaylor@gtk.org>
|
||||
[ security-audit changes from Alan Cox ]
|
||||
|
||||
* gdk/gdkpixmap.c (gdk_pixmap_colormap_create_from_xpmp[_d]):
|
||||
Fix a buffer overflow on pixmaps that claim to have
|
||||
more than 31 characters per pixel.
|
||||
|
||||
(gdk_pixmap_read_string): Don't wrap around strings longer
|
||||
than half of address space ;-)
|
||||
|
||||
* gtk/gtk[vh]ruler.c gtk/gtkinputdialog.c: Expand some buffers
|
||||
that were used for printing integers.
|
||||
|
||||
* gdk/gxid.c (handle_claim_device): Some extra checks.
|
||||
It isn't safe against being fed bad X id's, but at
|
||||
least it should be safe against deleting all your
|
||||
files.
|
||||
|
||||
Sat May 2 23:14:34 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtkcurve.c (gtk_curve_graph_events): Ignore
|
||||
Configure events that would result in a negative
|
||||
size.
|
||||
|
||||
Sat May 2 00:14:05 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtkpreview.c (gtk_trim_cmap): Make sure the
|
||||
parameters to log are doubles. Digital Unix apparently
|
||||
is missing the argument in its prototype.
|
||||
|
||||
Fri May 1 22:45:55 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_allocate):
|
||||
Always show the scrollbars when the policy is
|
||||
GTK_POLICY_ALWAYS...
|
||||
|
||||
Fri May 1 10:05:44 1998 Tim Janik <timj@gtk.org>
|
||||
|
||||
* gtk/gtklist.c (gtk_list_add): let gtk_list_append_items do the work
|
||||
for us.
|
||||
(gtk_list_clear_items): use gtk_list_unselect_child() for unselection of
|
||||
children.
|
||||
(gtk_list_shutdown): remove all children from the list.
|
||||
(gtk_real_list_unselect_child):
|
||||
(gtk_real_list_select_child): *always* put our internal structures into
|
||||
sane state *before* signal emisions (i.e. list->selection updates prior
|
||||
to gtk_list_item_[de]select() calls).
|
||||
|
||||
Thu Apr 30 23:32:51 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_allocate):
|
||||
Check to catch the case when the viewport fits in either
|
||||
direction or both, instead of flip-flopping infinitely.
|
||||
|
||||
Only show/hide the scrollbars once at the end.
|
||||
|
||||
Thu Apr 30 21:56:07 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtkscrolledwindow.c (gtk_scrolled_window_foreach):
|
||||
Include the scrollbars in the foreach call.
|
||||
(gtk-fortier-980405-0.patch;
|
||||
Patrice Fortier <Patrice.Fortier@aquarel.fr>).
|
||||
|
||||
The notebook widget
|
||||
really should also include its tabs, but that might cause
|
||||
problems for programs if they
|
||||
|
||||
Thu Apr 30 21:51:52 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtkpixmap.c (gtk_pixmap_set): Only request a
|
||||
resize if the size actually changed.
|
||||
(gtk-johannes-980414-0.patch ;
|
||||
johannes@nada.kth.se (Johannes Keukelaar) )
|
||||
|
||||
Thu Apr 30 10:22:59 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* glib/ltmain.sh glib/ltconfig glib/config.sub glib/config.guess:
|
||||
ltmain.sh ltconfig config.sub config.guess:
|
||||
|
||||
Reverted back to libtool-1.2 (plus minor patches) so as not to
|
||||
force the issue for everyone else.
|
||||
|
||||
Thu Apr 30 10:22:59 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* glib/ltmain.sh glib/ltconfig glib/config.sub glib/config.guess:
|
||||
Updated to libtool 1.2a.
|
||||
|
||||
* gtk/gtkclist.c: Draw the in-between lines with style->base
|
||||
instead of style->white.
|
||||
|
||||
Wed Apr 29 15:46:13 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gdk/gdkprivate.h gdk/gdkwindow.c gdk/gdkpixmap.c:
|
||||
Cache the colormap and children of a window locally
|
||||
instead of fetching them from the server when needed.
|
||||
Huge performance difference for creating/destroying
|
||||
windows.
|
||||
|
||||
* gtk/gtkstyle.c: Find the depth from the cached
|
||||
visual, instead of asking the server.
|
||||
|
||||
* gtk.m4: Distribute the new version which tries to
|
||||
figure out what went wrong and give helpful error
|
||||
messages.
|
||||
|
||||
* ltmain.sh ltconfig config.sub config.sh:
|
||||
Updated to libtool 1.2a
|
||||
|
||||
* gtk/gtktext.c: Fixed a bug where the drawn level
|
||||
was being messed up when the text was scrolled
|
||||
during a deletion.
|
||||
|
||||
Thu Apr 30 02:42:11 PDT 1998 Manish Singh <yosh@gimp.org>
|
||||
|
||||
* gtk/gtkfilesel.c: don't die when naughty people remove parts of
|
||||
the filesystem under you (fix from Josh)
|
||||
|
||||
Thu Apr 30 09:49:14 1998 Tim Janik <timj@gtk.org>
|
||||
|
||||
* gtk/gtkscrolledwindow.c (gtk_scrolled_window_foreach): check
|
||||
if the viewport already exists before iterating over it, maybe we
|
||||
haven't been constructed yet.
|
||||
|
||||
Thu Apr 30 01:51:00 1998 Tim Janik <timj@gtk.org>
|
||||
|
||||
* gtk/gtkbin.c (gtk_bin_add): made this function issue a warning if
|
||||
the GtkBin widget already has a child.
|
||||
|
||||
* gtk/gtkbox.c (gtk_box_pack_{start|end}):
|
||||
check that child->parent == NULL;
|
||||
|
||||
Tue Apr 28 22:13:54 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtkselection.c (gtk_selection_clear): Only return
|
||||
FALSE when the clear event is been rejected, not when
|
||||
widget has already lost the selection. (Which should
|
||||
only happen when we are setting the selection to another
|
||||
widget ourself.)
|
||||
|
||||
Fri Apr 24 19:07:32 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtkfixed.c gtk/gtkpaned.c gtk/gtktable.c:
|
||||
|
||||
Removed the "check visibility after gtk_widget_unparent" bug
|
||||
in hopefully the last three places.
|
||||
|
||||
Tue Apr 28 15:46:41 1998 Tim Janik <timj@gtk.org>
|
||||
|
||||
* gtk/gtkrc.c (gtk_rc_parse_statement): allow the inclusion of other
|
||||
rc-files.
|
||||
|
||||
Mon Apr 27 15:11:52 1998 Tim Janik <timj@gtk.org>
|
||||
|
||||
* gtk/gtkwidget.c (gtk_widget_grab_focus): only allow grabbing of focus
|
||||
for CAN_FOCUS widgets.
|
||||
|
||||
* gtk/testgtk.c (create_scrolled_windows): feature h/v focus
|
||||
adjustments for the table.
|
||||
(create_list): feature automatic adjustment of the scrolled window to
|
||||
always contain the focused child.
|
||||
(create_main_window): keep the focussed button always inside of the
|
||||
scrolled windoww.
|
||||
|
||||
* gtk/gtkcontainer.c (gtk_real_container_focus): set the h/v focus
|
||||
adjustments, to contain the allocation of the currently focused child.
|
||||
(gtk_container_set_focus_hadjustment): new functin to set the
|
||||
horizontal focus adjustment.
|
||||
(gtk_container_set_focus_vadjustment): new functin to set the vertical
|
||||
focus adjustment.
|
||||
|
||||
* gtk/gtkadjustment.c (gtk_adjustment_clamp_page): new fucntion to
|
||||
clamp the currents adjustment page into a specific range.
|
||||
|
||||
* random GtkType fixups for gtk_*_get_type() functions.
|
||||
|
||||
Fri Apr 24 18:37:16 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtktreeitem.c (gtk_tree_item_remove_subtree):
|
||||
Account for the fact that gtk_tree_item_remove_subtree
|
||||
will be called recursively.
|
||||
|
||||
Handle removing a collapsed subtree.
|
||||
|
||||
(From Andy Dustman <adustman@comstar.net>)
|
||||
|
||||
* gtk/gtktree.c (gtk_tree_remove_items): Look for the
|
||||
root tree when removing items from a non-previously
|
||||
mapped tree.
|
||||
|
||||
* gtk/testgtk.c: Added a remove_subtree button.
|
||||
|
||||
Thu Apr 23 23:44:17 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtkobject.c (gtk_object_finalize): Notify all weak references
|
||||
before object removing data. This change fixes a bug where
|
||||
removing the last weak references would cause it to be
|
||||
triggered.
|
||||
|
||||
Fri Apr 24 01:29:04 1998 Tim Janik <timj@gtk.org>
|
||||
|
||||
* gtk/gtkaccelerator.h (struct _GtkAcceleratorTable): changed ref_count
|
||||
field to be of type guint.
|
||||
* gtk/gtkaccelerator.c (gtk_accelerator_table_unref): added check for
|
||||
ref_count>0;
|
||||
(gtk_accelerator_table_install): keep a per object list of accelerator
|
||||
tables that refer to this object.
|
||||
(gtk_accelerator_table_remove): remove the accelerator table from the
|
||||
per object list.
|
||||
(gtk_accelerator_table_clean): warn if there are any object references
|
||||
left in an accelerator table upon destruction.
|
||||
(gtk_accelerator_tables_delete): new function to delete object
|
||||
references from the accelerator tables associated with this object.
|
||||
|
||||
* gtk/gtkwidget.c (gtk_widget_class_init): changed emission of
|
||||
GtkWidget::install_accelerator to GTK_RUN_LAST so the installation
|
||||
of an accelerator can be prevented by gtk_signal_emit_stop().
|
||||
(gtk_widget_real_destroy): call gtk_accelerator_tables_delete (),
|
||||
so there are no stale pointers in accelerator tables left.
|
||||
|
||||
1998-04-22 Federico Mena Quintero <federico@nuclecu.unam.mx>
|
||||
|
||||
* gtk/gtkbin.c (gtk_bin_remove): Remember whether the widget was
|
||||
visible before we unparent it.
|
||||
|
||||
Wed Apr 22 04:15:26 1998 Tim Janik <timj@gtk.org>
|
||||
|
||||
* gtk/gtkmain.c (gtk_handle_current_timeouts): prepend the
|
||||
running_timeouts list with the tmp_list link itself, not with a new
|
||||
GList structure pointing to our link. that would fill up memory and
|
||||
causes the GList.data fields of the running_timeouts list to point to
|
||||
GList structures and not GtkTimeoutFunction structures which is a
|
||||
*really* bad thing.
|
||||
(gtk_handle_current_idles): likewise (exchange "timout" with "idle" in
|
||||
the above entry ;).
|
||||
|
||||
Sat Apr 18 22:18:12 1998 Tim Janik <timj@gtk.org>
|
||||
|
||||
* gtk/gtkradiomenuitem.h:
|
||||
* gtk/gtkradiomenuitem.c (gtk_radio_menu_item_set_group): new function
|
||||
ala gtk_radio_button_set_group.
|
||||
(gtk_radio_menu_item_init): assure that we always have at least a group
|
||||
that points to self.
|
||||
|
||||
* gtk/gtkradiobutton.c (gtk_radio_button_set_group): few cleanups and
|
||||
added g_return_if_fail() statements.
|
||||
(gtk_radio_button_init): assure that we always have at least a group
|
||||
that points to self.
|
||||
|
||||
Wed Apr 15 05:13:09 1998 Tim Janik <timj@gtk.org>
|
||||
|
||||
* gtk/gtklabel.c (gtk_label_size_request): corrected a brace position
|
||||
(Damon Chaplin), which i got wrong when applying Damon's patch the last
|
||||
time.
|
||||
|
||||
Wed Apr 15 20:42:46 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gtk/gtkpreview.c (gtk_preview_get_visuals): Make sure
|
||||
that when we are running with a non-installed colormap,
|
||||
in 8-bit pseudo-color, we actually are using the system
|
||||
visual. (Fixes *Bad Match* errors on Digital Unix machines
|
||||
with multiple 8-bit pseudo-color visuals)
|
||||
|
||||
* gdk/Makefile.am: Removed mostly useless dependency that
|
||||
was causing problems for SGI's make, when used with
|
||||
the 'make dist' form of GTK+. (Dependency caused dependencies
|
||||
to be redone when BUILT_SOURCES changed)
|
||||
|
||||
1998-04-14 Miguel de Icaza <miguel@nuclecu.unam.mx>
|
||||
|
||||
* gdk/gdkwindow.c (gdk_window_xid_at): Fix the problem introduced
|
||||
by whoever thought that randomly changing ints to unsigned int
|
||||
without reviewing the code was a good idea. It is, btw not
|
||||
mentioned in the ChangeLog as usual, but I know it was not Elliot
|
||||
the culprit this time.
|
||||
|
||||
Mon Apr 13 19:16:22 PDT 1998 Shawn T. Amundson <amundson@gtk.org>
|
||||
|
||||
* Released GTK+ 1.0.0
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
Simple install procedure
|
||||
========================
|
||||
|
||||
% gzip -cd gtk+-1.0.0.tar.gz | tar xvf - # unpack the sources
|
||||
% cd gtk+-1.0.0 # change to the toplevel directory
|
||||
% gzip -cd gtk+-1.0.1.tar.gz | tar xvf - # unpack the sources
|
||||
% cd gtk+-1.0.1 # change to the toplevel directory
|
||||
% ./configure # run the `configure' script
|
||||
% make # build GTK
|
||||
[ Become root if necessary ]
|
||||
|
||||
+1
-1
@@ -6,7 +6,7 @@ SUBDIRS = $(SRC_SUBDIRS) docs
|
||||
bin_SCRIPTS = gtk-config
|
||||
|
||||
EXTRA_DIST = \
|
||||
gtk+.prj \
|
||||
gtk+.spec \
|
||||
gtk.m4 \
|
||||
makecopyright \
|
||||
TODO \
|
||||
|
||||
-353
@@ -1,353 +0,0 @@
|
||||
# Makefile.in generated automatically by automake 1.2c from Makefile.am
|
||||
|
||||
# Copyright (C) 1994, 1995, 1996, 1997 Free Software Foundation, Inc.
|
||||
# This Makefile.in is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
# PARTICULAR PURPOSE.
|
||||
|
||||
|
||||
SHELL = /bin/sh
|
||||
|
||||
srcdir = @srcdir@
|
||||
top_srcdir = @top_srcdir@
|
||||
VPATH = @srcdir@
|
||||
prefix = @prefix@
|
||||
exec_prefix = @exec_prefix@
|
||||
|
||||
bindir = @bindir@
|
||||
sbindir = @sbindir@
|
||||
libexecdir = @libexecdir@
|
||||
datadir = @datadir@
|
||||
sysconfdir = @sysconfdir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
localstatedir = @localstatedir@
|
||||
libdir = @libdir@
|
||||
infodir = @infodir@
|
||||
mandir = @mandir@
|
||||
includedir = @includedir@
|
||||
oldincludedir = /usr/include
|
||||
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
|
||||
top_builddir = .
|
||||
|
||||
ACLOCAL = @ACLOCAL@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
transform = @program_transform_name@
|
||||
|
||||
NORMAL_INSTALL = true
|
||||
PRE_INSTALL = true
|
||||
POST_INSTALL = true
|
||||
NORMAL_UNINSTALL = true
|
||||
PRE_UNINSTALL = true
|
||||
POST_UNINSTALL = true
|
||||
host_alias = @host_alias@
|
||||
host_triplet = @host@
|
||||
CC = @CC@
|
||||
CPP = @CPP@
|
||||
LD = @LD@
|
||||
LIBTOOL = @LIBTOOL@
|
||||
LN_S = @LN_S@
|
||||
MAINT = @MAINT@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
NM = @NM@
|
||||
PACKAGE = @PACKAGE@
|
||||
RANLIB = @RANLIB@
|
||||
VERSION = @VERSION@
|
||||
x_cflags = @x_cflags@
|
||||
x_includes = @x_includes@
|
||||
x_ldflags = @x_ldflags@
|
||||
x_libs = @x_libs@
|
||||
xinput_progs = @xinput_progs@
|
||||
|
||||
SRC_SUBDIRS = glib gdk gtk
|
||||
SUBDIRS = $(SRC_SUBDIRS) docs
|
||||
|
||||
EXTRA_DIST = gtk+.prj makecopyright TODO REFCOUNTING BUGS
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
|
||||
CONFIG_HEADER = config.h
|
||||
CONFIG_CLEAN_FILES = gtk+.xconfig
|
||||
DIST_COMMON = README AUTHORS COPYING ChangeLog INSTALL Makefile.am \
|
||||
Makefile.in NEWS TODO acconfig.h aclocal.m4 config.guess config.h.in \
|
||||
config.sub configure configure.in gtk+.xconfig.in install-sh ltconfig \
|
||||
ltmain.sh missing mkinstalldirs stamp-h.in
|
||||
|
||||
|
||||
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
||||
|
||||
TAR = tar
|
||||
GZIP = --best
|
||||
default: all
|
||||
|
||||
.SUFFIXES:
|
||||
$(srcdir)/Makefile.in: @MAINT@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
|
||||
cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile
|
||||
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES)
|
||||
cd $(top_builddir) \
|
||||
&& CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
|
||||
|
||||
$(ACLOCAL_M4): @MAINT@ configure.in
|
||||
cd $(srcdir) && $(ACLOCAL)
|
||||
|
||||
config.status: $(srcdir)/configure
|
||||
$(SHELL) ./config.status --recheck
|
||||
$(srcdir)/configure: @MAINT@$(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
|
||||
cd $(srcdir) && $(AUTOCONF)
|
||||
|
||||
config.h: stamp-h
|
||||
@:
|
||||
stamp-h: $(srcdir)/config.h.in $(top_builddir)/config.status
|
||||
cd $(top_builddir) \
|
||||
&& CONFIG_FILES= CONFIG_HEADERS=config.h \
|
||||
$(SHELL) ./config.status
|
||||
@echo timestamp > stamp-h
|
||||
$(srcdir)/config.h.in: @MAINT@$(srcdir)/stamp-h.in
|
||||
$(srcdir)/stamp-h.in: $(top_srcdir)/configure.in $(ACLOCAL_M4) acconfig.h
|
||||
cd $(top_srcdir) && $(AUTOHEADER)
|
||||
@echo timestamp > $(srcdir)/stamp-h.in
|
||||
|
||||
mostlyclean-hdr:
|
||||
|
||||
clean-hdr:
|
||||
|
||||
distclean-hdr:
|
||||
-rm -f config.h
|
||||
|
||||
maintainer-clean-hdr:
|
||||
gtk+.xconfig: $(top_builddir)/config.status gtk+.xconfig.in
|
||||
cd $(top_builddir) && CONFIG_FILES=$@ CONFIG_HEADERS= ./config.status
|
||||
|
||||
# This directory's subdirectories are mostly independent; you can cd
|
||||
# into them and run `make' without going through this Makefile.
|
||||
# To change the values of `make' variables: instead of editing Makefiles,
|
||||
# (1) if the variable is set in `config.status', edit `config.status'
|
||||
# (which will cause the Makefiles to be regenerated when you run `make');
|
||||
# (2) otherwise, pass the desired values on the `make' command line.
|
||||
|
||||
@SET_MAKE@
|
||||
|
||||
all-recursive install-data-recursive install-exec-recursive \
|
||||
installdirs-recursive install-recursive uninstall-recursive \
|
||||
check-recursive installcheck-recursive info-recursive dvi-recursive:
|
||||
@set fnord $(MAKEFLAGS); amf=$$2; \
|
||||
for subdir in $(SUBDIRS); do \
|
||||
target=`echo $@ | sed s/-recursive//`; \
|
||||
echo "Making $$target in $$subdir"; \
|
||||
(cd $$subdir && $(MAKE) $$target) \
|
||||
|| case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
|
||||
done && test -z "$$fail"
|
||||
|
||||
mostlyclean-recursive clean-recursive distclean-recursive \
|
||||
maintainer-clean-recursive:
|
||||
@set fnord $(MAKEFLAGS); amf=$$2; \
|
||||
rev=''; for subdir in $(SUBDIRS); do rev="$$subdir $$rev"; done; \
|
||||
for subdir in $$rev; do \
|
||||
target=`echo $@ | sed s/-recursive//`; \
|
||||
echo "Making $$target in $$subdir"; \
|
||||
(cd $$subdir && $(MAKE) $$target) \
|
||||
|| case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
|
||||
done && test -z "$$fail"
|
||||
tags-recursive:
|
||||
list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||
(cd $$subdir && $(MAKE) tags); \
|
||||
done
|
||||
|
||||
tags: TAGS
|
||||
|
||||
ID: $(HEADERS) $(SOURCES)
|
||||
here=`pwd` && cd $(srcdir) && mkid -f$$here/ID $(SOURCES) $(HEADERS)
|
||||
|
||||
TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES)
|
||||
tags=; \
|
||||
here=`pwd`; \
|
||||
list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||
test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
|
||||
done; \
|
||||
test -z "$(ETAGS_ARGS)config.h.in$(SOURCES)$(HEADERS)$$tags" \
|
||||
|| (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags config.h.in $(SOURCES) $(HEADERS) -o $$here/TAGS)
|
||||
|
||||
mostlyclean-tags:
|
||||
|
||||
clean-tags:
|
||||
|
||||
distclean-tags:
|
||||
-rm -f TAGS ID
|
||||
|
||||
maintainer-clean-tags:
|
||||
|
||||
distdir = $(PACKAGE)-$(VERSION)
|
||||
top_distdir = $(distdir)
|
||||
|
||||
# This target untars the dist file and tries a VPATH configuration. Then
|
||||
# it guarantees that the distribution is self-contained by making another
|
||||
# tarfile.
|
||||
distcheck: dist
|
||||
-rm -rf $(distdir)
|
||||
GZIP=$(GZIP) $(TAR) zxf $(distdir).tar.gz
|
||||
mkdir $(distdir)/=build
|
||||
mkdir $(distdir)/=inst
|
||||
dc_install_base=`cd $(distdir)/=inst && pwd`; \
|
||||
cd $(distdir)/=build \
|
||||
&& ../configure --srcdir=.. --prefix=$$dc_install_base \
|
||||
&& $(MAKE) \
|
||||
&& $(MAKE) dvi \
|
||||
&& $(MAKE) check \
|
||||
&& $(MAKE) install \
|
||||
&& $(MAKE) installcheck \
|
||||
&& $(MAKE) dist
|
||||
-rm -rf $(distdir)
|
||||
@echo "========================"; \
|
||||
echo "$(distdir).tar.gz is ready for distribution"; \
|
||||
echo "========================"
|
||||
dist: distdir
|
||||
-chmod -R a+r $(distdir)
|
||||
GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
|
||||
-rm -rf $(distdir)
|
||||
dist-all: distdir
|
||||
-chmod -R a+r $(distdir)
|
||||
GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
|
||||
-rm -rf $(distdir)
|
||||
distdir: $(DISTFILES)
|
||||
-rm -rf $(distdir)
|
||||
mkdir $(distdir)
|
||||
-chmod 777 $(distdir)
|
||||
here=`cd $(top_builddir) && pwd`; \
|
||||
top_distdir=`cd $(distdir) && pwd`; \
|
||||
distdir=`cd $(distdir) && pwd`; \
|
||||
cd $(top_srcdir) \
|
||||
&& $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu Makefile
|
||||
@for file in $(DISTFILES); do \
|
||||
d=$(srcdir); \
|
||||
test -f $(distdir)/$$file \
|
||||
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|
||||
|| cp -p $$d/$$file $(distdir)/$$file; \
|
||||
done
|
||||
for subdir in $(SUBDIRS); do \
|
||||
test -d $(distdir)/$$subdir \
|
||||
|| mkdir $(distdir)/$$subdir \
|
||||
|| exit 1; \
|
||||
chmod 777 $(distdir)/$$subdir; \
|
||||
(cd $$subdir && $(MAKE) top_distdir=../$(distdir) distdir=../$(distdir)/$$subdir distdir) \
|
||||
|| exit 1; \
|
||||
done
|
||||
info: info-recursive
|
||||
dvi: dvi-recursive
|
||||
check: all-am
|
||||
$(MAKE) check-recursive
|
||||
installcheck: installcheck-recursive
|
||||
all-recursive-am: config.h
|
||||
$(MAKE) all-recursive
|
||||
|
||||
all-am: Makefile config.h
|
||||
|
||||
install-exec: install-exec-recursive
|
||||
@$(NORMAL_INSTALL)
|
||||
|
||||
install-data: install-data-recursive
|
||||
@$(NORMAL_INSTALL)
|
||||
|
||||
install: install-recursive
|
||||
@:
|
||||
|
||||
uninstall: uninstall-recursive
|
||||
|
||||
all: all-recursive-am all-am
|
||||
|
||||
install-strip:
|
||||
$(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
|
||||
installdirs: installdirs-recursive
|
||||
|
||||
|
||||
mostlyclean-generic:
|
||||
-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
|
||||
|
||||
clean-generic:
|
||||
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
|
||||
|
||||
distclean-generic:
|
||||
-rm -f Makefile $(DISTCLEANFILES)
|
||||
-rm -f config.cache config.log stamp-h stamp-h[0-9]*
|
||||
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
|
||||
|
||||
maintainer-clean-generic:
|
||||
-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
|
||||
-test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
|
||||
mostlyclean-am: mostlyclean-hdr mostlyclean-tags mostlyclean-generic
|
||||
|
||||
clean-am: clean-hdr clean-tags clean-generic mostlyclean-am
|
||||
|
||||
distclean-am: distclean-hdr distclean-tags distclean-generic clean-am
|
||||
|
||||
maintainer-clean-am: maintainer-clean-hdr maintainer-clean-tags \
|
||||
maintainer-clean-generic distclean-am
|
||||
|
||||
mostlyclean: mostlyclean-recursive mostlyclean-am
|
||||
|
||||
clean: clean-recursive clean-am
|
||||
|
||||
distclean: distclean-recursive distclean-am
|
||||
-rm -f config.status
|
||||
-rm -f libtool
|
||||
|
||||
maintainer-clean: maintainer-clean-recursive maintainer-clean-am
|
||||
@echo "This command is intended for maintainers to use;"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
-rm -f config.status
|
||||
|
||||
.PHONY: default mostlyclean-hdr distclean-hdr clean-hdr \
|
||||
maintainer-clean-hdr install-data-recursive uninstall-data-recursive \
|
||||
install-exec-recursive uninstall-exec-recursive installdirs-recursive \
|
||||
uninstalldirs-recursive all-recursive check-recursive \
|
||||
installcheck-recursive info-recursive dvi-recursive \
|
||||
mostlyclean-recursive distclean-recursive clean-recursive \
|
||||
maintainer-clean-recursive tags tags-recursive mostlyclean-tags \
|
||||
distclean-tags clean-tags maintainer-clean-tags distdir info dvi \
|
||||
installcheck all-recursive-am all-am install-exec install-data install \
|
||||
uninstall all installdirs mostlyclean-generic distclean-generic \
|
||||
clean-generic maintainer-clean-generic clean mostlyclean distclean \
|
||||
maintainer-clean
|
||||
|
||||
|
||||
.PHONY: files populate checkin release
|
||||
|
||||
files:
|
||||
@files=`ls $(DISTFILES) 2> /dev/null `; for p in $$files; do \
|
||||
echo $$p; \
|
||||
done
|
||||
@for subdir in $(SUBDIRS); do \
|
||||
files=`cd $$subdir; $(MAKE) files | grep -v "make\[[1-9]\]"`; \
|
||||
for file in $$files; do \
|
||||
echo $$subdir/$$file; \
|
||||
done; \
|
||||
done
|
||||
|
||||
populate:
|
||||
@echo "populating project"
|
||||
@files=`$(MAKE) files | grep -v "make\[[1-9]\]"`; prcs populate -d gtk+.prj $$files
|
||||
|
||||
checkin: populate
|
||||
@echo "checking in project"
|
||||
@prcs checkin
|
||||
|
||||
release:
|
||||
$(MAKE) dist distdir=$(PACKAGE)`date +"%y%m%d"`
|
||||
|
||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
.NOEXPORT:
|
||||
@@ -1,3 +1,9 @@
|
||||
Overview of Changes in GTK+ 1.0.1:
|
||||
|
||||
* Significant speedups to widget creation and destruction
|
||||
* Upgrade to libtool-1.2
|
||||
* Lots of bug fixes, including one that fixed a major memory leak
|
||||
in 1.0.0.
|
||||
|
||||
Overview of Changes in GTK+ 1.0.0:
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
General Information
|
||||
===================
|
||||
|
||||
This is GTK+ version 1.0.0. GTK+, which stands for the Gimp ToolKit,
|
||||
This is GTK+ version 1.0.1. GTK+, which stands for the Gimp ToolKit,
|
||||
is a library for creating graphical user interfaces for the X Window
|
||||
System. It is designed to be small, efficient, and flexible. GTK+ is
|
||||
written in C with a very object-oriented approach.
|
||||
|
||||
+1
-1
@@ -17,8 +17,8 @@
|
||||
/* Other stuff */
|
||||
#undef HAVE_IPC_H
|
||||
#undef HAVE_SHM_H
|
||||
#undef HAVE_XPM
|
||||
#undef HAVE_XSHM_H
|
||||
#undef HAVE_SHAPE_EXT
|
||||
#undef HAVE_SYS_SELECT_H
|
||||
|
||||
#undef IPC_RMID_DEFERRED_RELEASE
|
||||
|
||||
+1
-1
@@ -18,8 +18,8 @@
|
||||
/* Other stuff */
|
||||
#undef HAVE_IPC_H
|
||||
#undef HAVE_SHM_H
|
||||
#undef HAVE_XPM
|
||||
#undef HAVE_XSHM_H
|
||||
#undef HAVE_SHAPE_EXT
|
||||
#undef HAVE_SYS_SELECT_H
|
||||
|
||||
#undef IPC_RMID_DEFERRED_RELEASE
|
||||
|
||||
+12
-1
@@ -6,7 +6,7 @@ cflags_set=${CFLAGS+set}
|
||||
|
||||
GTK_MAJOR_VERSION=1
|
||||
GTK_MINOR_VERSION=0
|
||||
GTK_MICRO_VERSION=0
|
||||
GTK_MICRO_VERSION=1
|
||||
GTK_VERSION=$GTK_MAJOR_VERSION.$GTK_MINOR_VERSION.$GTK_MICRO_VERSION
|
||||
|
||||
# For automake.
|
||||
@@ -118,6 +118,14 @@ if test "x$enable_shm" = "xyes"; then
|
||||
$x_libs)
|
||||
fi
|
||||
|
||||
# Check for shaped window extension
|
||||
|
||||
AC_CHECK_LIB(Xext, XShapeCombineMask,
|
||||
if test -z "`echo $x_libs | grep "\-lXext" 2> /dev/null`"; then
|
||||
$x_libs="-lXext $x_libs"
|
||||
fi
|
||||
AC_DEFINE(HAVE_SHAPE_EXT),, $x_libs)
|
||||
|
||||
x_cflags="$X_CFLAGS"
|
||||
x_ldflags="$X_LDFLAGS $X_LIBS"
|
||||
|
||||
@@ -139,6 +147,9 @@ AC_SUBST(x_includes)
|
||||
AC_SUBST(x_ldflags)
|
||||
AC_SUBST(x_libs)
|
||||
AC_SUBST(xinput_progs)
|
||||
AC_SUBST(GTK_MAJOR_VERSION)
|
||||
AC_SUBST(GTK_MINOR_VERSION)
|
||||
AC_SUBST(GTK_MICRO_VERSION)
|
||||
AC_SUBST(GTK_VERSION)
|
||||
|
||||
CFLAGS="$saved_cflags"
|
||||
|
||||
@@ -1,294 +0,0 @@
|
||||
# Makefile.in generated automatically by automake 1.2c from Makefile.am
|
||||
|
||||
# Copyright (C) 1994, 1995, 1996, 1997 Free Software Foundation, Inc.
|
||||
# This Makefile.in is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
# PARTICULAR PURPOSE.
|
||||
|
||||
|
||||
SHELL = /bin/sh
|
||||
|
||||
srcdir = @srcdir@
|
||||
top_srcdir = @top_srcdir@
|
||||
VPATH = @srcdir@
|
||||
prefix = @prefix@
|
||||
exec_prefix = @exec_prefix@
|
||||
|
||||
bindir = @bindir@
|
||||
sbindir = @sbindir@
|
||||
libexecdir = @libexecdir@
|
||||
datadir = @datadir@
|
||||
sysconfdir = @sysconfdir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
localstatedir = @localstatedir@
|
||||
libdir = @libdir@
|
||||
infodir = @infodir@
|
||||
mandir = @mandir@
|
||||
includedir = @includedir@
|
||||
oldincludedir = /usr/include
|
||||
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
|
||||
top_builddir = ..
|
||||
|
||||
ACLOCAL = @ACLOCAL@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
transform = @program_transform_name@
|
||||
|
||||
NORMAL_INSTALL = true
|
||||
PRE_INSTALL = true
|
||||
POST_INSTALL = true
|
||||
NORMAL_UNINSTALL = true
|
||||
PRE_UNINSTALL = true
|
||||
POST_UNINSTALL = true
|
||||
host_alias = @host_alias@
|
||||
host_triplet = @host@
|
||||
CC = @CC@
|
||||
CPP = @CPP@
|
||||
LD = @LD@
|
||||
LIBTOOL = @LIBTOOL@
|
||||
LN_S = @LN_S@
|
||||
MAINT = @MAINT@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
NM = @NM@
|
||||
PACKAGE = @PACKAGE@
|
||||
RANLIB = @RANLIB@
|
||||
VERSION = @VERSION@
|
||||
x_cflags = @x_cflags@
|
||||
x_includes = @x_includes@
|
||||
x_ldflags = @x_ldflags@
|
||||
x_libs = @x_libs@
|
||||
xinput_progs = @xinput_progs@
|
||||
|
||||
info_TEXINFOS = gdk.texi gtk.texi
|
||||
|
||||
EXTRA_DIST = texinfo.tex macros.texi Makefile.gtkfaq gtkfaq.sgml gtkfaq_fix
|
||||
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
|
||||
CONFIG_HEADER = ../config.h
|
||||
CONFIG_CLEAN_FILES =
|
||||
TEXI2DVI = texi2dvi
|
||||
TEXINFO_TEX = $(srcdir)/texinfo.tex
|
||||
INFO_DEPS = gdk.info gtk.info
|
||||
DVIS = gdk.dvi gtk.dvi
|
||||
TEXINFOS = gdk.texi gtk.texi
|
||||
DIST_COMMON = Makefile.am Makefile.in texinfo.tex
|
||||
|
||||
|
||||
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
||||
|
||||
TAR = tar
|
||||
GZIP = --best
|
||||
default: all
|
||||
|
||||
.SUFFIXES:
|
||||
.SUFFIXES: .dvi .info .ps .texi .texinfo
|
||||
$(srcdir)/Makefile.in: @MAINT@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
|
||||
cd $(top_srcdir) && $(AUTOMAKE) --gnu docs/Makefile
|
||||
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES)
|
||||
cd $(top_builddir) \
|
||||
&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
|
||||
|
||||
|
||||
gdk.info: gdk.texi
|
||||
gdk.dvi: gdk.texi
|
||||
|
||||
|
||||
gtk.info: gtk.texi
|
||||
gtk.dvi: gtk.texi
|
||||
|
||||
|
||||
DVIPS = dvips
|
||||
|
||||
.texi.info:
|
||||
@cd $(srcdir) && rm -f $@ $@-[0-9] $@-[0-9][0-9]
|
||||
cd $(srcdir) \
|
||||
&& $(MAKEINFO) `echo $< | sed 's,.*/,,'`
|
||||
|
||||
.texi.dvi:
|
||||
TEXINPUTS=$(srcdir):$$TEXINPUTS \
|
||||
MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) $<
|
||||
|
||||
.texi:
|
||||
@cd $(srcdir) && rm -f $@ $@-[0-9] $@-[0-9][0-9]
|
||||
cd $(srcdir) \
|
||||
&& $(MAKEINFO) `echo $< | sed 's,.*/,,'`
|
||||
|
||||
.texinfo.info:
|
||||
@cd $(srcdir) && rm -f $@ $@-[0-9] $@-[0-9][0-9]
|
||||
cd $(srcdir) \
|
||||
&& $(MAKEINFO) `echo $< | sed 's,.*/,,'`
|
||||
|
||||
.texinfo:
|
||||
@cd $(srcdir) && rm -f $@ $@-[0-9] $@-[0-9][0-9]
|
||||
cd $(srcdir) \
|
||||
&& $(MAKEINFO) `echo $< | sed 's,.*/,,'`
|
||||
|
||||
.texinfo.dvi:
|
||||
TEXINPUTS=$(srcdir):$$TEXINPUTS \
|
||||
MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) $<
|
||||
.dvi.ps:
|
||||
$(DVIPS) $< -o $@
|
||||
|
||||
install-info-am: $(INFO_DEPS)
|
||||
@$(NORMAL_INSTALL)
|
||||
$(mkinstalldirs) $(infodir)
|
||||
@for file in $(INFO_DEPS); do \
|
||||
d=$(srcdir); \
|
||||
for ifile in `cd $$d && echo $$file $$file-[0-9] $$file-[0-9][0-9]`; do \
|
||||
if test -f $$d/$$ifile; then \
|
||||
echo " $(INSTALL_DATA) $$d/$$ifile $(infodir)/$$ifile"; \
|
||||
$(INSTALL_DATA) $$d/$$ifile $(infodir)/$$ifile; \
|
||||
else : ; fi; \
|
||||
done; \
|
||||
done
|
||||
@$(POST_INSTALL)
|
||||
@if $(SHELL) -c 'install-info --version | sed 1q | fgrep -s -v -i debian' >/dev/null 2>&1; then \
|
||||
for file in $(INFO_DEPS); do \
|
||||
echo " install-info --info-dir=$(infodir) $(infodir)/$$file";\
|
||||
install-info --info-dir=$(infodir) $(infodir)/$$file || :;\
|
||||
done; \
|
||||
else : ; fi
|
||||
|
||||
uninstall-info:
|
||||
$(PRE_UNINSTALL)
|
||||
@if $(SHELL) -c 'install-info --version | sed 1q | fgrep -s -v -i debian' >/dev/null 2>&1; then \
|
||||
ii=yes; \
|
||||
else ii=; fi; \
|
||||
for file in $(INFO_DEPS); do \
|
||||
test -z $ii || install-info --info-dir=$(infodir) --remove $$file; \
|
||||
done
|
||||
$(NORMAL_UNINSTALL)
|
||||
for file in $(INFO_DEPS); do \
|
||||
(cd $(infodir) && rm -f $$file $$file-[0-9] $$file-[0-9][0-9]); \
|
||||
done
|
||||
|
||||
dist-info: $(INFO_DEPS)
|
||||
for base in $(INFO_DEPS); do \
|
||||
d=$(srcdir); \
|
||||
for file in `cd $$d && eval echo $$base*`; do \
|
||||
test -f $(distdir)/$$file \
|
||||
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|
||||
|| cp -p $$d/$$file $(distdir)/$$file; \
|
||||
done; \
|
||||
done
|
||||
|
||||
mostlyclean-aminfo:
|
||||
-rm -f gdk.aux gdk.cp gdk.cps gdk.dvi gdk.fn gdk.fns gdk.ky gdk.kys \
|
||||
gdk.ps gdk.log gdk.pg gdk.toc gdk.tp gdk.tps gdk.vr gdk.vrs \
|
||||
gdk.op gdk.tr gdk.cv gdk.cn gtk.aux gtk.cp gtk.cps gtk.dvi \
|
||||
gtk.fn gtk.fns gtk.ky gtk.kys gtk.ps gtk.log gtk.pg gtk.toc \
|
||||
gtk.tp gtk.tps gtk.vr gtk.vrs gtk.op gtk.tr gtk.cv gtk.cn
|
||||
|
||||
clean-aminfo:
|
||||
|
||||
distclean-aminfo:
|
||||
|
||||
maintainer-clean-aminfo:
|
||||
for i in $(INFO_DEPS); do \
|
||||
rm -f $$i; \
|
||||
if test "`echo $$i-[0-9]*`" != "$$i-[0-9]*"; then \
|
||||
rm -f $$i-[0-9]*; \
|
||||
fi; \
|
||||
done
|
||||
tags: TAGS
|
||||
TAGS:
|
||||
|
||||
|
||||
distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
|
||||
|
||||
subdir = docs
|
||||
|
||||
distdir: $(DISTFILES)
|
||||
here=`cd $(top_builddir) && pwd`; \
|
||||
top_distdir=`cd $(top_distdir) && pwd`; \
|
||||
distdir=`cd $(distdir) && pwd`; \
|
||||
cd $(top_srcdir) \
|
||||
&& $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu docs/Makefile
|
||||
@for file in $(DISTFILES); do \
|
||||
d=$(srcdir); \
|
||||
test -f $(distdir)/$$file \
|
||||
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|
||||
|| cp -p $$d/$$file $(distdir)/$$file; \
|
||||
done
|
||||
$(MAKE) top_distdir="$(top_distdir)" distdir="$(distdir)" dist-info
|
||||
info: $(INFO_DEPS)
|
||||
dvi: $(DVIS)
|
||||
check: all
|
||||
$(MAKE)
|
||||
installcheck:
|
||||
install-exec:
|
||||
@$(NORMAL_INSTALL)
|
||||
|
||||
install-data: install-info-am
|
||||
@$(NORMAL_INSTALL)
|
||||
|
||||
install: install-exec install-data all
|
||||
@:
|
||||
|
||||
uninstall: uninstall-info
|
||||
|
||||
all: Makefile $(INFO_DEPS)
|
||||
|
||||
install-strip:
|
||||
$(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
|
||||
installdirs:
|
||||
$(mkinstalldirs) $(infodir)
|
||||
|
||||
|
||||
mostlyclean-generic:
|
||||
-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
|
||||
|
||||
clean-generic:
|
||||
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
|
||||
|
||||
distclean-generic:
|
||||
-rm -f Makefile $(DISTCLEANFILES)
|
||||
-rm -f config.cache config.log stamp-h stamp-h[0-9]*
|
||||
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
|
||||
|
||||
maintainer-clean-generic:
|
||||
-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
|
||||
-test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
|
||||
mostlyclean: mostlyclean-aminfo mostlyclean-generic
|
||||
|
||||
clean: clean-aminfo clean-generic mostlyclean
|
||||
|
||||
distclean: distclean-aminfo distclean-generic clean
|
||||
-rm -f config.status
|
||||
-rm -f libtool
|
||||
|
||||
maintainer-clean: maintainer-clean-aminfo maintainer-clean-generic \
|
||||
distclean
|
||||
@echo "This command is intended for maintainers to use;"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
|
||||
.PHONY: default install-info-am uninstall-info mostlyclean-aminfo \
|
||||
distclean-aminfo clean-aminfo maintainer-clean-aminfo tags distdir info \
|
||||
dvi installcheck install-exec install-data install uninstall all \
|
||||
installdirs mostlyclean-generic distclean-generic clean-generic \
|
||||
maintainer-clean-generic clean mostlyclean distclean maintainer-clean
|
||||
|
||||
|
||||
files:
|
||||
@files=`ls $(DISTFILES) 2> /dev/null `; for p in $$files; do \
|
||||
echo $$p; \
|
||||
done
|
||||
|
||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
.NOEXPORT:
|
||||
+59
-2
@@ -163,6 +163,23 @@ name="http://www.gnome.org">)
|
||||
is using GTK+ to build a free desktop for Linux. Many more programs can be found
|
||||
there.
|
||||
|
||||
<!-- ----------------------------------------------------------------- -->
|
||||
<sect1>I'm looking for an application to write in GTK+. How about an IRC client?
|
||||
<p>
|
||||
|
||||
Ask on gtk-list for suggestions. There are at least four IRC
|
||||
clients already under development
|
||||
|
||||
<itemize>
|
||||
<item>girc. (Included with GNOME)
|
||||
<item>Bezerk (<htmlurl url="http://www.gtk.org/~trog/"
|
||||
name="http://www.gtk.org/~trog/">)
|
||||
<item>gsirc. (Location?)
|
||||
<item>Gnirc. (<htmlurl url="http://www.imaginet.fr/~dramboz/gnirc"
|
||||
name="http://www.imaginet.fr/~dramboz/gnirc">)
|
||||
</itemize>
|
||||
|
||||
|
||||
<!-- ***************************************************************** -->
|
||||
<sect>How to find, configure, install, and troubleshoot GTK+
|
||||
|
||||
@@ -202,8 +219,7 @@ handle the automatically generated Makefiles.
|
||||
|
||||
<!-- ----------------------------------------------------------------- -->
|
||||
|
||||
<sect1>I've compiled and installed GTK+, but I can't get any programs to link
|
||||
with it!
|
||||
<sect1>I've compiled and installed GTK+, but I can't get any programs to link with it!
|
||||
<p>
|
||||
This problem is most often encountered when the GTK+ libraries can't be
|
||||
found or are the wrong version. Generally, the compiler will complain about an
|
||||
@@ -249,6 +265,47 @@ the libraries libgtk, libgdk, libglib, or libgck. If they do exist, remove them
|
||||
and reinstall gtk+.
|
||||
</itemize>
|
||||
|
||||
<!-- ----------------------------------------------------------------- -->
|
||||
<sect1>When compiling programs with GTK+, I get compiler error messages about not being able to find <tt/"glibconfig.h"/.
|
||||
|
||||
<p> The header file "glibconfig.h" was moved to the directory
|
||||
$exec_prefix/lib/glib/include/. $exec_prefix is the
|
||||
directory that was specified by giving the --exec-prefix
|
||||
flags to ./configure when compiling GTK+. It defaults to
|
||||
$prefix, (specified with --prefix), which in turn defaults
|
||||
to /usr/local/.
|
||||
|
||||
<p> This was done because "glibconfig.h" includes architecture
|
||||
dependent information, and the rest of the include files
|
||||
are put in $prefix/include, which can be shared between different
|
||||
architectures.
|
||||
|
||||
<p> GTK+ includes a shell script, <tt/gtk-config/, that
|
||||
makes it easy to find out the correct include paths.
|
||||
The GTK+ tutorial includes an example of using <tt/gtk-config/
|
||||
for simple compilation from the command line. For information
|
||||
about more complicated configuration, see the file
|
||||
docs/gtk-config.txt in the GTK+ distribution.
|
||||
|
||||
<p> If you are trying to compile an old program, you may
|
||||
be able to work around the problem by configuring it
|
||||
with a command line like:
|
||||
|
||||
<tscreen><verb>
|
||||
CPPFLAGS="-I/usr/local/include/glib/include ./configure
|
||||
</verb></tscreen>
|
||||
|
||||
<p>
|
||||
for Bourne-compatible shells like bash, or for csh variants:
|
||||
|
||||
<tscreen><verb>
|
||||
setenv CPPFLAGS "-I/usr/local/include/glib/include
|
||||
./configure
|
||||
</verb></tscreen>
|
||||
|
||||
<p>
|
||||
(Substitute the appropriate value of $exec_prefix for /usr/local.)
|
||||
|
||||
<!-- ----------------------------------------------------------------- -->
|
||||
<sect1>When installing The GIMP, configure reports that it can't find GTK.
|
||||
<p>
|
||||
|
||||
+59
-2
@@ -163,6 +163,23 @@ name="http://www.gnome.org">)
|
||||
is using GTK+ to build a free desktop for Linux. Many more programs can be found
|
||||
there.
|
||||
|
||||
<!-- ----------------------------------------------------------------- -->
|
||||
<sect1>I'm looking for an application to write in GTK+. How about an IRC client?
|
||||
<p>
|
||||
|
||||
Ask on gtk-list for suggestions. There are at least four IRC
|
||||
clients already under development
|
||||
|
||||
<itemize>
|
||||
<item>girc. (Included with GNOME)
|
||||
<item>Bezerk (<htmlurl url="http://www.gtk.org/~trog/"
|
||||
name="http://www.gtk.org/~trog/">)
|
||||
<item>gsirc. (Location?)
|
||||
<item>Gnirc. (<htmlurl url="http://www.imaginet.fr/~dramboz/gnirc"
|
||||
name="http://www.imaginet.fr/~dramboz/gnirc">)
|
||||
</itemize>
|
||||
|
||||
|
||||
<!-- ***************************************************************** -->
|
||||
<sect>How to find, configure, install, and troubleshoot GTK+
|
||||
|
||||
@@ -202,8 +219,7 @@ handle the automatically generated Makefiles.
|
||||
|
||||
<!-- ----------------------------------------------------------------- -->
|
||||
|
||||
<sect1>I've compiled and installed GTK+, but I can't get any programs to link
|
||||
with it!
|
||||
<sect1>I've compiled and installed GTK+, but I can't get any programs to link with it!
|
||||
<p>
|
||||
This problem is most often encountered when the GTK+ libraries can't be
|
||||
found or are the wrong version. Generally, the compiler will complain about an
|
||||
@@ -249,6 +265,47 @@ the libraries libgtk, libgdk, libglib, or libgck. If they do exist, remove them
|
||||
and reinstall gtk+.
|
||||
</itemize>
|
||||
|
||||
<!-- ----------------------------------------------------------------- -->
|
||||
<sect1>When compiling programs with GTK+, I get compiler error messages about not being able to find <tt/"glibconfig.h"/.
|
||||
|
||||
<p> The header file "glibconfig.h" was moved to the directory
|
||||
$exec_prefix/lib/glib/include/. $exec_prefix is the
|
||||
directory that was specified by giving the --exec-prefix
|
||||
flags to ./configure when compiling GTK+. It defaults to
|
||||
$prefix, (specified with --prefix), which in turn defaults
|
||||
to /usr/local/.
|
||||
|
||||
<p> This was done because "glibconfig.h" includes architecture
|
||||
dependent information, and the rest of the include files
|
||||
are put in $prefix/include, which can be shared between different
|
||||
architectures.
|
||||
|
||||
<p> GTK+ includes a shell script, <tt/gtk-config/, that
|
||||
makes it easy to find out the correct include paths.
|
||||
The GTK+ tutorial includes an example of using <tt/gtk-config/
|
||||
for simple compilation from the command line. For information
|
||||
about more complicated configuration, see the file
|
||||
docs/gtk-config.txt in the GTK+ distribution.
|
||||
|
||||
<p> If you are trying to compile an old program, you may
|
||||
be able to work around the problem by configuring it
|
||||
with a command line like:
|
||||
|
||||
<tscreen><verb>
|
||||
CPPFLAGS="-I/usr/local/include/glib/include ./configure
|
||||
</verb></tscreen>
|
||||
|
||||
<p>
|
||||
for Bourne-compatible shells like bash, or for csh variants:
|
||||
|
||||
<tscreen><verb>
|
||||
setenv CPPFLAGS "-I/usr/local/include/glib/include
|
||||
./configure
|
||||
</verb></tscreen>
|
||||
|
||||
<p>
|
||||
(Substitute the appropriate value of $exec_prefix for /usr/local.)
|
||||
|
||||
<!-- ----------------------------------------------------------------- -->
|
||||
<sect1>When installing The GIMP, configure reports that it can't find GTK.
|
||||
<p>
|
||||
|
||||
+1
-3
@@ -46,7 +46,7 @@ gdkinclude_HEADERS = \
|
||||
gdktypes.h \
|
||||
gdkx.h
|
||||
|
||||
libgdk_la_LDFLAGS = -version-info 1:0:0 \
|
||||
libgdk_la_LDFLAGS = -version-info $(GTK_MAJOR_VERSION):$(GTK_MICRO_VERSION):0 \
|
||||
@x_ldflags@ @x_libs@
|
||||
|
||||
INCLUDES = -I$(top_srcdir) -I../glib -I$(top_srcdir)/glib @x_cflags@
|
||||
@@ -78,5 +78,3 @@ files:
|
||||
@files=`ls $(DISTFILES) 2> /dev/null `; for p in $$files; do \
|
||||
echo $$p; \
|
||||
done
|
||||
|
||||
$(DEP_FILES) : $(BUILT_SOURCES)
|
||||
|
||||
@@ -1964,7 +1964,7 @@ gdk_event_translate (GdkEvent *event,
|
||||
window_private->dnd_drag_savedeventmask = dnd_winattr.your_event_mask;
|
||||
dnd_setwinattr.event_mask =
|
||||
window_private->dnd_drag_eventmask = ButtonMotionMask | ButtonPressMask | ButtonReleaseMask |
|
||||
EnterWindowMask | LeaveWindowMask;
|
||||
EnterWindowMask | LeaveWindowMask | ExposureMask;
|
||||
XChangeWindowAttributes(gdk_display, window_private->xwindow,
|
||||
CWEventMask, &dnd_setwinattr);
|
||||
}
|
||||
@@ -2333,7 +2333,7 @@ gdk_event_translate (GdkEvent *event,
|
||||
ButtonMotionMask | PointerMotionMask |
|
||||
/* PointerMotionHintMask | */ /* HINTME */
|
||||
ButtonPressMask | ButtonReleaseMask,
|
||||
GrabModeAsync, GrabModeAsync, gdk_root_window,
|
||||
GrabModeAsync, GrabModeAsync, None,
|
||||
None, CurrentTime);
|
||||
#ifdef G_ENABLE_DEBUG
|
||||
GDK_NOTE(DND, g_print("xgpret = %d\n", xgpret));
|
||||
|
||||
+21
-4
@@ -55,7 +55,7 @@ gdk_pixmap_new (GdkWindow *window,
|
||||
return NULL;
|
||||
|
||||
if (depth == -1)
|
||||
gdk_window_get_geometry (window, NULL, NULL, NULL, NULL, &depth);
|
||||
depth = gdk_window_get_visual (window)->depth;
|
||||
|
||||
private = g_new (GdkWindowPrivate, 1);
|
||||
pixmap = (GdkPixmap*) private;
|
||||
@@ -64,6 +64,7 @@ gdk_pixmap_new (GdkWindow *window,
|
||||
private->window_type = GDK_WINDOW_PIXMAP;
|
||||
private->xwindow = XCreatePixmap (private->xdisplay, window_private->xwindow,
|
||||
width, height, depth);
|
||||
private->colormap = NULL;
|
||||
private->parent = NULL;
|
||||
private->x = 0;
|
||||
private->y = 0;
|
||||
@@ -148,7 +149,7 @@ gdk_pixmap_create_from_data (GdkWindow *window,
|
||||
return NULL;
|
||||
|
||||
if (depth == -1)
|
||||
gdk_window_get_geometry (window, NULL, NULL, NULL, NULL, &depth);
|
||||
depth = gdk_window_get_visual (window)->depth;
|
||||
|
||||
private = g_new (GdkWindowPrivate, 1);
|
||||
pixmap = (GdkPixmap*) private;
|
||||
@@ -255,8 +256,14 @@ gdk_pixmap_read_string (FILE *infile,
|
||||
{
|
||||
if (cnt == (*buffer_size))
|
||||
{
|
||||
(*buffer_size) *= 2;
|
||||
(*buffer) = (gchar *) g_realloc ((*buffer), *buffer_size); }
|
||||
guint new_size = (*buffer_size) * 2;
|
||||
if (new_size > (*buffer_size))
|
||||
*buffer_size = new_size;
|
||||
else
|
||||
return FALSE;
|
||||
|
||||
(*buffer) = (gchar *) g_realloc ((*buffer), *buffer_size);
|
||||
}
|
||||
|
||||
if (c != '"')
|
||||
(*buffer)[cnt++] = c;
|
||||
@@ -398,6 +405,11 @@ gdk_pixmap_colormap_create_from_xpm (GdkWindow *window,
|
||||
gdk_pixmap_read_string (infile, &buffer, &buffer_size);
|
||||
|
||||
sscanf (buffer,"%d %d %d %d", &width, &height, &num_cols, &cpp);
|
||||
if (cpp >= 32)
|
||||
{
|
||||
g_warning ("Pixmap has more than 31 characters per color\n");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
colors = g_new(_GdkPixmapColor, num_cols);
|
||||
|
||||
@@ -573,6 +585,11 @@ gdk_pixmap_colormap_create_from_xpm_d (GdkWindow *window,
|
||||
i = 0;
|
||||
buffer = data[i++];
|
||||
sscanf (buffer,"%d %d %d %d", &width, &height, &num_cols, &cpp);
|
||||
if (cpp >= 32)
|
||||
{
|
||||
g_warning ("Pixmap has more than 31 characters per color\n");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
colors = g_new(_GdkPixmapColor, num_cols);
|
||||
|
||||
|
||||
@@ -81,6 +81,8 @@ struct _GdkWindowPrivate
|
||||
gint extension_events;
|
||||
|
||||
GList *filters;
|
||||
GdkColormap *colormap;
|
||||
GList *children;
|
||||
};
|
||||
|
||||
struct _GdkImagePrivate
|
||||
|
||||
+119
-59
@@ -20,7 +20,6 @@
|
||||
#include <X11/Xlib.h>
|
||||
#include <X11/Xutil.h>
|
||||
#include <X11/Xatom.h>
|
||||
#include <X11/extensions/shape.h>
|
||||
#include <netinet/in.h>
|
||||
#include "gdk.h"
|
||||
#include "../config.h"
|
||||
@@ -30,6 +29,10 @@
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
|
||||
#ifdef HAVE_SHAPE_EXT
|
||||
#include <X11/extensions/shape.h>
|
||||
#endif
|
||||
|
||||
int nevent_masks = 17;
|
||||
int event_mask_table[19] =
|
||||
{
|
||||
@@ -65,18 +68,18 @@ gdk_window_xid_at(Window base, gint bx, gint by, gint x, gint y,
|
||||
Display *disp;
|
||||
Window *list=NULL;
|
||||
Window child=0,parent_win=0,root_win=0;
|
||||
int i;
|
||||
guint num;
|
||||
int wx,wy;
|
||||
guint ww,wh,wb,wd;
|
||||
|
||||
int i;
|
||||
unsigned int ww, wh, wb, wd, num;
|
||||
int wx,wy;
|
||||
|
||||
window=(GdkWindow*)&gdk_root_parent;
|
||||
private=(GdkWindowPrivate*)window;
|
||||
disp=private->xdisplay;
|
||||
if (!XGetGeometry(disp,base,&root_win,&wx,&wy,&ww,&wh,&wb,&wd))
|
||||
return 0;
|
||||
wx+=bx;wy+=by;
|
||||
if (!((x>=wx)&&(y>=wy)&&(x<(wx+ww))&&(y<(wy+wh))))
|
||||
if (!((x>=wx)&&(y>=wy)&&(x<(int)(wx+ww))&&(y<(int)(wy+wh))))
|
||||
return 0;
|
||||
if (!XQueryTree(disp,base,&root_win,&parent_win,&list,&num))
|
||||
return base;
|
||||
@@ -172,7 +175,7 @@ gdk_window_xid_at_coords(gint x, gint y, GList *excludes, gboolean excl_child)
|
||||
}
|
||||
|
||||
void
|
||||
gdk_window_init ()
|
||||
gdk_window_init (void)
|
||||
{
|
||||
XWindowAttributes xattributes;
|
||||
unsigned int width;
|
||||
@@ -191,6 +194,8 @@ gdk_window_init ()
|
||||
gdk_root_parent.window.user_data = NULL;
|
||||
gdk_root_parent.width = width;
|
||||
gdk_root_parent.height = height;
|
||||
gdk_root_parent.children = NULL;
|
||||
gdk_root_parent.colormap = NULL;
|
||||
}
|
||||
|
||||
GdkWindow*
|
||||
@@ -202,7 +207,6 @@ gdk_window_new (GdkWindow *parent,
|
||||
GdkWindowPrivate *private;
|
||||
GdkWindowPrivate *parent_private;
|
||||
GdkVisual *visual;
|
||||
GdkColormap *colormap;
|
||||
Display *parent_display;
|
||||
Window xparent;
|
||||
Visual *xvisual;
|
||||
@@ -232,6 +236,10 @@ gdk_window_new (GdkWindow *parent,
|
||||
window = (GdkWindow*) private;
|
||||
|
||||
private->parent = parent;
|
||||
|
||||
if (parent_private != &gdk_root_parent)
|
||||
parent_private->children = g_list_prepend (parent_private->children, window);
|
||||
|
||||
private->xdisplay = parent_display;
|
||||
private->destroyed = FALSE;
|
||||
private->resize_count = 0;
|
||||
@@ -264,6 +272,7 @@ gdk_window_new (GdkWindow *parent,
|
||||
private->dnd_drag_eventmask = private->dnd_drag_savedeventmask = 0;
|
||||
|
||||
private->filters = NULL;
|
||||
private->children = NULL;
|
||||
|
||||
window->user_data = NULL;
|
||||
|
||||
@@ -296,9 +305,9 @@ gdk_window_new (GdkWindow *parent,
|
||||
depth = visual->depth;
|
||||
|
||||
if (attributes_mask & GDK_WA_COLORMAP)
|
||||
colormap = attributes->colormap;
|
||||
private->colormap = attributes->colormap;
|
||||
else
|
||||
colormap = gdk_colormap_get_system ();
|
||||
private->colormap = gdk_colormap_get_system ();
|
||||
|
||||
xattributes.background_pixel = BlackPixel (gdk_display, gdk_screen);
|
||||
xattributes.border_pixel = BlackPixel (gdk_display, gdk_screen);
|
||||
@@ -307,26 +316,26 @@ gdk_window_new (GdkWindow *parent,
|
||||
switch (private->window_type)
|
||||
{
|
||||
case GDK_WINDOW_TOPLEVEL:
|
||||
xattributes.colormap = ((GdkColormapPrivate*) colormap)->xcolormap;
|
||||
xattributes.colormap = ((GdkColormapPrivate*) private->colormap)->xcolormap;
|
||||
xattributes_mask |= CWColormap;
|
||||
|
||||
xparent = gdk_root_window;
|
||||
break;
|
||||
|
||||
case GDK_WINDOW_CHILD:
|
||||
xattributes.colormap = ((GdkColormapPrivate*) colormap)->xcolormap;
|
||||
xattributes.colormap = ((GdkColormapPrivate*) private->colormap)->xcolormap;
|
||||
xattributes_mask |= CWColormap;
|
||||
break;
|
||||
|
||||
case GDK_WINDOW_DIALOG:
|
||||
xattributes.colormap = ((GdkColormapPrivate*) colormap)->xcolormap;
|
||||
xattributes.colormap = ((GdkColormapPrivate*) private->colormap)->xcolormap;
|
||||
xattributes_mask |= CWColormap;
|
||||
|
||||
xparent = gdk_root_window;
|
||||
break;
|
||||
|
||||
case GDK_WINDOW_TEMP:
|
||||
xattributes.colormap = ((GdkColormapPrivate*) colormap)->xcolormap;
|
||||
xattributes.colormap = ((GdkColormapPrivate*) private->colormap)->xcolormap;
|
||||
xattributes_mask |= CWColormap;
|
||||
|
||||
xparent = gdk_root_window;
|
||||
@@ -348,7 +357,7 @@ gdk_window_new (GdkWindow *parent,
|
||||
{
|
||||
depth = 0;
|
||||
class = InputOnly;
|
||||
colormap = NULL;
|
||||
private->colormap = NULL;
|
||||
}
|
||||
|
||||
private->xwindow = XCreateWindow (private->xdisplay, xparent,
|
||||
@@ -358,6 +367,9 @@ gdk_window_new (GdkWindow *parent,
|
||||
gdk_window_ref (window);
|
||||
gdk_xid_table_insert (&private->xwindow, window);
|
||||
|
||||
if (private->colormap)
|
||||
gdk_colormap_ref (private->colormap);
|
||||
|
||||
gdk_window_set_cursor (window, ((attributes_mask & GDK_WA_CURSOR) ?
|
||||
(attributes->cursor) :
|
||||
NULL));
|
||||
@@ -372,8 +384,8 @@ gdk_window_new (GdkWindow *parent,
|
||||
break;
|
||||
case GDK_WINDOW_CHILD:
|
||||
if ((attributes->wclass == GDK_INPUT_OUTPUT) &&
|
||||
(colormap != gdk_colormap_get_system ()) &&
|
||||
(colormap != gdk_window_get_colormap (gdk_window_get_toplevel (window))))
|
||||
(private->colormap != gdk_colormap_get_system ()) &&
|
||||
(private->colormap != gdk_window_get_colormap (gdk_window_get_toplevel (window))))
|
||||
{
|
||||
GDK_NOTE (MISC, g_print ("adding colormap window\n"));
|
||||
gdk_window_add_colormap_windows (window);
|
||||
@@ -430,6 +442,7 @@ gdk_window_foreign_new (guint32 anid)
|
||||
{
|
||||
GdkWindow *window;
|
||||
GdkWindowPrivate *private;
|
||||
GdkWindowPrivate *parent_private;
|
||||
XWindowAttributes attrs;
|
||||
Window root, parent;
|
||||
Window *children;
|
||||
@@ -446,6 +459,11 @@ gdk_window_foreign_new (guint32 anid)
|
||||
XFree (children);
|
||||
private->parent = gdk_xid_table_lookup (parent);
|
||||
|
||||
parent_private = (GdkWindowPrivate *)private->parent;
|
||||
|
||||
if (parent_private)
|
||||
parent_private->children = g_list_prepend (parent_private->children, window);
|
||||
|
||||
private->xwindow = anid;
|
||||
private->xdisplay = gdk_display;
|
||||
private->x = attrs.x;
|
||||
@@ -458,6 +476,7 @@ gdk_window_foreign_new (guint32 anid)
|
||||
private->destroyed = FALSE;
|
||||
private->extension_events = 0;
|
||||
|
||||
private->colormap = NULL;
|
||||
|
||||
private->dnd_drag_data_type = None;
|
||||
private->dnd_drag_data_typesavail =
|
||||
@@ -469,6 +488,7 @@ gdk_window_foreign_new (guint32 anid)
|
||||
private->dnd_drag_eventmask = private->dnd_drag_savedeventmask = 0;
|
||||
|
||||
private->filters = NULL;
|
||||
private->children = NULL;
|
||||
|
||||
window->user_data = NULL;
|
||||
|
||||
@@ -507,10 +527,17 @@ gdk_window_internal_destroy (GdkWindow *window, gboolean xdestroy,
|
||||
case GDK_WINDOW_FOREIGN:
|
||||
if (!private->destroyed)
|
||||
{
|
||||
if (private->parent)
|
||||
{
|
||||
GdkWindowPrivate *parent_private = (GdkWindowPrivate *)private->parent;
|
||||
if (parent_private->children)
|
||||
parent_private->children = g_list_remove (parent_private->children, window);
|
||||
}
|
||||
|
||||
if (private->window_type != GDK_WINDOW_FOREIGN)
|
||||
{
|
||||
children = gdk_window_get_children (window);
|
||||
tmp = children;
|
||||
children = tmp = private->children;
|
||||
private->children = NULL;
|
||||
|
||||
while (tmp)
|
||||
{
|
||||
@@ -522,7 +549,7 @@ gdk_window_internal_destroy (GdkWindow *window, gboolean xdestroy,
|
||||
gdk_window_internal_destroy (temp_window, FALSE,
|
||||
our_destroy);
|
||||
}
|
||||
|
||||
|
||||
g_list_free (children);
|
||||
}
|
||||
|
||||
@@ -581,6 +608,9 @@ gdk_window_internal_destroy (GdkWindow *window, gboolean xdestroy,
|
||||
else if (xdestroy)
|
||||
XDestroyWindow (private->xdisplay, private->xwindow);
|
||||
|
||||
if (private->colormap)
|
||||
gdk_colormap_unref (private->colormap);
|
||||
|
||||
private->destroyed = TRUE;
|
||||
}
|
||||
break;
|
||||
@@ -1059,6 +1089,11 @@ gdk_window_set_colormap (GdkWindow *window,
|
||||
XSetWindowColormap (window_private->xdisplay,
|
||||
window_private->xwindow,
|
||||
colormap_private->xcolormap);
|
||||
|
||||
if (window_private->colormap)
|
||||
gdk_colormap_unref (window_private->colormap);
|
||||
window_private->colormap = colormap;
|
||||
gdk_colormap_ref (window_private->colormap);
|
||||
|
||||
if (window_private->window_type != GDK_WINDOW_TOPLEVEL)
|
||||
gdk_window_add_colormap_windows (window);
|
||||
@@ -1153,20 +1188,27 @@ gdk_window_get_visual (GdkWindow *window)
|
||||
{
|
||||
GdkWindowPrivate *window_private;
|
||||
XWindowAttributes window_attributes;
|
||||
|
||||
|
||||
g_return_val_if_fail (window != NULL, NULL);
|
||||
|
||||
|
||||
window_private = (GdkWindowPrivate*) window;
|
||||
/* Huh? ->parent is never set for a pixmap. We should just return
|
||||
* null immeditately
|
||||
*/
|
||||
while (window_private && (window_private->window_type == GDK_WINDOW_PIXMAP))
|
||||
window_private = (GdkWindowPrivate*) window_private->parent;
|
||||
|
||||
if (window_private && !window_private->destroyed)
|
||||
{
|
||||
XGetWindowAttributes (window_private->xdisplay,
|
||||
window_private->xwindow,
|
||||
&window_attributes);
|
||||
|
||||
return gdk_visual_lookup (window_attributes.visual);
|
||||
if (window_private->colormap == NULL)
|
||||
{
|
||||
XGetWindowAttributes (window_private->xdisplay,
|
||||
window_private->xwindow,
|
||||
&window_attributes);
|
||||
return gdk_visual_lookup (window_attributes.visual);
|
||||
}
|
||||
else
|
||||
return ((GdkColormapPrivate *)window_private->colormap)->visual;
|
||||
}
|
||||
|
||||
return NULL;
|
||||
@@ -1179,16 +1221,20 @@ gdk_window_get_colormap (GdkWindow *window)
|
||||
XWindowAttributes window_attributes;
|
||||
|
||||
g_return_val_if_fail (window != NULL, NULL);
|
||||
|
||||
window_private = (GdkWindowPrivate*) window;
|
||||
|
||||
|
||||
g_return_val_if_fail (window_private->window_type != GDK_WINDOW_PIXMAP, NULL);
|
||||
if (!window_private->destroyed)
|
||||
{
|
||||
XGetWindowAttributes (window_private->xdisplay,
|
||||
window_private->xwindow,
|
||||
&window_attributes);
|
||||
|
||||
return gdk_colormap_lookup (window_attributes.colormap);
|
||||
if (window_private->colormap == NULL)
|
||||
{
|
||||
XGetWindowAttributes (window_private->xdisplay,
|
||||
window_private->xwindow,
|
||||
&window_attributes);
|
||||
return gdk_colormap_lookup (window_attributes.colormap);
|
||||
}
|
||||
else
|
||||
return window_private->colormap;
|
||||
}
|
||||
|
||||
return NULL;
|
||||
@@ -1436,8 +1482,7 @@ gdk_window_add_colormap_windows (GdkWindow *window)
|
||||
|
||||
/*
|
||||
* This needs the X11 shape extension.
|
||||
* If not available, simply remove the call to
|
||||
* XShapeCombineMask. Shaped windows will look
|
||||
* If not available, shaped windows will look
|
||||
* ugly, but programs still work. Stefan Wille
|
||||
*/
|
||||
void
|
||||
@@ -1445,38 +1490,53 @@ gdk_window_shape_combine_mask (GdkWindow *window,
|
||||
GdkBitmap *mask,
|
||||
gint x, gint y)
|
||||
{
|
||||
enum { UNKNOWN, NO, YES };
|
||||
|
||||
static gint have_shape = UNKNOWN;
|
||||
|
||||
GdkWindowPrivate *window_private;
|
||||
Pixmap pixmap;
|
||||
|
||||
g_return_if_fail (window != NULL);
|
||||
|
||||
/* This is needed, according to raster */
|
||||
gdk_window_set_override_redirect(window, TRUE);
|
||||
|
||||
window_private = (GdkWindowPrivate*) window;
|
||||
if (window_private->destroyed)
|
||||
return;
|
||||
|
||||
if (mask)
|
||||
#ifdef HAVE_SHAPE_EXT
|
||||
if (have_shape == UNKNOWN)
|
||||
{
|
||||
GdkWindowPrivate *pixmap_private;
|
||||
|
||||
pixmap_private = (GdkWindowPrivate*) mask;
|
||||
pixmap = (Pixmap) pixmap_private->xwindow;
|
||||
int ignore;
|
||||
if (XQueryExtension(gdk_display, "SHAPE", &ignore, &ignore, &ignore))
|
||||
have_shape = YES;
|
||||
else
|
||||
have_shape = NO;
|
||||
}
|
||||
else
|
||||
|
||||
if (have_shape == YES)
|
||||
{
|
||||
x = 0;
|
||||
y = 0;
|
||||
pixmap = None;
|
||||
window_private = (GdkWindowPrivate*) window;
|
||||
if (window_private->destroyed)
|
||||
return;
|
||||
|
||||
if (mask)
|
||||
{
|
||||
GdkWindowPrivate *pixmap_private;
|
||||
|
||||
pixmap_private = (GdkWindowPrivate*) mask;
|
||||
pixmap = (Pixmap) pixmap_private->xwindow;
|
||||
}
|
||||
else
|
||||
{
|
||||
x = 0;
|
||||
y = 0;
|
||||
pixmap = None;
|
||||
}
|
||||
|
||||
XShapeCombineMask (window_private->xdisplay,
|
||||
window_private->xwindow,
|
||||
ShapeBounding,
|
||||
x, y,
|
||||
pixmap,
|
||||
ShapeSet);
|
||||
}
|
||||
|
||||
XShapeCombineMask (window_private->xdisplay,
|
||||
window_private->xwindow,
|
||||
ShapeBounding,
|
||||
x, y,
|
||||
pixmap,
|
||||
ShapeSet);
|
||||
#endif /* HAVE_SHAPE_EXT */
|
||||
}
|
||||
|
||||
void
|
||||
|
||||
+33
-14
@@ -61,7 +61,7 @@ handler(int signal)
|
||||
}
|
||||
|
||||
void
|
||||
init_socket()
|
||||
init_socket(void)
|
||||
{
|
||||
struct sockaddr_in sin;
|
||||
|
||||
@@ -130,7 +130,7 @@ enable_device(GxidDevice *dev)
|
||||
/* switch the core pointer from whatever it is now to something else,
|
||||
return true on success, false otherwise */
|
||||
static int
|
||||
switch_core_pointer()
|
||||
switch_core_pointer(void)
|
||||
{
|
||||
GxidDevice *old_pointer = 0;
|
||||
GxidDevice *new_pointer = 0;
|
||||
@@ -222,7 +222,7 @@ init_device(XDeviceInfo *xdevice)
|
||||
}
|
||||
|
||||
void
|
||||
init_xinput()
|
||||
init_xinput(void)
|
||||
{
|
||||
char **extensions;
|
||||
XDeviceInfo *xdevices;
|
||||
@@ -279,12 +279,22 @@ int
|
||||
handle_claim_device(GxidClaimDevice *msg)
|
||||
{
|
||||
int i,j;
|
||||
XID devid = ntohl(msg->device);
|
||||
XID winid = ntohl(msg->window);
|
||||
int exclusive = ntohl(msg->exclusive);
|
||||
XID devid;
|
||||
XID winid;
|
||||
int exclusive;
|
||||
GxidDevice *device = NULL;
|
||||
GxidWindow *window = NULL;
|
||||
|
||||
if (msg->length != sizeof(GxidClaimDevice))
|
||||
{
|
||||
fprintf(stderr,"Bad length for ClaimDevice message\n");
|
||||
return GXID_RETURN_ERROR;
|
||||
}
|
||||
|
||||
devid = ntohl(msg->device);
|
||||
winid = ntohl(msg->window);
|
||||
exclusive = ntohl(msg->exclusive);
|
||||
|
||||
#ifdef DEBUG_CLIENTS
|
||||
fprintf(stderr,"device %ld claimed (window 0x%lx)\n",devid,winid);
|
||||
#endif
|
||||
@@ -397,11 +407,20 @@ int
|
||||
handle_release_device(GxidReleaseDevice *msg)
|
||||
{
|
||||
int i,j;
|
||||
XID devid = ntohl(msg->device);
|
||||
XID winid = ntohl(msg->window);
|
||||
XID devid;
|
||||
XID winid;
|
||||
|
||||
GxidDevice *device = NULL;
|
||||
|
||||
if (msg->length != sizeof(GxidReleaseDevice))
|
||||
{
|
||||
fprintf(stderr,"Bad length for ReleaseDevice message\n");
|
||||
return GXID_RETURN_ERROR;
|
||||
}
|
||||
|
||||
devid = ntohl(msg->device);
|
||||
winid = ntohl(msg->window);
|
||||
|
||||
#ifdef DEBUG_CLIENTS
|
||||
fprintf(stderr,"device %ld released (window 0x%lx)\n",devid,winid);
|
||||
#endif
|
||||
@@ -460,11 +479,11 @@ handle_release_device(GxidReleaseDevice *msg)
|
||||
}
|
||||
|
||||
void
|
||||
handle_connection()
|
||||
handle_connection(void)
|
||||
{
|
||||
GxidMessage msg;
|
||||
GxidU32 type;
|
||||
int length;
|
||||
GxidU32 length;
|
||||
GxidI32 retval;
|
||||
|
||||
int conn_fd;
|
||||
@@ -496,7 +515,7 @@ handle_connection()
|
||||
|
||||
/* read rest of message */
|
||||
|
||||
if (length > sizeof(GxidMessage))
|
||||
if ((length > sizeof(GxidMessage)) || (length < 2*sizeof(GxidU32)))
|
||||
{
|
||||
fprintf(stderr,"%s: Bad message length\n",
|
||||
program_name);
|
||||
@@ -689,7 +708,7 @@ handle_destroy_notify(XDestroyWindowEvent *event)
|
||||
}
|
||||
|
||||
void
|
||||
handle_xevent()
|
||||
handle_xevent(void)
|
||||
{
|
||||
int i;
|
||||
XEvent event;
|
||||
@@ -743,7 +762,7 @@ handle_xevent()
|
||||
}
|
||||
|
||||
void
|
||||
usage()
|
||||
usage(void)
|
||||
{
|
||||
fprintf(stderr,"Usage: %s [-d display] [-p --gxid-port port]\n",
|
||||
program_name);
|
||||
@@ -833,7 +852,7 @@ main(int argc, char **argv)
|
||||
}
|
||||
|
||||
if (FD_ISSET(socket_fd,&readfds))
|
||||
handle_connection(socket_fd);
|
||||
handle_connection();
|
||||
|
||||
while (XPending(dpy))
|
||||
handle_xevent();
|
||||
|
||||
@@ -1964,7 +1964,7 @@ gdk_event_translate (GdkEvent *event,
|
||||
window_private->dnd_drag_savedeventmask = dnd_winattr.your_event_mask;
|
||||
dnd_setwinattr.event_mask =
|
||||
window_private->dnd_drag_eventmask = ButtonMotionMask | ButtonPressMask | ButtonReleaseMask |
|
||||
EnterWindowMask | LeaveWindowMask;
|
||||
EnterWindowMask | LeaveWindowMask | ExposureMask;
|
||||
XChangeWindowAttributes(gdk_display, window_private->xwindow,
|
||||
CWEventMask, &dnd_setwinattr);
|
||||
}
|
||||
@@ -2333,7 +2333,7 @@ gdk_event_translate (GdkEvent *event,
|
||||
ButtonMotionMask | PointerMotionMask |
|
||||
/* PointerMotionHintMask | */ /* HINTME */
|
||||
ButtonPressMask | ButtonReleaseMask,
|
||||
GrabModeAsync, GrabModeAsync, gdk_root_window,
|
||||
GrabModeAsync, GrabModeAsync, None,
|
||||
None, CurrentTime);
|
||||
#ifdef G_ENABLE_DEBUG
|
||||
GDK_NOTE(DND, g_print("xgpret = %d\n", xgpret));
|
||||
|
||||
+21
-4
@@ -55,7 +55,7 @@ gdk_pixmap_new (GdkWindow *window,
|
||||
return NULL;
|
||||
|
||||
if (depth == -1)
|
||||
gdk_window_get_geometry (window, NULL, NULL, NULL, NULL, &depth);
|
||||
depth = gdk_window_get_visual (window)->depth;
|
||||
|
||||
private = g_new (GdkWindowPrivate, 1);
|
||||
pixmap = (GdkPixmap*) private;
|
||||
@@ -64,6 +64,7 @@ gdk_pixmap_new (GdkWindow *window,
|
||||
private->window_type = GDK_WINDOW_PIXMAP;
|
||||
private->xwindow = XCreatePixmap (private->xdisplay, window_private->xwindow,
|
||||
width, height, depth);
|
||||
private->colormap = NULL;
|
||||
private->parent = NULL;
|
||||
private->x = 0;
|
||||
private->y = 0;
|
||||
@@ -148,7 +149,7 @@ gdk_pixmap_create_from_data (GdkWindow *window,
|
||||
return NULL;
|
||||
|
||||
if (depth == -1)
|
||||
gdk_window_get_geometry (window, NULL, NULL, NULL, NULL, &depth);
|
||||
depth = gdk_window_get_visual (window)->depth;
|
||||
|
||||
private = g_new (GdkWindowPrivate, 1);
|
||||
pixmap = (GdkPixmap*) private;
|
||||
@@ -255,8 +256,14 @@ gdk_pixmap_read_string (FILE *infile,
|
||||
{
|
||||
if (cnt == (*buffer_size))
|
||||
{
|
||||
(*buffer_size) *= 2;
|
||||
(*buffer) = (gchar *) g_realloc ((*buffer), *buffer_size); }
|
||||
guint new_size = (*buffer_size) * 2;
|
||||
if (new_size > (*buffer_size))
|
||||
*buffer_size = new_size;
|
||||
else
|
||||
return FALSE;
|
||||
|
||||
(*buffer) = (gchar *) g_realloc ((*buffer), *buffer_size);
|
||||
}
|
||||
|
||||
if (c != '"')
|
||||
(*buffer)[cnt++] = c;
|
||||
@@ -398,6 +405,11 @@ gdk_pixmap_colormap_create_from_xpm (GdkWindow *window,
|
||||
gdk_pixmap_read_string (infile, &buffer, &buffer_size);
|
||||
|
||||
sscanf (buffer,"%d %d %d %d", &width, &height, &num_cols, &cpp);
|
||||
if (cpp >= 32)
|
||||
{
|
||||
g_warning ("Pixmap has more than 31 characters per color\n");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
colors = g_new(_GdkPixmapColor, num_cols);
|
||||
|
||||
@@ -573,6 +585,11 @@ gdk_pixmap_colormap_create_from_xpm_d (GdkWindow *window,
|
||||
i = 0;
|
||||
buffer = data[i++];
|
||||
sscanf (buffer,"%d %d %d %d", &width, &height, &num_cols, &cpp);
|
||||
if (cpp >= 32)
|
||||
{
|
||||
g_warning ("Pixmap has more than 31 characters per color\n");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
colors = g_new(_GdkPixmapColor, num_cols);
|
||||
|
||||
|
||||
+119
-59
@@ -20,7 +20,6 @@
|
||||
#include <X11/Xlib.h>
|
||||
#include <X11/Xutil.h>
|
||||
#include <X11/Xatom.h>
|
||||
#include <X11/extensions/shape.h>
|
||||
#include <netinet/in.h>
|
||||
#include "gdk.h"
|
||||
#include "../config.h"
|
||||
@@ -30,6 +29,10 @@
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
|
||||
#ifdef HAVE_SHAPE_EXT
|
||||
#include <X11/extensions/shape.h>
|
||||
#endif
|
||||
|
||||
int nevent_masks = 17;
|
||||
int event_mask_table[19] =
|
||||
{
|
||||
@@ -65,18 +68,18 @@ gdk_window_xid_at(Window base, gint bx, gint by, gint x, gint y,
|
||||
Display *disp;
|
||||
Window *list=NULL;
|
||||
Window child=0,parent_win=0,root_win=0;
|
||||
int i;
|
||||
guint num;
|
||||
int wx,wy;
|
||||
guint ww,wh,wb,wd;
|
||||
|
||||
int i;
|
||||
unsigned int ww, wh, wb, wd, num;
|
||||
int wx,wy;
|
||||
|
||||
window=(GdkWindow*)&gdk_root_parent;
|
||||
private=(GdkWindowPrivate*)window;
|
||||
disp=private->xdisplay;
|
||||
if (!XGetGeometry(disp,base,&root_win,&wx,&wy,&ww,&wh,&wb,&wd))
|
||||
return 0;
|
||||
wx+=bx;wy+=by;
|
||||
if (!((x>=wx)&&(y>=wy)&&(x<(wx+ww))&&(y<(wy+wh))))
|
||||
if (!((x>=wx)&&(y>=wy)&&(x<(int)(wx+ww))&&(y<(int)(wy+wh))))
|
||||
return 0;
|
||||
if (!XQueryTree(disp,base,&root_win,&parent_win,&list,&num))
|
||||
return base;
|
||||
@@ -172,7 +175,7 @@ gdk_window_xid_at_coords(gint x, gint y, GList *excludes, gboolean excl_child)
|
||||
}
|
||||
|
||||
void
|
||||
gdk_window_init ()
|
||||
gdk_window_init (void)
|
||||
{
|
||||
XWindowAttributes xattributes;
|
||||
unsigned int width;
|
||||
@@ -191,6 +194,8 @@ gdk_window_init ()
|
||||
gdk_root_parent.window.user_data = NULL;
|
||||
gdk_root_parent.width = width;
|
||||
gdk_root_parent.height = height;
|
||||
gdk_root_parent.children = NULL;
|
||||
gdk_root_parent.colormap = NULL;
|
||||
}
|
||||
|
||||
GdkWindow*
|
||||
@@ -202,7 +207,6 @@ gdk_window_new (GdkWindow *parent,
|
||||
GdkWindowPrivate *private;
|
||||
GdkWindowPrivate *parent_private;
|
||||
GdkVisual *visual;
|
||||
GdkColormap *colormap;
|
||||
Display *parent_display;
|
||||
Window xparent;
|
||||
Visual *xvisual;
|
||||
@@ -232,6 +236,10 @@ gdk_window_new (GdkWindow *parent,
|
||||
window = (GdkWindow*) private;
|
||||
|
||||
private->parent = parent;
|
||||
|
||||
if (parent_private != &gdk_root_parent)
|
||||
parent_private->children = g_list_prepend (parent_private->children, window);
|
||||
|
||||
private->xdisplay = parent_display;
|
||||
private->destroyed = FALSE;
|
||||
private->resize_count = 0;
|
||||
@@ -264,6 +272,7 @@ gdk_window_new (GdkWindow *parent,
|
||||
private->dnd_drag_eventmask = private->dnd_drag_savedeventmask = 0;
|
||||
|
||||
private->filters = NULL;
|
||||
private->children = NULL;
|
||||
|
||||
window->user_data = NULL;
|
||||
|
||||
@@ -296,9 +305,9 @@ gdk_window_new (GdkWindow *parent,
|
||||
depth = visual->depth;
|
||||
|
||||
if (attributes_mask & GDK_WA_COLORMAP)
|
||||
colormap = attributes->colormap;
|
||||
private->colormap = attributes->colormap;
|
||||
else
|
||||
colormap = gdk_colormap_get_system ();
|
||||
private->colormap = gdk_colormap_get_system ();
|
||||
|
||||
xattributes.background_pixel = BlackPixel (gdk_display, gdk_screen);
|
||||
xattributes.border_pixel = BlackPixel (gdk_display, gdk_screen);
|
||||
@@ -307,26 +316,26 @@ gdk_window_new (GdkWindow *parent,
|
||||
switch (private->window_type)
|
||||
{
|
||||
case GDK_WINDOW_TOPLEVEL:
|
||||
xattributes.colormap = ((GdkColormapPrivate*) colormap)->xcolormap;
|
||||
xattributes.colormap = ((GdkColormapPrivate*) private->colormap)->xcolormap;
|
||||
xattributes_mask |= CWColormap;
|
||||
|
||||
xparent = gdk_root_window;
|
||||
break;
|
||||
|
||||
case GDK_WINDOW_CHILD:
|
||||
xattributes.colormap = ((GdkColormapPrivate*) colormap)->xcolormap;
|
||||
xattributes.colormap = ((GdkColormapPrivate*) private->colormap)->xcolormap;
|
||||
xattributes_mask |= CWColormap;
|
||||
break;
|
||||
|
||||
case GDK_WINDOW_DIALOG:
|
||||
xattributes.colormap = ((GdkColormapPrivate*) colormap)->xcolormap;
|
||||
xattributes.colormap = ((GdkColormapPrivate*) private->colormap)->xcolormap;
|
||||
xattributes_mask |= CWColormap;
|
||||
|
||||
xparent = gdk_root_window;
|
||||
break;
|
||||
|
||||
case GDK_WINDOW_TEMP:
|
||||
xattributes.colormap = ((GdkColormapPrivate*) colormap)->xcolormap;
|
||||
xattributes.colormap = ((GdkColormapPrivate*) private->colormap)->xcolormap;
|
||||
xattributes_mask |= CWColormap;
|
||||
|
||||
xparent = gdk_root_window;
|
||||
@@ -348,7 +357,7 @@ gdk_window_new (GdkWindow *parent,
|
||||
{
|
||||
depth = 0;
|
||||
class = InputOnly;
|
||||
colormap = NULL;
|
||||
private->colormap = NULL;
|
||||
}
|
||||
|
||||
private->xwindow = XCreateWindow (private->xdisplay, xparent,
|
||||
@@ -358,6 +367,9 @@ gdk_window_new (GdkWindow *parent,
|
||||
gdk_window_ref (window);
|
||||
gdk_xid_table_insert (&private->xwindow, window);
|
||||
|
||||
if (private->colormap)
|
||||
gdk_colormap_ref (private->colormap);
|
||||
|
||||
gdk_window_set_cursor (window, ((attributes_mask & GDK_WA_CURSOR) ?
|
||||
(attributes->cursor) :
|
||||
NULL));
|
||||
@@ -372,8 +384,8 @@ gdk_window_new (GdkWindow *parent,
|
||||
break;
|
||||
case GDK_WINDOW_CHILD:
|
||||
if ((attributes->wclass == GDK_INPUT_OUTPUT) &&
|
||||
(colormap != gdk_colormap_get_system ()) &&
|
||||
(colormap != gdk_window_get_colormap (gdk_window_get_toplevel (window))))
|
||||
(private->colormap != gdk_colormap_get_system ()) &&
|
||||
(private->colormap != gdk_window_get_colormap (gdk_window_get_toplevel (window))))
|
||||
{
|
||||
GDK_NOTE (MISC, g_print ("adding colormap window\n"));
|
||||
gdk_window_add_colormap_windows (window);
|
||||
@@ -430,6 +442,7 @@ gdk_window_foreign_new (guint32 anid)
|
||||
{
|
||||
GdkWindow *window;
|
||||
GdkWindowPrivate *private;
|
||||
GdkWindowPrivate *parent_private;
|
||||
XWindowAttributes attrs;
|
||||
Window root, parent;
|
||||
Window *children;
|
||||
@@ -446,6 +459,11 @@ gdk_window_foreign_new (guint32 anid)
|
||||
XFree (children);
|
||||
private->parent = gdk_xid_table_lookup (parent);
|
||||
|
||||
parent_private = (GdkWindowPrivate *)private->parent;
|
||||
|
||||
if (parent_private)
|
||||
parent_private->children = g_list_prepend (parent_private->children, window);
|
||||
|
||||
private->xwindow = anid;
|
||||
private->xdisplay = gdk_display;
|
||||
private->x = attrs.x;
|
||||
@@ -458,6 +476,7 @@ gdk_window_foreign_new (guint32 anid)
|
||||
private->destroyed = FALSE;
|
||||
private->extension_events = 0;
|
||||
|
||||
private->colormap = NULL;
|
||||
|
||||
private->dnd_drag_data_type = None;
|
||||
private->dnd_drag_data_typesavail =
|
||||
@@ -469,6 +488,7 @@ gdk_window_foreign_new (guint32 anid)
|
||||
private->dnd_drag_eventmask = private->dnd_drag_savedeventmask = 0;
|
||||
|
||||
private->filters = NULL;
|
||||
private->children = NULL;
|
||||
|
||||
window->user_data = NULL;
|
||||
|
||||
@@ -507,10 +527,17 @@ gdk_window_internal_destroy (GdkWindow *window, gboolean xdestroy,
|
||||
case GDK_WINDOW_FOREIGN:
|
||||
if (!private->destroyed)
|
||||
{
|
||||
if (private->parent)
|
||||
{
|
||||
GdkWindowPrivate *parent_private = (GdkWindowPrivate *)private->parent;
|
||||
if (parent_private->children)
|
||||
parent_private->children = g_list_remove (parent_private->children, window);
|
||||
}
|
||||
|
||||
if (private->window_type != GDK_WINDOW_FOREIGN)
|
||||
{
|
||||
children = gdk_window_get_children (window);
|
||||
tmp = children;
|
||||
children = tmp = private->children;
|
||||
private->children = NULL;
|
||||
|
||||
while (tmp)
|
||||
{
|
||||
@@ -522,7 +549,7 @@ gdk_window_internal_destroy (GdkWindow *window, gboolean xdestroy,
|
||||
gdk_window_internal_destroy (temp_window, FALSE,
|
||||
our_destroy);
|
||||
}
|
||||
|
||||
|
||||
g_list_free (children);
|
||||
}
|
||||
|
||||
@@ -581,6 +608,9 @@ gdk_window_internal_destroy (GdkWindow *window, gboolean xdestroy,
|
||||
else if (xdestroy)
|
||||
XDestroyWindow (private->xdisplay, private->xwindow);
|
||||
|
||||
if (private->colormap)
|
||||
gdk_colormap_unref (private->colormap);
|
||||
|
||||
private->destroyed = TRUE;
|
||||
}
|
||||
break;
|
||||
@@ -1059,6 +1089,11 @@ gdk_window_set_colormap (GdkWindow *window,
|
||||
XSetWindowColormap (window_private->xdisplay,
|
||||
window_private->xwindow,
|
||||
colormap_private->xcolormap);
|
||||
|
||||
if (window_private->colormap)
|
||||
gdk_colormap_unref (window_private->colormap);
|
||||
window_private->colormap = colormap;
|
||||
gdk_colormap_ref (window_private->colormap);
|
||||
|
||||
if (window_private->window_type != GDK_WINDOW_TOPLEVEL)
|
||||
gdk_window_add_colormap_windows (window);
|
||||
@@ -1153,20 +1188,27 @@ gdk_window_get_visual (GdkWindow *window)
|
||||
{
|
||||
GdkWindowPrivate *window_private;
|
||||
XWindowAttributes window_attributes;
|
||||
|
||||
|
||||
g_return_val_if_fail (window != NULL, NULL);
|
||||
|
||||
|
||||
window_private = (GdkWindowPrivate*) window;
|
||||
/* Huh? ->parent is never set for a pixmap. We should just return
|
||||
* null immeditately
|
||||
*/
|
||||
while (window_private && (window_private->window_type == GDK_WINDOW_PIXMAP))
|
||||
window_private = (GdkWindowPrivate*) window_private->parent;
|
||||
|
||||
if (window_private && !window_private->destroyed)
|
||||
{
|
||||
XGetWindowAttributes (window_private->xdisplay,
|
||||
window_private->xwindow,
|
||||
&window_attributes);
|
||||
|
||||
return gdk_visual_lookup (window_attributes.visual);
|
||||
if (window_private->colormap == NULL)
|
||||
{
|
||||
XGetWindowAttributes (window_private->xdisplay,
|
||||
window_private->xwindow,
|
||||
&window_attributes);
|
||||
return gdk_visual_lookup (window_attributes.visual);
|
||||
}
|
||||
else
|
||||
return ((GdkColormapPrivate *)window_private->colormap)->visual;
|
||||
}
|
||||
|
||||
return NULL;
|
||||
@@ -1179,16 +1221,20 @@ gdk_window_get_colormap (GdkWindow *window)
|
||||
XWindowAttributes window_attributes;
|
||||
|
||||
g_return_val_if_fail (window != NULL, NULL);
|
||||
|
||||
window_private = (GdkWindowPrivate*) window;
|
||||
|
||||
|
||||
g_return_val_if_fail (window_private->window_type != GDK_WINDOW_PIXMAP, NULL);
|
||||
if (!window_private->destroyed)
|
||||
{
|
||||
XGetWindowAttributes (window_private->xdisplay,
|
||||
window_private->xwindow,
|
||||
&window_attributes);
|
||||
|
||||
return gdk_colormap_lookup (window_attributes.colormap);
|
||||
if (window_private->colormap == NULL)
|
||||
{
|
||||
XGetWindowAttributes (window_private->xdisplay,
|
||||
window_private->xwindow,
|
||||
&window_attributes);
|
||||
return gdk_colormap_lookup (window_attributes.colormap);
|
||||
}
|
||||
else
|
||||
return window_private->colormap;
|
||||
}
|
||||
|
||||
return NULL;
|
||||
@@ -1436,8 +1482,7 @@ gdk_window_add_colormap_windows (GdkWindow *window)
|
||||
|
||||
/*
|
||||
* This needs the X11 shape extension.
|
||||
* If not available, simply remove the call to
|
||||
* XShapeCombineMask. Shaped windows will look
|
||||
* If not available, shaped windows will look
|
||||
* ugly, but programs still work. Stefan Wille
|
||||
*/
|
||||
void
|
||||
@@ -1445,38 +1490,53 @@ gdk_window_shape_combine_mask (GdkWindow *window,
|
||||
GdkBitmap *mask,
|
||||
gint x, gint y)
|
||||
{
|
||||
enum { UNKNOWN, NO, YES };
|
||||
|
||||
static gint have_shape = UNKNOWN;
|
||||
|
||||
GdkWindowPrivate *window_private;
|
||||
Pixmap pixmap;
|
||||
|
||||
g_return_if_fail (window != NULL);
|
||||
|
||||
/* This is needed, according to raster */
|
||||
gdk_window_set_override_redirect(window, TRUE);
|
||||
|
||||
window_private = (GdkWindowPrivate*) window;
|
||||
if (window_private->destroyed)
|
||||
return;
|
||||
|
||||
if (mask)
|
||||
#ifdef HAVE_SHAPE_EXT
|
||||
if (have_shape == UNKNOWN)
|
||||
{
|
||||
GdkWindowPrivate *pixmap_private;
|
||||
|
||||
pixmap_private = (GdkWindowPrivate*) mask;
|
||||
pixmap = (Pixmap) pixmap_private->xwindow;
|
||||
int ignore;
|
||||
if (XQueryExtension(gdk_display, "SHAPE", &ignore, &ignore, &ignore))
|
||||
have_shape = YES;
|
||||
else
|
||||
have_shape = NO;
|
||||
}
|
||||
else
|
||||
|
||||
if (have_shape == YES)
|
||||
{
|
||||
x = 0;
|
||||
y = 0;
|
||||
pixmap = None;
|
||||
window_private = (GdkWindowPrivate*) window;
|
||||
if (window_private->destroyed)
|
||||
return;
|
||||
|
||||
if (mask)
|
||||
{
|
||||
GdkWindowPrivate *pixmap_private;
|
||||
|
||||
pixmap_private = (GdkWindowPrivate*) mask;
|
||||
pixmap = (Pixmap) pixmap_private->xwindow;
|
||||
}
|
||||
else
|
||||
{
|
||||
x = 0;
|
||||
y = 0;
|
||||
pixmap = None;
|
||||
}
|
||||
|
||||
XShapeCombineMask (window_private->xdisplay,
|
||||
window_private->xwindow,
|
||||
ShapeBounding,
|
||||
x, y,
|
||||
pixmap,
|
||||
ShapeSet);
|
||||
}
|
||||
|
||||
XShapeCombineMask (window_private->xdisplay,
|
||||
window_private->xwindow,
|
||||
ShapeBounding,
|
||||
x, y,
|
||||
pixmap,
|
||||
ShapeSet);
|
||||
#endif /* HAVE_SHAPE_EXT */
|
||||
}
|
||||
|
||||
void
|
||||
|
||||
+33
-14
@@ -61,7 +61,7 @@ handler(int signal)
|
||||
}
|
||||
|
||||
void
|
||||
init_socket()
|
||||
init_socket(void)
|
||||
{
|
||||
struct sockaddr_in sin;
|
||||
|
||||
@@ -130,7 +130,7 @@ enable_device(GxidDevice *dev)
|
||||
/* switch the core pointer from whatever it is now to something else,
|
||||
return true on success, false otherwise */
|
||||
static int
|
||||
switch_core_pointer()
|
||||
switch_core_pointer(void)
|
||||
{
|
||||
GxidDevice *old_pointer = 0;
|
||||
GxidDevice *new_pointer = 0;
|
||||
@@ -222,7 +222,7 @@ init_device(XDeviceInfo *xdevice)
|
||||
}
|
||||
|
||||
void
|
||||
init_xinput()
|
||||
init_xinput(void)
|
||||
{
|
||||
char **extensions;
|
||||
XDeviceInfo *xdevices;
|
||||
@@ -279,12 +279,22 @@ int
|
||||
handle_claim_device(GxidClaimDevice *msg)
|
||||
{
|
||||
int i,j;
|
||||
XID devid = ntohl(msg->device);
|
||||
XID winid = ntohl(msg->window);
|
||||
int exclusive = ntohl(msg->exclusive);
|
||||
XID devid;
|
||||
XID winid;
|
||||
int exclusive;
|
||||
GxidDevice *device = NULL;
|
||||
GxidWindow *window = NULL;
|
||||
|
||||
if (msg->length != sizeof(GxidClaimDevice))
|
||||
{
|
||||
fprintf(stderr,"Bad length for ClaimDevice message\n");
|
||||
return GXID_RETURN_ERROR;
|
||||
}
|
||||
|
||||
devid = ntohl(msg->device);
|
||||
winid = ntohl(msg->window);
|
||||
exclusive = ntohl(msg->exclusive);
|
||||
|
||||
#ifdef DEBUG_CLIENTS
|
||||
fprintf(stderr,"device %ld claimed (window 0x%lx)\n",devid,winid);
|
||||
#endif
|
||||
@@ -397,11 +407,20 @@ int
|
||||
handle_release_device(GxidReleaseDevice *msg)
|
||||
{
|
||||
int i,j;
|
||||
XID devid = ntohl(msg->device);
|
||||
XID winid = ntohl(msg->window);
|
||||
XID devid;
|
||||
XID winid;
|
||||
|
||||
GxidDevice *device = NULL;
|
||||
|
||||
if (msg->length != sizeof(GxidReleaseDevice))
|
||||
{
|
||||
fprintf(stderr,"Bad length for ReleaseDevice message\n");
|
||||
return GXID_RETURN_ERROR;
|
||||
}
|
||||
|
||||
devid = ntohl(msg->device);
|
||||
winid = ntohl(msg->window);
|
||||
|
||||
#ifdef DEBUG_CLIENTS
|
||||
fprintf(stderr,"device %ld released (window 0x%lx)\n",devid,winid);
|
||||
#endif
|
||||
@@ -460,11 +479,11 @@ handle_release_device(GxidReleaseDevice *msg)
|
||||
}
|
||||
|
||||
void
|
||||
handle_connection()
|
||||
handle_connection(void)
|
||||
{
|
||||
GxidMessage msg;
|
||||
GxidU32 type;
|
||||
int length;
|
||||
GxidU32 length;
|
||||
GxidI32 retval;
|
||||
|
||||
int conn_fd;
|
||||
@@ -496,7 +515,7 @@ handle_connection()
|
||||
|
||||
/* read rest of message */
|
||||
|
||||
if (length > sizeof(GxidMessage))
|
||||
if ((length > sizeof(GxidMessage)) || (length < 2*sizeof(GxidU32)))
|
||||
{
|
||||
fprintf(stderr,"%s: Bad message length\n",
|
||||
program_name);
|
||||
@@ -689,7 +708,7 @@ handle_destroy_notify(XDestroyWindowEvent *event)
|
||||
}
|
||||
|
||||
void
|
||||
handle_xevent()
|
||||
handle_xevent(void)
|
||||
{
|
||||
int i;
|
||||
XEvent event;
|
||||
@@ -743,7 +762,7 @@ handle_xevent()
|
||||
}
|
||||
|
||||
void
|
||||
usage()
|
||||
usage(void)
|
||||
{
|
||||
fprintf(stderr,"Usage: %s [-d display] [-p --gxid-port port]\n",
|
||||
program_name);
|
||||
@@ -833,7 +852,7 @@ main(int argc, char **argv)
|
||||
}
|
||||
|
||||
if (FD_ISSET(socket_fd,&readfds))
|
||||
handle_connection(socket_fd);
|
||||
handle_connection();
|
||||
|
||||
while (XPending(dpy))
|
||||
handle_xevent();
|
||||
|
||||
@@ -1,3 +1,15 @@
|
||||
Fri May 1 16:36:08 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gutils.c: (g_strcasecmp). Check for isupper before
|
||||
taking tolower, and account for macroized tolower.
|
||||
|
||||
* gutils.c (g_error): Check for recursion.
|
||||
|
||||
Thu Apr 30 21:41:30 1998 Owen Taylor <otaylor@gtk.org>
|
||||
|
||||
* gstring.c : Check arguments more carefully,
|
||||
(gtk-draco-980423-1.patch; ramsey@rhrk.uni-kl.de)
|
||||
|
||||
Tue Apr 7 19:36:48 1998 Owen Taylor <owt1@cornell.edu>
|
||||
|
||||
* gutils.c (g_direct_compare): Removed, because that's what
|
||||
|
||||
+1
-1
@@ -25,7 +25,7 @@ include_HEADERS = \
|
||||
configinclude_DATA = \
|
||||
glibconfig.h
|
||||
|
||||
libglib_la_LDFLAGS = -version-info 1:0:0
|
||||
libglib_la_LDFLAGS = -version-info $(GLIB_MAJOR_VERSION):$(GLIB_MICRO_VERSION):0
|
||||
|
||||
INCLUDES = -I$(top_srcdir)
|
||||
|
||||
|
||||
+14
-2
@@ -4,8 +4,15 @@ AC_INIT(glist.c)
|
||||
# Save this value here, since automake will set cflags later
|
||||
cflags_set=${CFLAGS+set}
|
||||
|
||||
dnl Initialize automake stuff
|
||||
AM_INIT_AUTOMAKE(glib, 1.0.0)
|
||||
GLIB_MAJOR_VERSION=1
|
||||
GLIB_MINOR_VERSION=0
|
||||
GLIB_MICRO_VERSION=1
|
||||
GLIB_VERSION=$GLIB_MAJOR_VERSION.$GLIB_MINOR_VERSION.$GLIB_MICRO_VERSION
|
||||
|
||||
VERSION=$GLIB_VERSION
|
||||
PACKAGE=glib
|
||||
|
||||
AM_INIT_AUTOMAKE($PACKAGE, $VERSION, no-define)
|
||||
|
||||
# Specify a configuration file
|
||||
AM_CONFIG_HEADER(glibconfig.h)
|
||||
@@ -166,4 +173,9 @@ if test $gtk_ok = no; then
|
||||
fi
|
||||
AC_MSG_RESULT($gtk_ok)
|
||||
|
||||
AC_SUBST(GLIB_MAJOR_VERSION)
|
||||
AC_SUBST(GLIB_MINOR_VERSION)
|
||||
AC_SUBST(GLIB_MICRO_VERSION)
|
||||
AC_SUBST(GLIB_VERSION)
|
||||
|
||||
AC_OUTPUT(Makefile)
|
||||
|
||||
@@ -35,9 +35,6 @@
|
||||
#undef NO_SYS_ERRLIST
|
||||
#undef NO_SYS_SIGLIST
|
||||
|
||||
/* #undef PACKAGE */
|
||||
/* #undef VERSION */
|
||||
|
||||
/* The number of bytes in a char. */
|
||||
#undef SIZEOF_CHAR
|
||||
|
||||
|
||||
+16
-4
@@ -254,8 +254,11 @@ GString*
|
||||
g_string_append (GString *fstring, gchar *val)
|
||||
{
|
||||
GRealString *string = (GRealString*)fstring;
|
||||
int len = strlen (val);
|
||||
int len;
|
||||
|
||||
g_return_val_if_fail (val != NULL, fstring);
|
||||
|
||||
len = strlen (val);
|
||||
g_string_maybe_expand (string, len);
|
||||
|
||||
strcpy (string->str + string->len, val);
|
||||
@@ -282,8 +285,11 @@ GString*
|
||||
g_string_prepend (GString *fstring, gchar *val)
|
||||
{
|
||||
GRealString *string = (GRealString*)fstring;
|
||||
gint len = strlen (val);
|
||||
gint len;
|
||||
|
||||
g_return_val_if_fail (val != NULL, fstring);
|
||||
|
||||
len = strlen (val);
|
||||
g_string_maybe_expand (string, len);
|
||||
|
||||
g_memmove (string->str + len, string->str, string->len);
|
||||
@@ -319,10 +325,13 @@ GString *
|
||||
g_string_insert (GString *fstring, gint pos, gchar *val)
|
||||
{
|
||||
GRealString *string = (GRealString*)fstring;
|
||||
gint len = strlen (val);
|
||||
gint len;
|
||||
|
||||
g_return_val_if_fail (val != NULL, fstring);
|
||||
g_return_val_if_fail (pos >= 0, fstring);
|
||||
g_return_val_if_fail (pos <= string->len, fstring);
|
||||
|
||||
len = strlen (val);
|
||||
g_string_maybe_expand (string, len);
|
||||
|
||||
g_memmove (string->str + pos + len, string->str + pos, string->len - pos);
|
||||
@@ -361,10 +370,13 @@ g_string_erase (GString *fstring, gint pos, gint len)
|
||||
{
|
||||
GRealString *string = (GRealString*)fstring;
|
||||
|
||||
g_return_val_if_fail (len >= 0, fstring);
|
||||
g_return_val_if_fail (pos >= 0, fstring);
|
||||
g_return_val_if_fail (pos <= string->len, fstring);
|
||||
g_return_val_if_fail (pos + len <= string->len, fstring);
|
||||
|
||||
g_memmove (string->str + pos, string->str + pos + len, string->len - (pos + len));
|
||||
if (pos + len < string->len)
|
||||
g_memmove (string->str + pos, string->str + pos + len, string->len - (pos + len));
|
||||
|
||||
string->len -= len;
|
||||
|
||||
|
||||
+18
-4
@@ -22,6 +22,7 @@
|
||||
#include <string.h>
|
||||
#include <locale.h>
|
||||
#include <ctype.h> /* For tolower() */
|
||||
#include <unistd.h>
|
||||
#include "glib.h"
|
||||
|
||||
|
||||
@@ -675,7 +676,14 @@ g_error (gchar *format, ...)
|
||||
{
|
||||
va_list args, args2;
|
||||
char *buf;
|
||||
static gboolean errored = 0;
|
||||
|
||||
if (errored++)
|
||||
{
|
||||
write (2, "g_error: recursed!\n", 19);
|
||||
return;
|
||||
}
|
||||
|
||||
va_start (args, format);
|
||||
va_start (args2, format);
|
||||
buf = g_vsprintf (format, &args, &args2);
|
||||
@@ -688,9 +696,10 @@ g_error (gchar *format, ...)
|
||||
}
|
||||
else
|
||||
{
|
||||
fputs ("\n** ERROR **: ", stderr);
|
||||
fputs (buf, stderr);
|
||||
fputc ('\n', stderr);
|
||||
/* Use write() here because we might be out of memory */
|
||||
write (2, "\n** ERROR **: ", 14);
|
||||
write (2, buf, strlen(buf));
|
||||
write (2, "\n", 1);
|
||||
}
|
||||
|
||||
abort ();
|
||||
@@ -855,9 +864,14 @@ g_strcasecmp (const gchar *s1, const gchar *s2)
|
||||
|
||||
while (*s1 && *s2)
|
||||
{
|
||||
c1 = tolower((guchar)(*s1++)); c2 = tolower((guchar)(*s2++));
|
||||
/* According to A. Cox, some platforms have islower's that
|
||||
* don't work right on non-uppercase
|
||||
*/
|
||||
c1 = isupper ((guchar)*s1) ? tolower ((guchar)*s1) : *s1;
|
||||
c2 = isupper ((guchar)*s2) ? tolower ((guchar)*s2) : *s2;
|
||||
if (c1 != c2)
|
||||
return (c1 - c2);
|
||||
s1++; s2++;
|
||||
}
|
||||
|
||||
return (((gint)(guchar) *s1) - ((gint)(guchar) *s2));
|
||||
|
||||
+54
-33
@@ -32,23 +32,43 @@ if test "${CDPATH+set}" = set; then CDPATH=; export CDPATH; fi
|
||||
echo=echo
|
||||
if test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then :
|
||||
else
|
||||
# The Solaris and AIX default echo program unquotes backslashes.
|
||||
# This makes it impossible to quote backslashes using
|
||||
# The Solaris, AIX, and Digital Unix default echo programs unquote
|
||||
# backslashes. This makes it impossible to quote backslashes using
|
||||
# echo "$something" | sed 's/\\/\\\\/g'
|
||||
# So, we emulate echo with printf '%s\n'
|
||||
echo="printf %s\\n"
|
||||
if test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then :
|
||||
else
|
||||
# Oops. We have no working printf. Try to find a not-so-buggy echo.
|
||||
echo=echo
|
||||
IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:"
|
||||
for dir in $PATH /usr/ucb; do
|
||||
if test -f $dir/echo && test "X`$dir/echo '\t'`" = 'X\t'; then
|
||||
echo="$dir/echo"
|
||||
break
|
||||
#
|
||||
# So, first we look for a working echo in the user's PATH.
|
||||
IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:"
|
||||
for dir in $PATH /usr/ucb; do
|
||||
if test -f $dir/echo && test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t'; then
|
||||
echo="$dir/echo"
|
||||
break
|
||||
fi
|
||||
done
|
||||
IFS="$save_ifs"
|
||||
|
||||
if test "X$echo" = Xecho; then
|
||||
# We didn't find a better echo, so look for alternatives.
|
||||
if test "X`(print -r '\t') 2>/dev/null`" = 'X\t'; then
|
||||
# This shell has a builtin print -r that does the trick.
|
||||
echo='print -r'
|
||||
#
|
||||
# The following is from libtool-1.2a, won't work with this patched
|
||||
# libtool-1.2
|
||||
#
|
||||
# elif test -f /bin/ksh && test "X$CONFIG_SHELL" != X/bin/ksh; then
|
||||
# # If we have ksh, try running ltconfig again with it.
|
||||
# CONFIG_SHELL=/bin/ksh
|
||||
# export CONFIG_SHELL
|
||||
# exec "$CONFIG_SHELL" "$0" --no-reexec ${1+"$@"}
|
||||
else
|
||||
# Try using printf.
|
||||
echo='printf %s\n'
|
||||
if test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then :
|
||||
else
|
||||
# Oops. We lost completely, so just stick with echo.
|
||||
echo=echo
|
||||
fi
|
||||
done
|
||||
IFS="$save_ifs"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
@@ -66,7 +86,7 @@ progname=`$echo "X$0" | $Xsed -e 's%^.*/%%'`
|
||||
# Constants:
|
||||
PROGRAM=ltconfig
|
||||
PACKAGE=libtool
|
||||
VERSION=1.1
|
||||
VERSION=1.2
|
||||
ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.c 1>&5'
|
||||
ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.c $LIBS 1>&5'
|
||||
rm="rm -f"
|
||||
@@ -421,7 +441,7 @@ if test "$with_gcc" != yes || test -z "$CC"; then
|
||||
# Now see if the compiler is really GCC.
|
||||
with_gcc=no
|
||||
echo $ac_n "checking whether we are using GNU C... $ac_c" 1>&6
|
||||
echo "$progname:424: checking whether we are using GNU C" >&5
|
||||
echo "$progname:444: checking whether we are using GNU C" >&5
|
||||
|
||||
$rm conftest.c
|
||||
cat > conftest.c <<EOF
|
||||
@@ -429,7 +449,7 @@ if test "$with_gcc" != yes || test -z "$CC"; then
|
||||
yes;
|
||||
#endif
|
||||
EOF
|
||||
if { ac_try='${CC-cc} -E conftest.c'; { (eval echo $progname:432: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
|
||||
if { ac_try='${CC-cc} -E conftest.c'; { (eval echo $progname:452: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
|
||||
with_gcc=yes
|
||||
fi
|
||||
$rm conftest.c
|
||||
@@ -544,14 +564,15 @@ if test -n "$pic_flag"; then
|
||||
echo > conftest.c
|
||||
save_CFLAGS="$CFLAGS"
|
||||
CFLAGS="$CFLAGS $pic_flag -DPIC"
|
||||
echo "$progname:547: checking if $compiler PIC flag $pic_flag works" >&5
|
||||
if { (eval echo $progname:548: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; } && test -s conftest.o; then
|
||||
# Append any errors to the config.log.
|
||||
echo "$progname:567: checking if $compiler PIC flag $pic_flag works" >&5
|
||||
if { (eval echo $progname:568: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; } && test -s conftest.o; then
|
||||
# Append any warnings to the config.log.
|
||||
cat conftest.err 1>&5
|
||||
|
||||
# On HP-UX, the stripped-down bundled CC does not accept +Z, but also
|
||||
# reports no error. So, we need to grep stderr for (Bundled).
|
||||
if grep '(Bundled)' conftest.err >/dev/null; then
|
||||
# On HP-UX, both CC and GCC only warn that PIC is supported... then they
|
||||
# create non-PIC objects. So, if there were any warnings, we assume that
|
||||
# PIC is not supported.
|
||||
if test -s conftest.err; then
|
||||
echo "$ac_t"no 1>&6
|
||||
can_build_shared=no
|
||||
pic_flag=
|
||||
@@ -587,8 +608,8 @@ $rm conftest*
|
||||
echo 'main(){return(0);}' > conftest.c
|
||||
save_LDFLAGS="$LDFLAGS"
|
||||
LDFLAGS="$LDFLAGS $link_static_flag"
|
||||
echo "$progname:590: checking if $compiler static flag $link_static_flag works" >&5
|
||||
if { (eval echo $progname:591: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
|
||||
echo "$progname:611: checking if $compiler static flag $link_static_flag works" >&5
|
||||
if { (eval echo $progname:612: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
|
||||
echo "$ac_t$link_static_flag" 1>&6
|
||||
else
|
||||
echo "$ac_t"none 1>&6
|
||||
@@ -620,7 +641,7 @@ if test -z "$LD"; then
|
||||
if test "$with_gcc" = yes; then
|
||||
# Check if gcc -print-prog-name=ld gives a path.
|
||||
echo $ac_n "checking for ld used by GCC... $ac_c" 1>&6
|
||||
echo "$progname:623: checking for ld used by GCC" >&5
|
||||
echo "$progname:644: checking for ld used by GCC" >&5
|
||||
ac_prog=`($CC -print-prog-name=ld) 2>&5`
|
||||
case "$ac_prog" in
|
||||
# Accept absolute paths.
|
||||
@@ -638,10 +659,10 @@ if test -z "$LD"; then
|
||||
esac
|
||||
elif test "$with_gnu_ld" = yes; then
|
||||
echo $ac_n "checking for GNU ld... $ac_c" 1>&6
|
||||
echo "$progname:641: checking for GNU ld" >&5
|
||||
echo "$progname:662: checking for GNU ld" >&5
|
||||
else
|
||||
echo $ac_n "checking for non-GNU ld""... $ac_c" 1>&6
|
||||
echo "$progname:644: checking for non-GNU ld" >&5
|
||||
echo "$progname:665: checking for non-GNU ld" >&5
|
||||
fi
|
||||
|
||||
if test -z "$LD"; then
|
||||
@@ -967,11 +988,11 @@ void nm_test_func(){}
|
||||
main(){nm_test_var='a';nm_test_func();return(0);}
|
||||
EOF
|
||||
|
||||
echo "$progname:970: checking if global_symbol_pipe works" >&5
|
||||
if { (eval echo $progname:971: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; } && test -s conftest.o; then
|
||||
echo "$progname:991: checking if global_symbol_pipe works" >&5
|
||||
if { (eval echo $progname:992: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; } && test -s conftest.o; then
|
||||
# Now try to grab the symbols.
|
||||
nlist=conftest.nm
|
||||
if { echo "$progname:974: eval \"$NM conftest.o | $global_symbol_pipe > $nlist\"" >&5; eval "$NM conftest.o | $global_symbol_pipe > $nlist 2>&5"; } && test -s "$nlist"; then
|
||||
if { echo "$progname:995: eval \"$NM conftest.o | $global_symbol_pipe > $nlist\"" >&5; eval "$NM conftest.o | $global_symbol_pipe > $nlist 2>&5"; } && test -s "$nlist"; then
|
||||
|
||||
# Try sorting and uniquifying the output.
|
||||
if sort "$nlist" | uniq > "$nlist"T; then
|
||||
@@ -1029,7 +1050,7 @@ EOF
|
||||
save_CFLAGS="$CFLAGS"
|
||||
LIBS='conftestm.o'
|
||||
CFLAGS="$CFLAGS$no_builtin_flag"
|
||||
if { (eval echo $progname:1032: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
|
||||
if { (eval echo $progname:1053: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
|
||||
pipe_works=yes
|
||||
else
|
||||
echo "$progname: failed program was:" >&5
|
||||
|
||||
+47
-51
@@ -30,7 +30,7 @@ modename="$progname"
|
||||
# Constants.
|
||||
PROGRAM=ltmain.sh
|
||||
PACKAGE=libtool
|
||||
VERSION=1.1
|
||||
VERSION=1.2
|
||||
|
||||
default_mode=
|
||||
help="Try \`$progname --help' for more information."
|
||||
@@ -481,7 +481,7 @@ if test -z "$show_help"; then
|
||||
if test "$export_dynamic" != yes; then
|
||||
export_dynamic=yes
|
||||
if test -n "$export_dynamic_flag_spec"; then
|
||||
arg=`eval \\$echo "$export_dynamic_flag_spec"`
|
||||
eval arg=\"$export_dynamic_flag_spec\"
|
||||
else
|
||||
arg=
|
||||
fi
|
||||
@@ -682,7 +682,7 @@ if test -z "$show_help"; then
|
||||
fi
|
||||
|
||||
if test -n "$libdir"; then
|
||||
flag=`eval \\$echo \"$hardcode_libdir_flag_spec\"`
|
||||
eval flag=\"$hardcode_libdir_flag_spec\"
|
||||
|
||||
compile_command="$compile_command $flag"
|
||||
finalize_command="$finalize_command $flag"
|
||||
@@ -843,7 +843,7 @@ if test -z "$show_help"; then
|
||||
esac
|
||||
|
||||
name=`$echo "X$output" | $Xsed -e 's/\.la$//' -e 's/^lib//'`
|
||||
libname=`eval \\$echo \"$libname_spec\"`
|
||||
eval libname=\"$libname_spec\"
|
||||
|
||||
# All the library-specific variables (install_libdir is set above).
|
||||
library_names=
|
||||
@@ -1006,13 +1006,13 @@ if test -z "$show_help"; then
|
||||
|
||||
if test "$build_libtool_libs" = yes; then
|
||||
# Get the real and link names of the library.
|
||||
library_names=`eval \\$echo \"$library_names_spec\"`
|
||||
eval library_names=\"$library_names_spec\"
|
||||
set dummy $library_names
|
||||
realname="$2"
|
||||
shift; shift
|
||||
|
||||
if test -n "$soname_spec"; then
|
||||
soname=`eval \\$echo \"$soname_spec\"`
|
||||
eval soname=\"$soname_spec\"
|
||||
else
|
||||
soname="$realname"
|
||||
fi
|
||||
@@ -1027,7 +1027,7 @@ if test -z "$show_help"; then
|
||||
test -z "$pic_flag" && libobjs=`$echo "X$libobjs " | $Xsed -e 's/\.lo /.o /g' -e 's/ $//g'`
|
||||
|
||||
# Do each of the archive commands.
|
||||
cmds=`eval \\$echo \"$archive_cmds\"`
|
||||
eval cmds=\"$archive_cmds\"
|
||||
IFS="${IFS= }"; save_ifs="$IFS"; IFS=';'
|
||||
for cmd in $cmds; do
|
||||
IFS="$save_ifs"
|
||||
@@ -1104,7 +1104,7 @@ if test -z "$show_help"; then
|
||||
reload_objs="$objs"`$echo "X$libobjs " | $Xsed -e 's/[^ ]*\.a //g' -e 's/\.lo /.o /g' -e 's/ $//g'`
|
||||
|
||||
output="$obj"
|
||||
cmds=`eval \\$echo \"$reload_cmds\"`
|
||||
eval cmds=\"$reload_cmds\"
|
||||
IFS="${IFS= }"; save_ifs="$IFS"; IFS=';'
|
||||
for cmd in $cmds; do
|
||||
IFS="$save_ifs"
|
||||
@@ -1128,7 +1128,7 @@ if test -z "$show_help"; then
|
||||
# Only do commands if we really have different PIC objects.
|
||||
reload_objs="$libobjs"
|
||||
output="$libobj"
|
||||
cmds=`eval \\$echo \"$reload_cmds\"`
|
||||
eval cmds=\"$reload_cmds\"
|
||||
IFS="${IFS= }"; save_ifs="$IFS"; IFS=';'
|
||||
for cmd in $cmds; do
|
||||
IFS="$save_ifs"
|
||||
@@ -1177,7 +1177,7 @@ if test -z "$show_help"; then
|
||||
fi
|
||||
|
||||
if test -n "$libdir"; then
|
||||
flag=`eval \\$echo \"$hardcode_libdir_flag_spec\"`
|
||||
eval flag=\"$hardcode_libdir_flag_spec\"
|
||||
|
||||
compile_command="$compile_command $flag"
|
||||
finalize_command="$finalize_command $flag"
|
||||
@@ -1254,8 +1254,8 @@ if test -z "$show_help"; then
|
||||
case "$dlsyms" in
|
||||
"") ;;
|
||||
*.c)
|
||||
$echo > "$objdir/$dlsyms" \
|
||||
"/* $dlsyms - symbol resolution table for \`$output' dlsym emulation. */
|
||||
$echo > "$objdir/$dlsyms" "\
|
||||
/* $dlsyms - symbol resolution table for \`$output' dlsym emulation. */
|
||||
/* Generated by $PROGRAM - GNU $PACKAGE $VERSION */
|
||||
|
||||
#ifdef __cplusplus
|
||||
@@ -1266,17 +1266,17 @@ extern \"C\" {
|
||||
#define dld_preloaded_symbol_count some_other_symbol
|
||||
#define dld_preloaded_symbols some_other_symbol
|
||||
|
||||
/* External symbol declarations for the compiler. */"
|
||||
/* External symbol declarations for the compiler. */\
|
||||
"
|
||||
|
||||
if test -f "$nlist"; then
|
||||
sed -e 's/^.* \(.*\)$/extern char \1;/' < "$nlist" >> "$objdir/$dlsyms"
|
||||
else
|
||||
echo '/* NONE */' >> "$objdir/$dlsyms"
|
||||
EOF
|
||||
fi
|
||||
|
||||
$echo >> "$objdir/$dlsyms" \
|
||||
"
|
||||
$echo >> "$objdir/$dlsyms" "\
|
||||
|
||||
#undef dld_preloaded_symbol_count
|
||||
#undef dld_preloaded_symbols
|
||||
|
||||
@@ -1295,19 +1295,21 @@ struct {
|
||||
__ptr_t address;
|
||||
}
|
||||
dld_preloaded_symbols[] =
|
||||
{"
|
||||
{\
|
||||
"
|
||||
|
||||
if test -f "$nlist"; then
|
||||
sed 's/^\(.*\) \(.*\)$/ {"\1", (__ptr_t) \&\2},/' < "$nlist" >> "$objdir/$dlsyms"
|
||||
fi
|
||||
|
||||
$echo >> "$objdir/$dlsyms" \
|
||||
" {0, (__ptr_t) 0}
|
||||
$echo >> "$objdir/$dlsyms" "\
|
||||
{0, (__ptr_t) 0}
|
||||
};
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif"
|
||||
#endif\
|
||||
"
|
||||
;;
|
||||
|
||||
*)
|
||||
@@ -1427,8 +1429,8 @@ dld_preloaded_symbols[] =
|
||||
$rm $output
|
||||
trap "$rm $output; exit 1" 1 2 15
|
||||
|
||||
$echo > $output \
|
||||
"#! /bin/sh
|
||||
$echo > $output "\
|
||||
#! /bin/sh
|
||||
|
||||
# $output - temporary wrapper script for $objdir/$output
|
||||
# Generated by ltmain.sh - GNU $PACKAGE $VERSION
|
||||
@@ -1459,10 +1461,9 @@ else
|
||||
else
|
||||
echo=\"$qecho\"
|
||||
file=\"\$0\"
|
||||
fi
|
||||
"
|
||||
$echo >> $output \
|
||||
fi\
|
||||
"
|
||||
$echo >> $output "\
|
||||
|
||||
# Find the directory that this script lives in.
|
||||
thisdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\`
|
||||
@@ -1496,8 +1497,8 @@ else
|
||||
|
||||
# Export our shlibpath_var if we have one.
|
||||
if test -n "$shlibpath_var" && test -n "$temp_rpath"; then
|
||||
$echo >> $output \
|
||||
" # Add our own library path to $shlibpath_var
|
||||
$echo >> $output "\
|
||||
# Add our own library path to $shlibpath_var
|
||||
$shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
|
||||
|
||||
# Some systems cannot cope with colon-terminated $shlibpath_var
|
||||
@@ -1507,24 +1508,17 @@ else
|
||||
"
|
||||
fi
|
||||
|
||||
echo >> $output \
|
||||
" if test \"\$libtool_execute_magic\" != \"$magic\"; then
|
||||
$echo >> $output "\
|
||||
if test \"\$libtool_execute_magic\" != \"$magic\"; then
|
||||
# Run the actual program with our arguments.
|
||||
args=
|
||||
for arg
|
||||
do
|
||||
# Quote arguments (to preserve shell metacharacters).
|
||||
arg=\`\$echo \"X\$arg\" | \$Xsed -e \"\$sed_quote_subst\"\`
|
||||
args=\"\$args \\\"\$arg\\\"\"
|
||||
done
|
||||
|
||||
# Export the path to the program.
|
||||
PATH=\"\$progdir:\$PATH\"
|
||||
export PATH
|
||||
|
||||
eval \"exec \$program \$args\"
|
||||
exec \$program \${1+\"\$@\"}
|
||||
|
||||
\$echo \"\$0: cannot exec \$program \$args\"
|
||||
\$echo \"\$0: cannot exec \$program \${1+\"\$@\"}\"
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
@@ -1534,7 +1528,8 @@ else
|
||||
echo \"See the $PACKAGE documentation for more information.\" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
fi"
|
||||
fi\
|
||||
"
|
||||
chmod +x $output
|
||||
fi
|
||||
exit 0
|
||||
@@ -1548,9 +1543,9 @@ fi"
|
||||
|
||||
# Do each command in the archive commands.
|
||||
if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then
|
||||
cmds=`eval \\$echo \"$old_archive_from_new_cmds\"`
|
||||
eval cmds=\"$old_archive_from_new_cmds\"
|
||||
else
|
||||
cmds=`eval \\$echo \"$old_archive_cmds\"`
|
||||
eval cmds=\"$old_archive_cmds\"
|
||||
fi
|
||||
IFS="${IFS= }"; save_ifs="$IFS"; IFS=';'
|
||||
for cmd in $cmds; do
|
||||
@@ -1571,8 +1566,8 @@ fi"
|
||||
|
||||
# Only create the output if not a dry run.
|
||||
if test -z "$run"; then
|
||||
echo > $output \
|
||||
"# $output - a libtool library file
|
||||
$echo > $output "\
|
||||
# $output - a libtool library file
|
||||
# Generated by ltmain.sh - GNU $PACKAGE $VERSION
|
||||
|
||||
# The name that we can dlopen(3).
|
||||
@@ -1593,7 +1588,8 @@ age=$age
|
||||
revision=$revision
|
||||
|
||||
# Directory that this library needs to be installed in:
|
||||
libdir='$install_libdir'"
|
||||
libdir='$install_libdir'\
|
||||
"
|
||||
fi
|
||||
|
||||
# Do a symbolic link so that the libtool archive can be found in
|
||||
@@ -1835,7 +1831,7 @@ libdir='$install_libdir'"
|
||||
|
||||
# Do each command in the postinstall commands.
|
||||
lib="$destdir/$realname"
|
||||
cmds=`eval \\$echo \"$postinstall_cmds\"`
|
||||
eval cmds=\"$postinstall_cmds\"
|
||||
IFS="${IFS= }"; save_ifs="$IFS"; IFS=';'
|
||||
for cmd in $cmds; do
|
||||
IFS="$save_ifs"
|
||||
@@ -1972,7 +1968,7 @@ libdir='$install_libdir'"
|
||||
$run eval "$install_prog \$file \$oldlib" || exit $?
|
||||
|
||||
# Do each command in the postinstall commands.
|
||||
cmds=`eval \\$echo \"$old_postinstall_cmds\"`
|
||||
eval cmds=\"$old_postinstall_cmds\"
|
||||
IFS="${IFS= }"; save_ifs="$IFS"; IFS=';'
|
||||
for cmd in $cmds; do
|
||||
IFS="$save_ifs"
|
||||
@@ -2010,7 +2006,7 @@ libdir='$install_libdir'"
|
||||
for libdir in $libdirs; do
|
||||
if test -n "$finish_cmds"; then
|
||||
# Do each command in the finish commands.
|
||||
cmds=`eval \\$echo \"$finish_cmds\"`
|
||||
eval cmds=\"$finish_cmds\"
|
||||
IFS="${IFS= }"; save_ifs="$IFS"; IFS=';'
|
||||
for cmd in $cmds; do
|
||||
IFS="$save_ifs"
|
||||
@@ -2021,7 +2017,7 @@ libdir='$install_libdir'"
|
||||
fi
|
||||
if test -n "$finish_eval"; then
|
||||
# Do the single finish_eval.
|
||||
cmds=`eval \\$echo \"$finish_eval\"`
|
||||
eval cmds=\"$finish_eval\"
|
||||
$run eval "$cmds"
|
||||
fi
|
||||
done
|
||||
@@ -2047,7 +2043,7 @@ libdir='$install_libdir'"
|
||||
fi
|
||||
if test -n "$hardcode_libdir_flag_spec"; then
|
||||
libdir=LIBDIR
|
||||
flag=`eval \\$echo \"$hardcode_libdir_flag_spec\"`
|
||||
eval flag=\"$hardcode_libdir_flag_spec\"
|
||||
|
||||
echo " - use the \`$flag' linker flag"
|
||||
fi
|
||||
@@ -2238,7 +2234,7 @@ libdir='$install_libdir'"
|
||||
|
||||
if test -n "$library_names"; then
|
||||
# Do each command in the postuninstall commands.
|
||||
cmds=`eval \\$echo \"$postuninstall_cmds\"`
|
||||
eval cmds=\"$postuninstall_cmds\"
|
||||
IFS="${IFS= }"; save_ifs="$IFS"; IFS=';'
|
||||
for cmd in $cmds; do
|
||||
IFS="$save_ifs"
|
||||
@@ -2250,7 +2246,7 @@ libdir='$install_libdir'"
|
||||
|
||||
if test -n "$old_library"; then
|
||||
# Do each command in the old_postuninstall commands.
|
||||
cmds=`eval \\$echo \"$old_postuninstall_cmds\"`
|
||||
eval cmds=\"$old_postuninstall_cmds\"
|
||||
IFS="${IFS= }"; save_ifs="$IFS"; IFS=';'
|
||||
for cmd in $cmds; do
|
||||
IFS="$save_ifs"
|
||||
|
||||
@@ -1,334 +0,0 @@
|
||||
;; -*- Lisp -*-
|
||||
(Created-By-Prcs-Version 1 1 0)
|
||||
(Project-Description "")
|
||||
(Project-Version gtk+ 0 16)
|
||||
(Parent-Version gtk+ 0 15)
|
||||
(Descends-From -*- -*- -*-)
|
||||
(Version-Log "")
|
||||
(New-Version-Log "")
|
||||
(Checkin-Time "Wed, 19 Feb 1997 15:49:10 -0800")
|
||||
(Checkin-Login pmattis)
|
||||
(Populate-Ignore ("\\.o$" "\\.a$" "^core$" "^.*/core$"
|
||||
".*.deps/.*" "\\.dvi$" "\\.aux$" "\\.log"
|
||||
"Makefile$" "config.cache$" "config.log$"
|
||||
"configure$" "gconfig.h$" "stamp-h$"))
|
||||
(Files
|
||||
;; This is a comment. Fill in files here.
|
||||
;; For example: (prcs/checkout.cc ())
|
||||
|
||||
; Files added by populate at Thu, 21 Nov 1996 16:48:40 -0800:
|
||||
|
||||
(docs/texinfo.tex (gtk+/1_texinfo.te 1.1 644))
|
||||
(docs/gtk.texi (gtk+/2_gtk.texi 1.5 644))
|
||||
(docs/gdk.texi (gtk+/3_gdk.texi 1.2 644))
|
||||
(docs/Makefile.in (gtk+/4_Makefile.i 1.5 644))
|
||||
(docs/Makefile.am (gtk+/5_Makefile.a 1.2 644))
|
||||
(gtk/testgtk.c (gtk+/6_testgtk.c 1.14 644))
|
||||
(gtk/gtkwindow.h (gtk+/7_gtkwindow. 1.6 644))
|
||||
(gtk/gtkwindow.c (gtk+/8_gtkwindow. 1.10 644))
|
||||
(gtk/gtkwidget.h (gtk+/9_gtkwidget. 1.8 644))
|
||||
(gtk/gtkwidget.c (gtk+/10_gtkwidget. 1.14 644))
|
||||
(gtk/gtkvseparator.h (gtk+/11_gtkvsepara 1.3 644))
|
||||
(gtk/gtkvseparator.c (gtk+/12_gtkvsepara 1.5 644))
|
||||
(gtk/gtkvscrollbar.h (gtk+/13_gtkvscroll 1.3 644))
|
||||
(gtk/gtkvscrollbar.c (gtk+/14_gtkvscroll 1.5 644))
|
||||
(gtk/gtkvscale.h (gtk+/15_gtkvscale. 1.2 644))
|
||||
(gtk/gtkvscale.c (gtk+/16_gtkvscale. 1.7 644))
|
||||
(gtk/gtkvruler.h (gtk+/17_gtkvruler. 1.4 644))
|
||||
(gtk/gtkvruler.c (gtk+/18_gtkvruler. 1.7 644))
|
||||
(gtk/gtkviewport.h (gtk+/19_gtkviewpor 1.3 644))
|
||||
(gtk/gtkviewport.c (gtk+/20_gtkviewpor 1.6 644))
|
||||
(gtk/gtkvbox.h (gtk+/21_gtkvbox.h 1.2 644))
|
||||
(gtk/gtkvbox.c (gtk+/22_gtkvbox.c 1.5 644))
|
||||
(gtk/gtktypeutils.h (gtk+/23_gtktypeuti 1.4 644))
|
||||
(gtk/gtktypeutils.c (gtk+/24_gtktypeuti 1.6 644))
|
||||
(gtk/gtktreeitem.h (gtk+/25_gtktreeite 1.3 644))
|
||||
(gtk/gtktreeitem.c (gtk+/26_gtktreeite 1.4 644))
|
||||
(gtk/gtktree.h (gtk+/27_gtktree.h 1.3 644))
|
||||
(gtk/gtktree.c (gtk+/28_gtktree.c 1.4 644))
|
||||
(gtk/gtktogglebutton.h (gtk+/29_gtktoggleb 1.5 644))
|
||||
(gtk/gtktogglebutton.c (gtk+/30_gtktoggleb 1.8 644))
|
||||
(gtk/gtktable.h (gtk+/31_gtktable.h 1.2 644))
|
||||
(gtk/gtktable.c (gtk+/32_gtktable.c 1.8 644))
|
||||
(gtk/gtkstyle.h (gtk+/33_gtkstyle.h 1.3 644))
|
||||
(gtk/gtkstyle.c (gtk+/34_gtkstyle.c 1.7 644))
|
||||
(gtk/gtksignal.h (gtk+/35_gtksignal. 1.7 644))
|
||||
(gtk/gtksignal.c (gtk+/36_gtksignal. 1.9 644))
|
||||
(gtk/gtkseparator.h (gtk+/37_gtkseparat 1.2 644))
|
||||
(gtk/gtkseparator.c (gtk+/38_gtkseparat 1.4 644))
|
||||
(gtk/gtkscrolledwindow.h (gtk+/39_gtkscrolle 1.2 644))
|
||||
(gtk/gtkscrolledwindow.c (gtk+/40_gtkscrolle 1.8 644))
|
||||
(gtk/gtkscrollbar.h (gtk+/41_gtkscrollb 1.2 644))
|
||||
(gtk/gtkscrollbar.c (gtk+/42_gtkscrollb 1.4 644))
|
||||
(gtk/gtkscale.h (gtk+/43_gtkscale.h 1.4 644))
|
||||
(gtk/gtkscale.c (gtk+/44_gtkscale.c 1.7 644))
|
||||
(gtk/gtkruler.h (gtk+/45_gtkruler.h 1.5 644))
|
||||
(gtk/gtkruler.c (gtk+/46_gtkruler.c 1.8 644))
|
||||
(gtk/gtkrc.h (gtk+/47_gtkrc.h 1.3 644))
|
||||
(gtk/gtkrc.c (gtk+/48_gtkrc.c 1.4 644))
|
||||
(gtk/gtkrange.h (gtk+/49_gtkrange.h 1.4 644))
|
||||
(gtk/gtkrange.c (gtk+/50_gtkrange.c 1.6 644))
|
||||
(gtk/gtkradiobutton.h (gtk+/51_gtkradiobu 1.3 644))
|
||||
(gtk/gtkradiobutton.c (gtk+/b/0_gtkradiobutton.c 1.7 644))
|
||||
(gtk/gtkpixmap.h (gtk+/b/1_gtkpixmap. 1.3 644))
|
||||
(gtk/gtkpixmap.c (gtk+/b/2_gtkpixmap. 1.5 644))
|
||||
(gtk/gtkoptionmenu.h (gtk+/b/3_gtkoptionm 1.5 644))
|
||||
(gtk/gtkoptionmenu.c (gtk+/b/4_gtkoptionm 1.7 644))
|
||||
(gtk/gtkobject.h (gtk+/b/5_gtkobject. 1.6 644))
|
||||
(gtk/gtkobject.c (gtk+/b/6_gtkobject. 1.9 644))
|
||||
(gtk/gtkmisc.h (gtk+/b/7_gtkmisc.h 1.2 644))
|
||||
(gtk/gtkmisc.c (gtk+/b/8_gtkmisc.c 1.4 644))
|
||||
(gtk/gtkmenushell.h (gtk+/b/9_gtkmenushe 1.5 644))
|
||||
(gtk/gtkmenushell.c (gtk+/b/10_gtkmenushe 1.8 644))
|
||||
(gtk/gtkmenuitem.h (gtk+/b/11_gtkmenuite 1.6 644))
|
||||
(gtk/gtkmenuitem.c (gtk+/b/12_gtkmenuite 1.8 644))
|
||||
(gtk/gtkmenubar.h (gtk+/b/13_gtkmenubar 1.4 644))
|
||||
(gtk/gtkmenubar.c (gtk+/b/14_gtkmenubar 1.7 644))
|
||||
(gtk/gtkmenu.h (gtk+/b/15_gtkmenu.h 1.5 644))
|
||||
(gtk/gtkmenu.c (gtk+/b/16_gtkmenu.c 1.8 644))
|
||||
(gtk/gtkmain.h (gtk+/b/17_gtkmain.h 1.4 644))
|
||||
(gtk/gtkmain.c (gtk+/b/18_gtkmain.c 1.11 644))
|
||||
(gtk/gtklistitem.h (gtk+/b/19_gtklistite 1.3 644))
|
||||
(gtk/gtklistitem.c (gtk+/b/20_gtklistite 1.9 644))
|
||||
(gtk/gtklist.h (gtk+/b/21_gtklist.h 1.5 644))
|
||||
(gtk/gtklist.c (gtk+/b/22_gtklist.c 1.10 644))
|
||||
(gtk/gtklabel.h (gtk+/b/23_gtklabel.h 1.2 644))
|
||||
(gtk/gtklabel.c (gtk+/b/24_gtklabel.c 1.7 644))
|
||||
(gtk/gtkitem.h (gtk+/b/25_gtkitem.h 1.3 644))
|
||||
(gtk/gtkitem.c (gtk+/b/26_gtkitem.c 1.7 644))
|
||||
(gtk/gtkimage.h (gtk+/b/27_gtkimage.h 1.2 644))
|
||||
(gtk/gtkimage.c (gtk+/b/28_gtkimage.c 1.4 644))
|
||||
(gtk/gtkhseparator.h (gtk+/b/29_gtkhsepara 1.2 644))
|
||||
(gtk/gtkhseparator.c (gtk+/b/30_gtkhsepara 1.4 644))
|
||||
(gtk/gtkhscrollbar.h (gtk+/b/31_gtkhscroll 1.2 644))
|
||||
(gtk/gtkhscrollbar.c (gtk+/b/32_gtkhscroll 1.4 644))
|
||||
(gtk/gtkhscale.h (gtk+/b/33_gtkhscale. 1.2 644))
|
||||
(gtk/gtkhscale.c (gtk+/b/34_gtkhscale. 1.7 644))
|
||||
(gtk/gtkhruler.h (gtk+/b/35_gtkhruler. 1.4 644))
|
||||
(gtk/gtkhruler.c (gtk+/b/36_gtkhruler. 1.7 644))
|
||||
(gtk/gtkhbox.h (gtk+/b/37_gtkhbox.h 1.2 644))
|
||||
(gtk/gtkhbox.c (gtk+/b/38_gtkhbox.c 1.5 644))
|
||||
(gtk/gtkgc.h (gtk+/b/39_gtkgc.h 1.3 644))
|
||||
(gtk/gtkgc.c (gtk+/b/40_gtkgc.c 1.5 644))
|
||||
(gtk/gtkframe.h (gtk+/b/41_gtkframe.h 1.2 644))
|
||||
(gtk/gtkframe.c (gtk+/b/42_gtkframe.c 1.5 644))
|
||||
(gtk/gtkenums.h (gtk+/b/45_gtkenums.h 1.6 644))
|
||||
(gtk/gtkentry.h (gtk+/b/46_gtkentry.h 1.5 644))
|
||||
(gtk/gtkentry.c (gtk+/b/47_gtkentry.c 1.9 644))
|
||||
(gtk/gtkdrawingarea.h (gtk+/b/48_gtkdrawing 1.4 644))
|
||||
(gtk/gtkdrawingarea.c (gtk+/b/49_gtkdrawing 1.6 644))
|
||||
(gtk/gtkdata.h (gtk+/b/50_gtkdata.h 1.2 644))
|
||||
(gtk/gtkdata.c (gtk+/b/51_gtkdata.c 1.7 644))
|
||||
(gtk/gtkcontainer.h (gtk+/c/0_gtkcontainer.h 1.6 644))
|
||||
(gtk/gtkcontainer.c (gtk+/c/1_gtkcontain 1.10 644))
|
||||
(gtk/gtkcheckbutton.h (gtk+/c/2_gtkcheckbu 1.3 644))
|
||||
(gtk/gtkcheckbutton.c (gtk+/c/3_gtkcheckbu 1.6 644))
|
||||
(gtk/gtkbutton.h (gtk+/c/4_gtkbutton. 1.4 644))
|
||||
(gtk/gtkbutton.c (gtk+/c/5_gtkbutton. 1.9 644))
|
||||
(gtk/gtkbox.h (gtk+/c/6_gtkbox.h 1.2 644))
|
||||
(gtk/gtkbox.c (gtk+/c/7_gtkbox.c 1.5 644))
|
||||
(gtk/gtkbin.h (gtk+/c/8_gtkbin.h 1.2 644))
|
||||
(gtk/gtkbin.c (gtk+/c/9_gtkbin.c 1.6 644))
|
||||
(gtk/gtkarrow.h (gtk+/c/10_gtkarrow.h 1.2 644))
|
||||
(gtk/gtkarrow.c (gtk+/c/11_gtkarrow.c 1.4 644))
|
||||
(gtk/gtkalignment.h (gtk+/c/12_gtkalignme 1.2 644))
|
||||
(gtk/gtkalignment.c (gtk+/c/13_gtkalignme 1.5 644))
|
||||
(gtk/gtkadjustment.h (gtk+/c/14_gtkadjustm 1.3 644))
|
||||
(gtk/gtkadjustment.c (gtk+/c/15_gtkadjustm 1.7 644))
|
||||
(gtk/gtkaccelerator.h (gtk+/c/16_gtkacceler 1.4 644))
|
||||
(gtk/gtkaccelerator.c (gtk+/c/17_gtkacceler 1.4 644))
|
||||
(gtk/gtk.h (gtk+/c/18_gtk.h 1.7 644))
|
||||
(gtk/fnmatch.h (gtk+/c/19_fnmatch.h 1.1 644))
|
||||
(gtk/fnmatch.c (gtk+/c/20_fnmatch.c 1.1 644))
|
||||
(TODO (gtk+/c/21_TODO 1.13 644))
|
||||
(gtk/Makefile.in (gtk+/c/22_Makefile.i 1.10 644))
|
||||
(gtk/Makefile.am (gtk+/c/23_Makefile.a 1.10 644))
|
||||
(gdk/makekeysyms.sed (gtk+/c/24_makekeysym 1.1 644))
|
||||
(gdk/makekeysyms (gtk+/c/25_makekeysym 1.1 755))
|
||||
(gdk/makecursors.sed (gtk+/c/26_makecursor 1.1 644))
|
||||
(gdk/makecursors (gtk+/c/27_makecursor 1.1 755))
|
||||
(gdk/gdkx.h (gtk+/c/28_gdkx.h 1.2 644))
|
||||
(gdk/gdkwindow.c (gtk+/c/29_gdkwindow. 1.8 644))
|
||||
(gdk/gdkvisual.c (gtk+/c/30_gdkvisual. 1.2 644))
|
||||
(gdk/gdktypes.h (gtk+/c/31_gdktypes.h 1.6 644))
|
||||
(gdk/gdkrectangle.c (gtk+/c/32_gdkrectang 1.3 644))
|
||||
(gdk/gdkprivate.h (gtk+/c/33_gdkprivate 1.4 644))
|
||||
(gdk/gdkpixmap.c (gtk+/c/34_gdkpixmap. 1.6 644))
|
||||
(gdk/gdkkeysyms.h (gtk+/c/35_gdkkeysyms 1.2 644))
|
||||
(gdk/gdkimage.c (gtk+/c/36_gdkimage.c 1.4 644))
|
||||
(gdk/gdkglobals.c (gtk+/c/37_gdkglobals 1.3 644))
|
||||
(gdk/gdkgc.c (gtk+/c/38_gdkgc.c 1.6 644))
|
||||
(gdk/gdkfont.c (gtk+/c/39_gdkfont.c 1.4 644))
|
||||
(gdk/gdkdraw.c (gtk+/c/40_gdkdraw.c 1.4 644))
|
||||
(gdk/gdkcursors.h (gtk+/c/41_gdkcursors 1.3 644))
|
||||
(gdk/gdkcursor.c (gtk+/c/42_gdkcursor. 1.3 644))
|
||||
(gdk/gdkcolor.c (gtk+/c/43_gdkcolor.c 1.4 644))
|
||||
(gdk/gdk.h (gtk+/c/44_gdk.h 1.6 644))
|
||||
(gdk/gdk.c (gtk+/c/45_gdk.c 1.8 644))
|
||||
(gdk/Makefile.in (gtk+/c/46_Makefile.i 1.7 644))
|
||||
(gdk/Makefile.am (gtk+/c/47_Makefile.a 1.7 644))
|
||||
(glib/testglib.c (gtk+/c/48_testglib.c 1.8 644))
|
||||
(glib/stamp-h.in (gtk+/c/49_stamp-h.in 1.1 644))
|
||||
(glib/mkinstalldirs (gtk+/c/50_mkinstalld 1.1 755))
|
||||
(glib/install-sh (gtk+/c/51_install-sh 1.1 755))
|
||||
(glib/gutils.c (gtk+/d/0_gutils.c 1.3 644))
|
||||
(glib/gtimer.c (gtk+/d/1_gtimer.c 1.2 644))
|
||||
(glib/gslist.c (gtk+/d/2_gslist.c 1.6 644))
|
||||
(glib/gprimes.c (gtk+/d/3_gprimes.c 1.2 644))
|
||||
(glib/gmem.c (gtk+/d/4_gmem.c 1.9 644))
|
||||
(glib/glist.c (gtk+/d/5_glist.c 1.4 644))
|
||||
(glib/glib.h (gtk+/d/6_glib.h 1.8 644))
|
||||
(glib/ghash.c (gtk+/d/7_ghash.c 1.5 644))
|
||||
(glib/gerror.c (gtk+/d/8_gerror.c 1.4 644))
|
||||
(glib/gconfig.h.in (gtk+/d/9_gconfig.h. 1.3 644))
|
||||
(glib/gconfig.h (gtk+/d/10_gconfig.h 1.6 644))
|
||||
(glib/gcache.c (gtk+/d/11_gcache.c 1.6 644))
|
||||
(glib/configure.in (gtk+/d/12_configure. 1.4 644))
|
||||
(glib/configure (gtk+/d/13_configure 1.4 755))
|
||||
(glib/config.sub (gtk+/d/14_config.sub 1.2 755))
|
||||
(glib/config.guess (gtk+/d/15_config.gue 1.2 755))
|
||||
(glib/aclocal.m4 (gtk+/d/16_aclocal.m4 1.4 644))
|
||||
(glib/acconfig.h (gtk+/d/17_acconfig.h 1.3 644))
|
||||
(glib/README (gtk+/d/18_README 1.1 644))
|
||||
(glib/NEWS (gtk+/d/19_NEWS 1.1 644))
|
||||
(glib/Makefile.in (gtk+/d/20_Makefile.i 1.7 644))
|
||||
(glib/Makefile.am (gtk+/d/21_Makefile.a 1.7 644))
|
||||
(glib/INSTALL (gtk+/d/22_INSTALL 1.1 644))
|
||||
(glib/ChangeLog (gtk+/d/23_ChangeLog 1.2 644))
|
||||
(glib/COPYING (gtk+/d/24_COPYING 1.1 644))
|
||||
(glib/AUTHORS (gtk+/d/25_AUTHORS 1.2 644))
|
||||
(stamp-h.in (gtk+/d/26_stamp-h.in 1.1 644))
|
||||
(mkinstalldirs (gtk+/d/27_mkinstalld 1.1 755))
|
||||
(install-sh (gtk+/d/28_install-sh 1.1 755))
|
||||
(configure.in (gtk+/d/30_configure. 1.8 644))
|
||||
(configure (gtk+/d/31_configure 1.8 755))
|
||||
(config.sub (gtk+/d/32_config.sub 1.2 755))
|
||||
(config.h.in (gtk+/d/33_config.h.i 1.4 644))
|
||||
(config.guess (gtk+/d/34_config.gue 1.2 755))
|
||||
(aclocal.m4 (gtk+/d/35_aclocal.m4 1.4 644))
|
||||
(acconfig.h (gtk+/d/36_acconfig.h 1.3 644))
|
||||
(README (gtk+/d/37_README 1.1 644))
|
||||
(NEWS (gtk+/d/38_NEWS 1.1 644))
|
||||
(Makefile.in (gtk+/d/39_Makefile.i 1.9 644))
|
||||
(Makefile.am (gtk+/d/40_Makefile.a 1.7 644))
|
||||
(INSTALL (gtk+/d/41_INSTALL 1.1 644))
|
||||
(ChangeLog (gtk+/d/42_ChangeLog 1.14 644))
|
||||
(COPYING (gtk+/d/43_COPYING 1.2 644))
|
||||
(AUTHORS (gtk+/d/44_AUTHORS 1.2 644))
|
||||
|
||||
; Files added by populate at Mon, 30 Dec 1996 13:14:24 -0800:
|
||||
|
||||
(gtk/gtkmenufactory.h (gtk+/0_gtkmenufac 1.4 644))
|
||||
(gtk/gtkmenufactory.c (gtk+/1_gtkmenufac 1.4 644))
|
||||
|
||||
; Files added by populate at Thu, 02 Jan 1997 15:31:44 -0800:
|
||||
|
||||
(gtk/testgtkrc (gtk+/0_testgtkrc 1.2 644))
|
||||
|
||||
|
||||
; Files added by populate at Fri, 10 Jan 1997 14:19:47 -0800:
|
||||
|
||||
(gtk/gtkfilesel.h (gtk+/b/0_gtkfilesel.h 1.3 644))
|
||||
(gtk/gtkfilesel.c (gtk+/c/0_gtkfilesel.c 1.7 644))
|
||||
(glib/gstring.c (gtk+/d/0_gstring.c 1.4 644))
|
||||
|
||||
; Files added by populate at Fri, 10 Jan 1997 18:01:19 -0800:
|
||||
|
||||
(gdk/gdkselection.c (gtk+/b/0_gdkselection.c 1.5 644))
|
||||
|
||||
; Files added by populate at Sun, 19 Jan 1997 18:29:12 -0800:
|
||||
|
||||
(gtk/gtktext.h (gtk+/b/0_gtktext.h 1.4 644))
|
||||
(gtk/gtktext.c (gtk+/c/0_gtktext.c 1.7 644))
|
||||
(gtk/gtkdialog.h (gtk+/d/0_gtkdialog.h 1.2 644))
|
||||
(gtk/gtkdialog.c (gtk+/d/47_gtkdialog. 1.4 644))
|
||||
(gdk/gdkxid.c (gtk+/d/48_gdkxid.c 1.2 644))
|
||||
|
||||
; Files added by populate at Thu, 23 Jan 1997 01:29:17 -0800:
|
||||
|
||||
(gtk/gtknotebook.h (gtk+/b/0_gtknotebook.h 1.3 644))
|
||||
(gtk/gtknotebook.c (gtk+/c/0_gtknotebook.c 1.6 644))
|
||||
|
||||
; Files added by populate at Thu, 23 Jan 1997 02:06:11 -0800:
|
||||
|
||||
(gtk/line-wrap.xbm (gtk+/b/0_line-wrap.xbm 1.1 644))
|
||||
(gtk/line-arrow.xbm (gtk+/c/0_line-arrow.xbm 1.1 644))
|
||||
|
||||
; Files added by populate at Fri, 24 Jan 1997 13:02:44 -0800:
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
; Files deleted by populate at Fri, 24 Jan 1997 13:02:44 -0800:
|
||||
|
||||
; `docs/texinfo3.7.patch'
|
||||
|
||||
; Files added by populate at Tue, 28 Jan 1997 16:54:35 -0800:
|
||||
|
||||
(gtk/simple.c (gtk+/e/0_simple.c 1.1 644))
|
||||
(glib/ltmain.sh (gtk+/e/1_ltmain.sh 1.3 644))
|
||||
(glib/ltconfig (gtk+/e/2_ltconfig 1.3 755))
|
||||
(ltmain.sh (gtk+/e/3_ltmain.sh 1.3 644))
|
||||
(ltconfig (gtk+/e/4_ltconfig 1.3 755))
|
||||
|
||||
; Files added by populate at Thu, 30 Jan 1997 01:30:38 -0800:
|
||||
|
||||
(glib/gtree.c (gtk+/b/0_gtree.c 1.3 644))
|
||||
|
||||
; Files added by populate at Mon, 03 Feb 1997 19:46:14 -0800:
|
||||
|
||||
(makecopyright (gtk+/b/0_makecopyright 1.1 755))
|
||||
|
||||
; Files added by populate at Sat, 08 Feb 1997 14:41:52 -0800:
|
||||
|
||||
(gtk/gtkprogressbar.h (gtk+/b/0_gtkprogressbar.h 1.1 644))
|
||||
(gtk/gtkprogressbar.c (gtk+/c/0_gtkprogressbar.c 1.1 644))
|
||||
(glib/garray.c (gtk+/d/0_garray.c 1.1 644))
|
||||
|
||||
; Files deleted by populate at Sat, 08 Feb 1997 14:41:52 -0800:
|
||||
|
||||
; `interp/Makefile.am'
|
||||
; `interp/Makefile.in'
|
||||
; `interp/interp.c'
|
||||
|
||||
;; Files added by populate at Wed, 19 Feb 1997 15:48:04 -0800:
|
||||
|
||||
(gtk+.xconfig.in (gtk+/b/0_gtk+.xconfig.in 1.1 644))
|
||||
|
||||
;; Files deleted by populate at Wed, 19 Feb 1997 15:48:04 -0800:
|
||||
|
||||
; docs/proposal.tex
|
||||
|
||||
;; Files added by populate at Thu, 17 Apr 1997 17:39:47 -0700:
|
||||
|
||||
(docs/macros.texi ())
|
||||
(gdk/gdkproperty.c ())
|
||||
(glib/missing () :symlink)
|
||||
(missing () :symlink)
|
||||
|
||||
;; Files deleted by populate at Thu, 17 Apr 1997 17:39:47 -0700:
|
||||
|
||||
; gtk/gtkcanvas.c
|
||||
; gtk/gtkcanvas.h
|
||||
; gtk/gtkfill.c
|
||||
; gtk/gtkfill.h
|
||||
|
||||
;; Files added by populate at Thu, 17 Apr 1997 17:41:14 -0700:
|
||||
|
||||
(gtk/gtktooltips.h ())
|
||||
(gtk/gtktooltips.c ())
|
||||
(gtk/gtkradiomenuitem.h ())
|
||||
(gtk/gtkradiomenuitem.c ())
|
||||
(gtk/gtkpreview.h ())
|
||||
(gtk/gtkpreview.c ())
|
||||
(gtk/gtkcolorsel.h ())
|
||||
(gtk/gtkcolorsel.c ())
|
||||
(gtk/gtkcheckmenuitem.h ())
|
||||
(gtk/gtkcheckmenuitem.c ())
|
||||
(gtk/gtkaspectframe.h ())
|
||||
(gtk/gtkaspectframe.c ())
|
||||
)
|
||||
(Merge-Parents)
|
||||
(New-Merge-Parents)
|
||||
@@ -1,5 +1,5 @@
|
||||
# Note that this is NOT a relocatable package
|
||||
%define ver 1.0.0
|
||||
%define ver 1.0.1
|
||||
%define rel SNAP
|
||||
%define prefix /usr
|
||||
|
||||
@@ -46,6 +46,10 @@ are in gtk+-devel.
|
||||
|
||||
%changelog
|
||||
|
||||
* Sun May 3 1998 Shawn T. Amundson <amundson@gtk.org>
|
||||
|
||||
- Changed version to 1.0.1
|
||||
|
||||
* Mon Apr 13 1998 Marc Ewing <marc@redhat.com>
|
||||
|
||||
- Split out glib package
|
||||
|
||||
@@ -12,6 +12,8 @@ AC_ARG_WITH(gtk-prefix,[ --with-gtk-prefix=PFX Prefix where GTK is installed
|
||||
gtk_config_prefix="$withval", gtk_config_prefix="")
|
||||
AC_ARG_WITH(gtk-exec-prefix,[ --with-gtk-exec-prefix=PFX Exec prefix where GTK is installed (optional)],
|
||||
gtk_config_exec_prefix="$withval", gtk_config_exec_prefix="")
|
||||
AC_ARG_ENABLE(gtktest, [ --disable-gtktest Do not try to compile and run a test GTK program],
|
||||
, enable_gtktest=yes)
|
||||
|
||||
if test x$gtk_config_exec_prefix != x ; then
|
||||
gtk_config_args="$gtk_config_args --exec-prefix=$gtk_config_exec_prefix"
|
||||
@@ -30,18 +32,28 @@ AC_ARG_WITH(gtk-exec-prefix,[ --with-gtk-exec-prefix=PFX Exec prefix where GTK
|
||||
min_gtk_version=ifelse([$1], ,0.99.7,$1)
|
||||
AC_MSG_CHECKING(for GTK - version >= $min_gtk_version)
|
||||
no_gtk=""
|
||||
if test "$GTK_CONFIG" != "no" ; then
|
||||
if test "$GTK_CONFIG" = "no" ; then
|
||||
no_gtk=yes
|
||||
else
|
||||
GTK_CFLAGS=`$GTK_CONFIG $gtk_config_args --cflags`
|
||||
GTK_LIBS=`$GTK_CONFIG $gtk_config_args --libs`
|
||||
ac_save_CFLAGS="$CFLAGS"
|
||||
ac_save_LIBS="$LIBS"
|
||||
CFLAGS="$CFLAGS $GTK_CFLAGS"
|
||||
LIBS="$LIBS $GTK_LIBS"
|
||||
gtk_config_major_version=`$GTK_CONFIG $gtk_config_args --version | \
|
||||
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
|
||||
gtk_config_minor_version=`$GTK_CONFIG $gtk_config_args --version | \
|
||||
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
|
||||
gtk_config_micro_version=`$GTK_CONFIG $gtk_config_args --version | \
|
||||
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
|
||||
if test "x$enable_gtktest" = "xyes" ; then
|
||||
ac_save_CFLAGS="$CFLAGS"
|
||||
ac_save_LIBS="$LIBS"
|
||||
CFLAGS="$CFLAGS $GTK_CFLAGS"
|
||||
LIBS="$LIBS $GTK_LIBS"
|
||||
dnl
|
||||
dnl Now check if the installed GTK is sufficiently new. (Also sanity
|
||||
dnl checks the results of gtk-config to some extent
|
||||
dnl
|
||||
AC_TRY_RUN([
|
||||
rm -f conf.gtktest
|
||||
AC_TRY_RUN([
|
||||
#include <gtk/gtk.h>
|
||||
#include <stdio.h>
|
||||
|
||||
@@ -50,30 +62,109 @@ main ()
|
||||
{
|
||||
int major, minor, micro;
|
||||
|
||||
system ("touch conf.gtktest");
|
||||
|
||||
if (sscanf("$min_gtk_version", "%d.%d.%d", &major, &minor, µ) != 3) {
|
||||
printf("%s, bad version string\n", "$min_gtk_version");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
return !((gtk_major_version > major) ||
|
||||
((gtk_major_version == major) && (gtk_minor_version > minor)) ||
|
||||
((gtk_major_version == major) && (gtk_minor_version == minor) && (gtk_micro_version >= micro)));
|
||||
if ((gtk_major_version != $gtk_config_major_version) ||
|
||||
(gtk_minor_version != $gtk_config_minor_version) ||
|
||||
(gtk_micro_version != $gtk_config_micro_version))
|
||||
{
|
||||
printf("\n*** 'gtk-config --version' returned %d.%d.%d, but GTK+ (%d.%d.%d)\n",
|
||||
$gtk_config_major_version, $gtk_config_minor_version, $gtk_config_micro_version,
|
||||
gtk_major_version, gtk_minor_version, gtk_micro_version);
|
||||
printf ("*** was found! If gtk-config was correct, then it is best\n");
|
||||
printf ("*** to remove the old version of GTK+. You may also be able to fix the error\n");
|
||||
printf("*** by modifying your LD_LIBRARY_PATH enviroment variable, or by editing\n");
|
||||
printf("*** /etc/ld.so.conf. Make sure you have run ldconfig if that is\n");
|
||||
printf("*** required on your system.\n");
|
||||
printf("*** If gtk-config was wrong, set the environment variable GTK_CONFIG\n");
|
||||
printf("*** to point to the correct copy of gtk-config, and remove the file config.cache\n");
|
||||
printf("*** before re-running configure\n");
|
||||
}
|
||||
else
|
||||
{
|
||||
if ((gtk_major_version > major) ||
|
||||
((gtk_major_version == major) && (gtk_minor_version > minor)) ||
|
||||
((gtk_major_version == major) && (gtk_minor_version == minor) && (gtk_micro_version >= micro)))
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
printf("\n*** An old version of GTK+ (%d.%d.%d) was found.\n",
|
||||
gtk_major_version, gtk_minor_version, gtk_micro_version);
|
||||
printf("*** You need a version of GTK+ newer than %d.%d.%d. The latest version of\n",
|
||||
major, minor, micro);
|
||||
printf("*** GTK+ is always available from ftp://ftp.gtk.org.\n");
|
||||
printf("***\n");
|
||||
printf("*** If you have already installed a sufficiently new version, this error\n");
|
||||
printf("*** probably means that the wrong copy of the gtk-config shell script is\n");
|
||||
printf("*** being found. The easiest way to fix this is to remove the old version\n");
|
||||
printf("*** of GTK+, but you can also set the GTK_CONFIG environment to point to the\n");
|
||||
printf("*** correct copy of gtk-config. (In this case, you will have to\n");
|
||||
printf("*** modify your LD_LIBRARY_PATH enviroment variable, or edit /etc/ld.so.conf\n");
|
||||
printf("*** so that the correct libraries are found at run-time))\n");
|
||||
}
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
],, no_gtk=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
|
||||
CFLAGS="$ac_save_CFLAGS"
|
||||
LIBS="$ac_save_LIBS"
|
||||
else
|
||||
no_gtk=yes
|
||||
CFLAGS="$ac_save_CFLAGS"
|
||||
LIBS="$ac_save_LIBS"
|
||||
fi
|
||||
fi
|
||||
if test "x$no_gtk" = x ; then
|
||||
AC_MSG_RESULT(yes)
|
||||
ifelse([$2], , :, [$2])
|
||||
else
|
||||
AC_MSG_RESULT(no)
|
||||
if test "$GTK_CONFIG" = "no" ; then
|
||||
echo "*** The gtk-config script installed by GTK could not be found"
|
||||
echo "*** If GTK was installed in PREFIX, make sure PREFIX/bin is in"
|
||||
echo "*** your path, or set the GTK_CONFIG environment variable to the"
|
||||
echo "*** full path to gtk-config."
|
||||
else
|
||||
if test -f conf.gtktest ; then
|
||||
:
|
||||
else
|
||||
echo "*** Could not run GTK test program, checking why..."
|
||||
CFLAGS="$CFLAGS $GTK_CFLAGS"
|
||||
LIBS="$LIBS $GTK_LIBS"
|
||||
AC_TRY_LINK([
|
||||
#include <gtk/gtk.h>
|
||||
#include <stdio.h>
|
||||
], [ return ((gtk_major_version) || (gtk_minor_version) || (gtk_micro_version)); ],
|
||||
[ echo "*** The test program compiled, but did not run. This usually means"
|
||||
echo "*** that the run-time linker is not finding GTK or finding the wrong"
|
||||
echo "*** version of GTK. If it is not finding GTK, you'll need to set your"
|
||||
echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"
|
||||
echo "*** to the installed location Also, make sure you have run ldconfig if that"
|
||||
echo "*** is required on your system"
|
||||
echo "***"
|
||||
echo "*** If you have an old version installed, it is best to remove it, although"
|
||||
echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"
|
||||
echo "***"
|
||||
echo "*** If you have a RedHat 5.0 system, you should remove the GTK package that"
|
||||
echo "*** came with the system with the command"
|
||||
echo "***"
|
||||
echo "*** rpm --erase --nodeps gtk gtk-devel" ],
|
||||
[ echo "*** The test program failed to compile or link. See the file config.log for the"
|
||||
echo "*** exact error that occured. This usually means GTK was incorrectly installed"
|
||||
echo "*** or that you have moved GTK since it was installed. In the latter case, you"
|
||||
echo "*** may want to edit the gtk-config script: $GTK_CONFIG" ])
|
||||
CFLAGS="$ac_save_CFLAGS"
|
||||
LIBS="$ac_save_LIBS"
|
||||
fi
|
||||
fi
|
||||
GTK_CFLAGS=""
|
||||
GTK_LIBS=""
|
||||
ifelse([$3], , :, [$3])
|
||||
fi
|
||||
AC_SUBST(GTK_CFLAGS)
|
||||
AC_SUBST(GTK_LIBS)
|
||||
rm -f conf.gtktest
|
||||
])
|
||||
|
||||
+2
-1
@@ -197,12 +197,13 @@ $(srcdir)/gtktypebuiltins.h: @MAINT@ $(srcdir)/gtk.defs $(srcdir)/gentypeinfo.el
|
||||
$(srcdir)/gtktypebuiltins.c: @MAINT@ $(srcdir)/gtk.defs $(srcdir)/gentypeinfo.el
|
||||
$(SHELL) $(srcdir)/runelisp $(srcdir)/gentypeinfo.el id $< $@
|
||||
|
||||
libgtk_la_LDFLAGS = -version-info 1:0:0
|
||||
libgtk_la_LDFLAGS = -version-info $(GTK_MAJOR_VERSION):$(GTK_MICRO_VERSION):0
|
||||
|
||||
EXTRA_DIST = \
|
||||
line-arrow.xbm \
|
||||
line-wrap.xbm \
|
||||
testgtkrc \
|
||||
testgtkrc2 \
|
||||
gtk.defs \
|
||||
runelisp \
|
||||
gentypeinfo.el \
|
||||
|
||||
-690
@@ -1,690 +0,0 @@
|
||||
# Makefile.in generated automatically by automake 1.2c from Makefile.am
|
||||
|
||||
# Copyright (C) 1994, 1995, 1996, 1997 Free Software Foundation, Inc.
|
||||
# This Makefile.in is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
# PARTICULAR PURPOSE.
|
||||
|
||||
|
||||
SHELL = /bin/sh
|
||||
|
||||
srcdir = @srcdir@
|
||||
top_srcdir = @top_srcdir@
|
||||
VPATH = @srcdir@
|
||||
prefix = @prefix@
|
||||
exec_prefix = @exec_prefix@
|
||||
|
||||
bindir = @bindir@
|
||||
sbindir = @sbindir@
|
||||
libexecdir = @libexecdir@
|
||||
datadir = @datadir@
|
||||
sysconfdir = @sysconfdir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
localstatedir = @localstatedir@
|
||||
libdir = @libdir@
|
||||
infodir = @infodir@
|
||||
mandir = @mandir@
|
||||
includedir = @includedir@
|
||||
oldincludedir = /usr/include
|
||||
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
|
||||
top_builddir = ..
|
||||
|
||||
ACLOCAL = @ACLOCAL@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
transform = @program_transform_name@
|
||||
|
||||
NORMAL_INSTALL = true
|
||||
PRE_INSTALL = true
|
||||
POST_INSTALL = true
|
||||
NORMAL_UNINSTALL = true
|
||||
PRE_UNINSTALL = true
|
||||
POST_UNINSTALL = true
|
||||
host_alias = @host_alias@
|
||||
host_triplet = @host@
|
||||
CC = @CC@
|
||||
CPP = @CPP@
|
||||
LD = @LD@
|
||||
LIBTOOL = @LIBTOOL@
|
||||
LN_S = @LN_S@
|
||||
MAINT = @MAINT@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
NM = @NM@
|
||||
PACKAGE = @PACKAGE@
|
||||
RANLIB = @RANLIB@
|
||||
VERSION = @VERSION@
|
||||
x_cflags = @x_cflags@
|
||||
x_includes = @x_includes@
|
||||
x_ldflags = @x_ldflags@
|
||||
x_libs = @x_libs@
|
||||
xinput_progs = @xinput_progs@
|
||||
|
||||
gtkincludedir = $(includedir)/gtk
|
||||
|
||||
lib_LTLIBRARIES = libgtk.la
|
||||
|
||||
libgtk_la_SOURCES = \
|
||||
gtkaccelerator.c \
|
||||
gtkadjustment.c \
|
||||
gtkaspectframe.c \
|
||||
gtkalignment.c \
|
||||
gtkarrow.c \
|
||||
gtkbin.c \
|
||||
gtkbbox.c \
|
||||
gtkbox.c \
|
||||
gtkbutton.c \
|
||||
gtkcheckbutton.c \
|
||||
gtkcheckmenuitem.c \
|
||||
gtkclist.c \
|
||||
gtkcolorsel.c \
|
||||
gtkcombo.c \
|
||||
gtkcontainer.c \
|
||||
gtkcurve.c \
|
||||
gtkdata.c \
|
||||
gtkdialog.c \
|
||||
gtkdrawingarea.c \
|
||||
gtkentry.c \
|
||||
gtkeventbox.c \
|
||||
gtkfilesel.c \
|
||||
gtkfixed.c \
|
||||
gtkframe.c \
|
||||
gtkgamma.c \
|
||||
gtkgc.c \
|
||||
gtkhandlebox.c \
|
||||
gtkhbbox.c \
|
||||
gtkhbox.c \
|
||||
gtkhpaned.c \
|
||||
gtkhruler.c \
|
||||
gtkhscale.c \
|
||||
gtkhscrollbar.c \
|
||||
gtkhseparator.c \
|
||||
gtkimage.c \
|
||||
gtkinputdialog.c \
|
||||
gtkitem.c \
|
||||
gtklabel.c \
|
||||
gtklist.c \
|
||||
gtklistitem.c \
|
||||
gtkmain.c \
|
||||
gtkmenu.c \
|
||||
gtkmenubar.c \
|
||||
gtkmenufactory.c \
|
||||
gtkmenuitem.c \
|
||||
gtkmenushell.c \
|
||||
gtkmisc.c \
|
||||
gtknotebook.c \
|
||||
gtkobject.c \
|
||||
gtkoptionmenu.c \
|
||||
gtkpaned.c \
|
||||
gtkpixmap.c \
|
||||
gtkpreview.c \
|
||||
gtkprogressbar.c \
|
||||
gtkradiobutton.c \
|
||||
gtkradiomenuitem.c \
|
||||
gtkrange.c \
|
||||
gtkrc.c \
|
||||
gtkruler.c \
|
||||
gtkscale.c \
|
||||
gtkscrollbar.c \
|
||||
gtkscrolledwindow.c \
|
||||
gtkselection.c \
|
||||
gtkseparator.c \
|
||||
gtksignal.c \
|
||||
gtkstyle.c \
|
||||
gtkstatusbar.c \
|
||||
gtktable.c \
|
||||
gtktext.c \
|
||||
gtktogglebutton.c \
|
||||
gtktoolbar.c \
|
||||
gtktooltips.c \
|
||||
gtktree.c \
|
||||
gtktreeitem.c \
|
||||
gtktypeutils.c \
|
||||
gtkvbbox.c \
|
||||
gtkvbox.c \
|
||||
gtkviewport.c \
|
||||
gtkvpaned.c \
|
||||
gtkvruler.c \
|
||||
gtkvscale.c \
|
||||
gtkvscrollbar.c \
|
||||
gtkvseparator.c \
|
||||
gtkwidget.c \
|
||||
gtkwindow.c \
|
||||
fnmatch.c \
|
||||
fnmatch.h
|
||||
|
||||
gtkinclude_HEADERS = \
|
||||
gtk.h \
|
||||
gtkaccelerator.h \
|
||||
gtkadjustment.h \
|
||||
gtkaspectframe.h \
|
||||
gtkalignment.h \
|
||||
gtkarrow.h \
|
||||
gtkbin.h \
|
||||
gtkbbox.h \
|
||||
gtkbox.h \
|
||||
gtkbutton.h \
|
||||
gtkcheckbutton.h \
|
||||
gtkcheckmenuitem.h \
|
||||
gtkclist.h \
|
||||
gtkcolorsel.h \
|
||||
gtkcombo.h \
|
||||
gtkcontainer.h \
|
||||
gtkcurve.h \
|
||||
gtkdata.h \
|
||||
gtkdialog.h \
|
||||
gtkdrawingarea.h \
|
||||
gtkentry.h \
|
||||
gtkenums.h \
|
||||
gtkeventbox.h \
|
||||
gtkfilesel.h \
|
||||
gtkfixed.h \
|
||||
gtkframe.h \
|
||||
gtkgamma.h \
|
||||
gtkgc.h \
|
||||
gtkhandlebox.h \
|
||||
gtkhbbox.h \
|
||||
gtkhbox.h \
|
||||
gtkhpaned.h \
|
||||
gtkhruler.h \
|
||||
gtkhscale.h \
|
||||
gtkhscrollbar.h \
|
||||
gtkhseparator.h \
|
||||
gtkimage.h \
|
||||
gtkinputdialog.h \
|
||||
gtkitem.h \
|
||||
gtklabel.h \
|
||||
gtklist.h \
|
||||
gtklistitem.h \
|
||||
gtkmain.h \
|
||||
gtkmenu.h \
|
||||
gtkmenubar.h \
|
||||
gtkmenufactory.h \
|
||||
gtkmenuitem.h \
|
||||
gtkmenushell.h \
|
||||
gtkmisc.h \
|
||||
gtknotebook.h \
|
||||
gtkobject.h \
|
||||
gtkoptionmenu.h \
|
||||
gtkpaned.h \
|
||||
gtkpixmap.h \
|
||||
gtkpreview.h \
|
||||
gtkprogressbar.h \
|
||||
gtkradiobutton.h \
|
||||
gtkradiomenuitem.h \
|
||||
gtkrange.h \
|
||||
gtkrc.h \
|
||||
gtkruler.h \
|
||||
gtkscale.h \
|
||||
gtkscrollbar.h \
|
||||
gtkscrolledwindow.h \
|
||||
gtkselection.h \
|
||||
gtkseparator.h \
|
||||
gtksignal.h \
|
||||
gtkstyle.h \
|
||||
gtkstatusbar.h \
|
||||
gtktable.h \
|
||||
gtktext.h \
|
||||
gtktogglebutton.h \
|
||||
gtktoolbar.h \
|
||||
gtktooltips.h \
|
||||
gtktree.h \
|
||||
gtktreeitem.h \
|
||||
gtktypeutils.h \
|
||||
gtkvbbox.h \
|
||||
gtkvbox.h \
|
||||
gtkviewport.h \
|
||||
gtkvpaned.h \
|
||||
gtkvruler.h \
|
||||
gtkvscale.h \
|
||||
gtkvscrollbar.h \
|
||||
gtkvseparator.h \
|
||||
gtkwidget.h \
|
||||
gtkwindow.h \
|
||||
gtktypebuiltins.h
|
||||
|
||||
libgtk_la_LDFLAGS = -version-info 1:0:0
|
||||
|
||||
EXTRA_DIST = \
|
||||
line-arrow.xbm \
|
||||
line-wrap.xbm \
|
||||
testgtkrc \
|
||||
gtk.defs \
|
||||
runelisp \
|
||||
gentypeinfo.el \
|
||||
gtktypebuiltins.c \
|
||||
test.xpm \
|
||||
marble.xpm \
|
||||
3DRings.xpm \
|
||||
FilesQueue.xpm \
|
||||
Modeller.xpm \
|
||||
tree_plus.xpm \
|
||||
tree_minus.xpm \
|
||||
tree_plus.xbm \
|
||||
tree_minus.xbm
|
||||
|
||||
INCLUDES = -I$(top_srcdir) -I$(top_srcdir)/glib @x_cflags@
|
||||
|
||||
noinst_PROGRAMS = testgtk testinput testselection simple testtree
|
||||
testgtk_LDADD = \
|
||||
libgtk.la \
|
||||
$(top_builddir)/gdk/libgdk.la \
|
||||
@x_ldflags@ \
|
||||
@x_libs@ \
|
||||
$(top_builddir)/glib/libglib.la \
|
||||
-lm
|
||||
|
||||
testinput_LDADD = \
|
||||
libgtk.la \
|
||||
$(top_builddir)/gdk/libgdk.la \
|
||||
@x_ldflags@ \
|
||||
@x_libs@ \
|
||||
$(top_builddir)/glib/libglib.la \
|
||||
-lm
|
||||
|
||||
testselection_LDADD = \
|
||||
libgtk.la \
|
||||
$(top_builddir)/gdk/libgdk.la \
|
||||
@x_ldflags@ \
|
||||
@x_libs@ \
|
||||
$(top_builddir)/glib/libglib.la \
|
||||
-lm
|
||||
|
||||
simple_LDADD = \
|
||||
libgtk.la \
|
||||
$(top_builddir)/gdk/libgdk.la \
|
||||
@x_ldflags@ \
|
||||
@x_libs@ \
|
||||
$(top_builddir)/glib/libglib.la \
|
||||
-lm
|
||||
|
||||
testtree_LDADD = \
|
||||
libgtk.la \
|
||||
$(top_builddir)/gdk/libgdk.la \
|
||||
@x_ldflags@ \
|
||||
@x_libs@ \
|
||||
$(top_builddir)/glib/libglib.la \
|
||||
-lm
|
||||
|
||||
DEPS = \
|
||||
$(top_builddir)/gtk/libgtk.la \
|
||||
$(top_builddir)/gdk/libgdk.la \
|
||||
$(top_builddir)/glib/libglib.la
|
||||
|
||||
testgtk_DEPENDENCIES = $(DEPS)
|
||||
testinput_DEPENDENCIES = $(DEPS)
|
||||
testselection_DEPENDENCIES = $(DEPS)
|
||||
simple_DEPENDENCIES = $(DEPS)
|
||||
testtree_DEPENDENCIES = $(DEPS)
|
||||
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
|
||||
CONFIG_HEADER = ../config.h
|
||||
CONFIG_CLEAN_FILES =
|
||||
LTLIBRARIES = $(lib_LTLIBRARIES)
|
||||
|
||||
|
||||
DEFS = @DEFS@ -I. -I$(srcdir) -I..
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LIBS = @LIBS@
|
||||
X_CFLAGS = @X_CFLAGS@
|
||||
X_LIBS = @X_LIBS@
|
||||
X_EXTRA_LIBS = @X_EXTRA_LIBS@
|
||||
X_PRE_LIBS = @X_PRE_LIBS@
|
||||
libgtk_la_LIBADD =
|
||||
libgtk_la_OBJECTS = gtkaccelerator.lo gtkadjustment.lo \
|
||||
gtkaspectframe.lo gtkalignment.lo gtkarrow.lo gtkbin.lo gtkbbox.lo \
|
||||
gtkbox.lo gtkbutton.lo gtkcheckbutton.lo gtkcheckmenuitem.lo \
|
||||
gtkclist.lo gtkcolorsel.lo gtkcombo.lo gtkcontainer.lo gtkcurve.lo \
|
||||
gtkdata.lo gtkdialog.lo gtkdrawingarea.lo gtkentry.lo gtkeventbox.lo \
|
||||
gtkfilesel.lo gtkfixed.lo gtkframe.lo gtkgamma.lo gtkgc.lo \
|
||||
gtkhandlebox.lo gtkhbbox.lo gtkhbox.lo gtkhpaned.lo gtkhruler.lo \
|
||||
gtkhscale.lo gtkhscrollbar.lo gtkhseparator.lo gtkimage.lo \
|
||||
gtkinputdialog.lo gtkitem.lo gtklabel.lo gtklist.lo gtklistitem.lo \
|
||||
gtkmain.lo gtkmenu.lo gtkmenubar.lo gtkmenufactory.lo gtkmenuitem.lo \
|
||||
gtkmenushell.lo gtkmisc.lo gtknotebook.lo gtkobject.lo gtkoptionmenu.lo \
|
||||
gtkpaned.lo gtkpixmap.lo gtkpreview.lo gtkprogressbar.lo \
|
||||
gtkradiobutton.lo gtkradiomenuitem.lo gtkrange.lo gtkrc.lo gtkruler.lo \
|
||||
gtkscale.lo gtkscrollbar.lo gtkscrolledwindow.lo gtkselection.lo \
|
||||
gtkseparator.lo gtksignal.lo gtkstyle.lo gtkstatusbar.lo gtktable.lo \
|
||||
gtktext.lo gtktogglebutton.lo gtktoolbar.lo gtktooltips.lo gtktree.lo \
|
||||
gtktreeitem.lo gtktypeutils.lo gtkvbbox.lo gtkvbox.lo gtkviewport.lo \
|
||||
gtkvpaned.lo gtkvruler.lo gtkvscale.lo gtkvscrollbar.lo \
|
||||
gtkvseparator.lo gtkwidget.lo gtkwindow.lo fnmatch.lo
|
||||
PROGRAMS = $(noinst_PROGRAMS)
|
||||
|
||||
testgtk_SOURCES = testgtk.c
|
||||
testgtk_OBJECTS = testgtk.o
|
||||
testgtk_LDFLAGS =
|
||||
testinput_SOURCES = testinput.c
|
||||
testinput_OBJECTS = testinput.o
|
||||
testinput_LDFLAGS =
|
||||
testselection_SOURCES = testselection.c
|
||||
testselection_OBJECTS = testselection.o
|
||||
testselection_LDFLAGS =
|
||||
simple_SOURCES = simple.c
|
||||
simple_OBJECTS = simple.o
|
||||
simple_LDFLAGS =
|
||||
testtree_SOURCES = testtree.c
|
||||
testtree_OBJECTS = testtree.o
|
||||
testtree_LDFLAGS =
|
||||
CFLAGS = @CFLAGS@
|
||||
COMPILE = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)
|
||||
LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)
|
||||
LINK = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) -o $@
|
||||
HEADERS = $(gtkinclude_HEADERS)
|
||||
|
||||
DIST_COMMON = Makefile.am Makefile.in
|
||||
|
||||
|
||||
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
||||
|
||||
TAR = tar
|
||||
GZIP = --best
|
||||
DEP_FILES = .deps/fnmatch.P .deps/gtkaccelerator.P \
|
||||
.deps/gtkadjustment.P .deps/gtkalignment.P .deps/gtkarrow.P \
|
||||
.deps/gtkaspectframe.P .deps/gtkbbox.P .deps/gtkbin.P .deps/gtkbox.P \
|
||||
.deps/gtkbutton.P .deps/gtkcheckbutton.P .deps/gtkcheckmenuitem.P \
|
||||
.deps/gtkclist.P .deps/gtkcolorsel.P .deps/gtkcombo.P \
|
||||
.deps/gtkcontainer.P .deps/gtkcurve.P .deps/gtkdata.P .deps/gtkdialog.P \
|
||||
.deps/gtkdrawingarea.P .deps/gtkentry.P .deps/gtkeventbox.P \
|
||||
.deps/gtkfilesel.P .deps/gtkfixed.P .deps/gtkframe.P .deps/gtkgamma.P \
|
||||
.deps/gtkgc.P .deps/gtkhandlebox.P .deps/gtkhbbox.P .deps/gtkhbox.P \
|
||||
.deps/gtkhpaned.P .deps/gtkhruler.P .deps/gtkhscale.P \
|
||||
.deps/gtkhscrollbar.P .deps/gtkhseparator.P .deps/gtkimage.P \
|
||||
.deps/gtkinputdialog.P .deps/gtkitem.P .deps/gtklabel.P .deps/gtklist.P \
|
||||
.deps/gtklistitem.P .deps/gtkmain.P .deps/gtkmenu.P .deps/gtkmenubar.P \
|
||||
.deps/gtkmenufactory.P .deps/gtkmenuitem.P .deps/gtkmenushell.P \
|
||||
.deps/gtkmisc.P .deps/gtknotebook.P .deps/gtkobject.P \
|
||||
.deps/gtkoptionmenu.P .deps/gtkpaned.P .deps/gtkpixmap.P \
|
||||
.deps/gtkpreview.P .deps/gtkprogressbar.P .deps/gtkradiobutton.P \
|
||||
.deps/gtkradiomenuitem.P .deps/gtkrange.P .deps/gtkrc.P \
|
||||
.deps/gtkruler.P .deps/gtkscale.P .deps/gtkscrollbar.P \
|
||||
.deps/gtkscrolledwindow.P .deps/gtkselection.P .deps/gtkseparator.P \
|
||||
.deps/gtksignal.P .deps/gtkstatusbar.P .deps/gtkstyle.P \
|
||||
.deps/gtktable.P .deps/gtktext.P .deps/gtktogglebutton.P \
|
||||
.deps/gtktoolbar.P .deps/gtktooltips.P .deps/gtktree.P \
|
||||
.deps/gtktreeitem.P .deps/gtktypeutils.P .deps/gtkvbbox.P \
|
||||
.deps/gtkvbox.P .deps/gtkviewport.P .deps/gtkvpaned.P .deps/gtkvruler.P \
|
||||
.deps/gtkvscale.P .deps/gtkvscrollbar.P .deps/gtkvseparator.P \
|
||||
.deps/gtkwidget.P .deps/gtkwindow.P .deps/simple.P .deps/testgtk.P \
|
||||
.deps/testinput.P .deps/testselection.P .deps/testtree.P
|
||||
SOURCES = $(libgtk_la_SOURCES) testgtk.c testinput.c testselection.c simple.c testtree.c
|
||||
OBJECTS = $(libgtk_la_OBJECTS) testgtk.o testinput.o testselection.o simple.o testtree.o
|
||||
|
||||
default: all
|
||||
|
||||
.SUFFIXES:
|
||||
.SUFFIXES: .c .lo .o
|
||||
$(srcdir)/Makefile.in: @MAINT@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
|
||||
cd $(top_srcdir) && $(AUTOMAKE) --gnu gtk/Makefile
|
||||
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES)
|
||||
cd $(top_builddir) \
|
||||
&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
|
||||
|
||||
|
||||
mostlyclean-libLTLIBRARIES:
|
||||
|
||||
clean-libLTLIBRARIES:
|
||||
-test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
|
||||
|
||||
distclean-libLTLIBRARIES:
|
||||
|
||||
maintainer-clean-libLTLIBRARIES:
|
||||
|
||||
install-libLTLIBRARIES: $(lib_LTLIBRARIES)
|
||||
@$(NORMAL_INSTALL)
|
||||
$(mkinstalldirs) $(libdir)
|
||||
@list='$(lib_LTLIBRARIES)'; for p in $$list; do \
|
||||
if test -f $$p; then \
|
||||
echo "$(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(libdir)/$$p"; \
|
||||
$(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(libdir)/$$p; \
|
||||
else :; fi; \
|
||||
done
|
||||
|
||||
uninstall-libLTLIBRARIES:
|
||||
$(NORMAL_UNINSTALL)
|
||||
list='$(lib_LTLIBRARIES)'; for p in $$list; do \
|
||||
$(LIBTOOL) --mode=uninstall rm -f $(libdir)/$$p; \
|
||||
done
|
||||
|
||||
.c.o:
|
||||
$(COMPILE) -c $<
|
||||
|
||||
mostlyclean-compile:
|
||||
-rm -f *.o core
|
||||
|
||||
clean-compile:
|
||||
|
||||
distclean-compile:
|
||||
-rm -f *.tab.c
|
||||
|
||||
maintainer-clean-compile:
|
||||
|
||||
.c.lo:
|
||||
$(LIBTOOL) --mode=compile $(COMPILE) -c $<
|
||||
|
||||
mostlyclean-libtool:
|
||||
-rm -f *.lo
|
||||
|
||||
clean-libtool:
|
||||
-rm -rf .libs
|
||||
|
||||
distclean-libtool:
|
||||
|
||||
maintainer-clean-libtool:
|
||||
|
||||
libgtk.la: $(libgtk_la_OBJECTS) $(libgtk_la_DEPENDENCIES)
|
||||
$(LINK) -rpath $(libdir) $(libgtk_la_LDFLAGS) $(libgtk_la_OBJECTS) $(libgtk_la_LIBADD) $(LIBS)
|
||||
|
||||
mostlyclean-noinstPROGRAMS:
|
||||
|
||||
clean-noinstPROGRAMS:
|
||||
-test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS)
|
||||
|
||||
distclean-noinstPROGRAMS:
|
||||
|
||||
maintainer-clean-noinstPROGRAMS:
|
||||
|
||||
testgtk: $(testgtk_OBJECTS) $(testgtk_DEPENDENCIES)
|
||||
@rm -f testgtk
|
||||
$(LINK) $(testgtk_LDFLAGS) $(testgtk_OBJECTS) $(testgtk_LDADD) $(LIBS)
|
||||
|
||||
testinput: $(testinput_OBJECTS) $(testinput_DEPENDENCIES)
|
||||
@rm -f testinput
|
||||
$(LINK) $(testinput_LDFLAGS) $(testinput_OBJECTS) $(testinput_LDADD) $(LIBS)
|
||||
|
||||
testselection: $(testselection_OBJECTS) $(testselection_DEPENDENCIES)
|
||||
@rm -f testselection
|
||||
$(LINK) $(testselection_LDFLAGS) $(testselection_OBJECTS) $(testselection_LDADD) $(LIBS)
|
||||
|
||||
simple: $(simple_OBJECTS) $(simple_DEPENDENCIES)
|
||||
@rm -f simple
|
||||
$(LINK) $(simple_LDFLAGS) $(simple_OBJECTS) $(simple_LDADD) $(LIBS)
|
||||
|
||||
testtree: $(testtree_OBJECTS) $(testtree_DEPENDENCIES)
|
||||
@rm -f testtree
|
||||
$(LINK) $(testtree_LDFLAGS) $(testtree_OBJECTS) $(testtree_LDADD) $(LIBS)
|
||||
|
||||
install-gtkincludeHEADERS: $(gtkinclude_HEADERS)
|
||||
@$(NORMAL_INSTALL)
|
||||
$(mkinstalldirs) $(gtkincludedir)
|
||||
@list='$(gtkinclude_HEADERS)'; for p in $$list; do \
|
||||
echo " $(INSTALL_DATA) $(srcdir)/$$p $(gtkincludedir)/$$p"; \
|
||||
$(INSTALL_DATA) $(srcdir)/$$p $(gtkincludedir)/$$p; \
|
||||
done
|
||||
|
||||
uninstall-gtkincludeHEADERS:
|
||||
$(NORMAL_UNINSTALL)
|
||||
list='$(gtkinclude_HEADERS)'; for p in $$list; do \
|
||||
rm -f $(gtkincludedir)/$$p; \
|
||||
done
|
||||
|
||||
tags: TAGS
|
||||
|
||||
ID: $(HEADERS) $(SOURCES)
|
||||
here=`pwd` && cd $(srcdir) && mkid -f$$here/ID $(SOURCES) $(HEADERS)
|
||||
|
||||
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES)
|
||||
tags=; \
|
||||
here=`pwd`; \
|
||||
test -z "$(ETAGS_ARGS)$(SOURCES)$(HEADERS)$$tags" \
|
||||
|| (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $(SOURCES) $(HEADERS) -o $$here/TAGS)
|
||||
|
||||
mostlyclean-tags:
|
||||
|
||||
clean-tags:
|
||||
|
||||
distclean-tags:
|
||||
-rm -f TAGS ID
|
||||
|
||||
maintainer-clean-tags:
|
||||
|
||||
distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
|
||||
|
||||
subdir = gtk
|
||||
|
||||
distdir: $(DISTFILES)
|
||||
here=`cd $(top_builddir) && pwd`; \
|
||||
top_distdir=`cd $(top_distdir) && pwd`; \
|
||||
distdir=`cd $(distdir) && pwd`; \
|
||||
cd $(top_srcdir) \
|
||||
&& $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu gtk/Makefile
|
||||
@for file in $(DISTFILES); do \
|
||||
d=$(srcdir); \
|
||||
test -f $(distdir)/$$file \
|
||||
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|
||||
|| cp -p $$d/$$file $(distdir)/$$file; \
|
||||
done
|
||||
|
||||
MKDEP = $(CC) -M $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)
|
||||
|
||||
DEPS_MAGIC := $(shell mkdir .deps > /dev/null 2>&1 || :)
|
||||
-include .deps/.P
|
||||
.deps/.P: $(BUILT_SOURCES)
|
||||
echo > $@
|
||||
|
||||
-include $(DEP_FILES)
|
||||
|
||||
mostlyclean-depend:
|
||||
|
||||
clean-depend:
|
||||
|
||||
distclean-depend:
|
||||
|
||||
maintainer-clean-depend:
|
||||
-rm -rf .deps
|
||||
|
||||
.deps/%.P: %.c
|
||||
@echo "Computing dependencies for $<..."
|
||||
@o='o'; \
|
||||
test -n "$o" && o='$$o'; \
|
||||
$(MKDEP) $< >$@.tmp \
|
||||
&& sed "s,^\(.*\)\.o:,\1.$$o \1.l$$o $@:," < $@.tmp > $@ \
|
||||
&& rm -f $@.tmp
|
||||
info:
|
||||
dvi:
|
||||
check: all
|
||||
$(MAKE)
|
||||
installcheck:
|
||||
install-exec: install-libLTLIBRARIES
|
||||
@$(NORMAL_INSTALL)
|
||||
|
||||
install-data: install-gtkincludeHEADERS
|
||||
@$(NORMAL_INSTALL)
|
||||
|
||||
install: install-exec install-data all
|
||||
@:
|
||||
|
||||
uninstall: uninstall-libLTLIBRARIES uninstall-gtkincludeHEADERS
|
||||
|
||||
all: Makefile $(LTLIBRARIES) $(PROGRAMS) $(HEADERS)
|
||||
|
||||
install-strip:
|
||||
$(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
|
||||
installdirs:
|
||||
$(mkinstalldirs) $(libdir) $(gtkincludedir)
|
||||
|
||||
|
||||
mostlyclean-generic:
|
||||
-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
|
||||
|
||||
clean-generic:
|
||||
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
|
||||
|
||||
distclean-generic:
|
||||
-rm -f Makefile $(DISTCLEANFILES)
|
||||
-rm -f config.cache config.log stamp-h stamp-h[0-9]*
|
||||
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
|
||||
|
||||
maintainer-clean-generic:
|
||||
-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
|
||||
-test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
|
||||
mostlyclean: mostlyclean-libLTLIBRARIES mostlyclean-compile \
|
||||
mostlyclean-libtool mostlyclean-noinstPROGRAMS \
|
||||
mostlyclean-tags mostlyclean-depend mostlyclean-generic
|
||||
|
||||
clean: clean-libLTLIBRARIES clean-compile clean-libtool \
|
||||
clean-noinstPROGRAMS clean-tags clean-depend \
|
||||
clean-generic mostlyclean
|
||||
|
||||
distclean: distclean-libLTLIBRARIES distclean-compile distclean-libtool \
|
||||
distclean-noinstPROGRAMS distclean-tags \
|
||||
distclean-depend distclean-generic clean
|
||||
-rm -f config.status
|
||||
-rm -f libtool
|
||||
|
||||
maintainer-clean: maintainer-clean-libLTLIBRARIES \
|
||||
maintainer-clean-compile maintainer-clean-libtool \
|
||||
maintainer-clean-noinstPROGRAMS maintainer-clean-tags \
|
||||
maintainer-clean-depend maintainer-clean-generic \
|
||||
distclean
|
||||
@echo "This command is intended for maintainers to use;"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
|
||||
.PHONY: default mostlyclean-libLTLIBRARIES distclean-libLTLIBRARIES \
|
||||
clean-libLTLIBRARIES maintainer-clean-libLTLIBRARIES \
|
||||
uninstall-libLTLIBRARIES install-libLTLIBRARIES mostlyclean-compile \
|
||||
distclean-compile clean-compile maintainer-clean-compile \
|
||||
mostlyclean-libtool distclean-libtool clean-libtool \
|
||||
maintainer-clean-libtool mostlyclean-noinstPROGRAMS \
|
||||
distclean-noinstPROGRAMS clean-noinstPROGRAMS \
|
||||
maintainer-clean-noinstPROGRAMS uninstall-gtkincludeHEADERS \
|
||||
install-gtkincludeHEADERS tags mostlyclean-tags distclean-tags \
|
||||
clean-tags maintainer-clean-tags distdir mostlyclean-depend \
|
||||
distclean-depend clean-depend maintainer-clean-depend info dvi \
|
||||
installcheck install-exec install-data install uninstall all \
|
||||
installdirs mostlyclean-generic distclean-generic clean-generic \
|
||||
maintainer-clean-generic clean mostlyclean distclean maintainer-clean
|
||||
|
||||
|
||||
../gtk/gtktypebuiltins.h: gtk.defs gentypeinfo.el
|
||||
$(SHELL) $(srcdir)/runelisp $(srcdir)/gentypeinfo.el idmac $< $@
|
||||
|
||||
gtktypebuiltins.c: gtk.defs gentypeinfo.el
|
||||
$(SHELL) $(srcdir)/runelisp $(srcdir)/gentypeinfo.el id $< $@
|
||||
|
||||
.PHONY: files
|
||||
|
||||
files:
|
||||
@files=`ls $(DISTFILES) 2> /dev/null `; for p in $$files; do \
|
||||
echo $$p; \
|
||||
done
|
||||
|
||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
.NOEXPORT:
|
||||
+1
-3
@@ -1094,9 +1094,7 @@
|
||||
|
||||
;; Tooltips
|
||||
|
||||
(define-boxed GtkTooltips
|
||||
gtk_tooltips_ref
|
||||
gtk_tooltips_unref)
|
||||
(define-object GtkTooltips (GtkObject))
|
||||
|
||||
(define-func gtk_tooltips_new
|
||||
GtkTooltips
|
||||
|
||||
+82
-3
@@ -39,6 +39,8 @@ static void gtk_accelerator_table_clean (GtkAcceleratorTable *table);
|
||||
static GtkAcceleratorTable *default_table = NULL;
|
||||
static GSList *tables = NULL;
|
||||
static guint8 gtk_accelerator_table_default_mod_mask = (guint8) ~0;
|
||||
static const gchar *actable_key = "gtk-accelerator-tables";
|
||||
static guint actable_key_id = 0;
|
||||
|
||||
|
||||
GtkAcceleratorTable*
|
||||
@@ -46,6 +48,9 @@ gtk_accelerator_table_new ()
|
||||
{
|
||||
GtkAcceleratorTable *table;
|
||||
|
||||
if (!actable_key_id)
|
||||
actable_key_id = gtk_object_data_force_id (actable_key);
|
||||
|
||||
table = g_new (GtkAcceleratorTable, 1);
|
||||
gtk_accelerator_table_init (table);
|
||||
|
||||
@@ -109,9 +114,10 @@ void
|
||||
gtk_accelerator_table_unref (GtkAcceleratorTable *table)
|
||||
{
|
||||
g_return_if_fail (table != NULL);
|
||||
g_return_if_fail (table->ref_count > 0);
|
||||
|
||||
table->ref_count -= 1;
|
||||
if (table->ref_count <= 0)
|
||||
if (table->ref_count == 0)
|
||||
{
|
||||
tables = g_slist_remove (tables, table);
|
||||
gtk_accelerator_table_clean (table);
|
||||
@@ -154,6 +160,12 @@ gtk_accelerator_table_install (GtkAcceleratorTable *table,
|
||||
if ((entry->modifiers & table->modifier_mask) ==
|
||||
(accelerator_mods & table->modifier_mask))
|
||||
{
|
||||
gtk_object_set_data_by_id (entry->object,
|
||||
actable_key_id,
|
||||
g_slist_remove (gtk_object_get_data_by_id (entry->object,
|
||||
actable_key_id),
|
||||
table));
|
||||
|
||||
if (GTK_IS_WIDGET (entry->object))
|
||||
{
|
||||
signame = gtk_signal_name (entry->signal_id);
|
||||
@@ -165,6 +177,12 @@ gtk_accelerator_table_install (GtkAcceleratorTable *table,
|
||||
entry->modifiers = accelerator_mods;
|
||||
entry->object = object;
|
||||
entry->signal_id = signal_id;
|
||||
gtk_object_set_data_by_id (entry->object,
|
||||
actable_key_id,
|
||||
g_slist_prepend (gtk_object_get_data_by_id (entry->object,
|
||||
actable_key_id),
|
||||
table));
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -175,7 +193,13 @@ gtk_accelerator_table_install (GtkAcceleratorTable *table,
|
||||
entry->modifiers = accelerator_mods;
|
||||
entry->object = object;
|
||||
entry->signal_id = signal_id;
|
||||
|
||||
gtk_object_set_data_by_id (entry->object,
|
||||
actable_key_id,
|
||||
g_slist_prepend (gtk_object_get_data_by_id (entry->object,
|
||||
actable_key_id),
|
||||
table));
|
||||
gtk_accelerator_table_ref (table);
|
||||
|
||||
table->entries[hash] = g_list_prepend (table->entries[hash], entry);
|
||||
}
|
||||
|
||||
@@ -225,7 +249,14 @@ gtk_accelerator_table_remove (GtkAcceleratorTable *table,
|
||||
temp_list->next = NULL;
|
||||
temp_list->prev = NULL;
|
||||
g_list_free (temp_list);
|
||||
|
||||
|
||||
gtk_object_set_data_by_id (object,
|
||||
actable_key_id,
|
||||
g_slist_remove (gtk_object_get_data_by_id (object,
|
||||
actable_key_id),
|
||||
table));
|
||||
gtk_accelerator_table_unref (table);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -332,6 +363,9 @@ gtk_accelerator_table_clean (GtkAcceleratorTable *table)
|
||||
for (i = 0; i < 256; i++)
|
||||
{
|
||||
entries = table->entries[i];
|
||||
if (entries)
|
||||
g_warning ("stale object reference in accelerator table (%d)", i);
|
||||
|
||||
while (entries)
|
||||
{
|
||||
entry = entries->data;
|
||||
@@ -344,3 +378,48 @@ gtk_accelerator_table_clean (GtkAcceleratorTable *table)
|
||||
table->entries[i] = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
gtk_accelerator_tables_delete (GtkObject *object)
|
||||
{
|
||||
GSList *slist;
|
||||
|
||||
g_return_if_fail (object != NULL);
|
||||
|
||||
slist = gtk_object_get_data_by_id (object, actable_key_id);
|
||||
if (slist)
|
||||
{
|
||||
for (; slist; slist = slist->next)
|
||||
{
|
||||
GtkAcceleratorTable *table;
|
||||
guint i;
|
||||
|
||||
table = slist->data;
|
||||
|
||||
for (i = 0; i < 256; i++)
|
||||
{
|
||||
GList *entries;
|
||||
|
||||
entries = table->entries[i];
|
||||
|
||||
while (entries)
|
||||
{
|
||||
GtkAcceleratorEntry *entry;
|
||||
|
||||
entry = entries->data;
|
||||
entries = entries->next;
|
||||
|
||||
if (entry->object == object)
|
||||
{
|
||||
table->entries[i] = g_list_remove (table->entries[i], entry);
|
||||
g_free (entry);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
gtk_accelerator_table_unref (table);
|
||||
}
|
||||
|
||||
gtk_object_remove_data_by_id (object, actable_key_id);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,6 +26,7 @@
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#pragma }
|
||||
#endif /* __cplusplus */
|
||||
|
||||
|
||||
@@ -34,7 +35,7 @@ typedef struct _GtkAcceleratorTable GtkAcceleratorTable;
|
||||
struct _GtkAcceleratorTable
|
||||
{
|
||||
GList *entries[256];
|
||||
gint ref_count;
|
||||
guint ref_count;
|
||||
guint8 modifier_mask;
|
||||
};
|
||||
|
||||
@@ -60,6 +61,8 @@ void gtk_accelerator_table_remove (GtkAcceleratorTable *table,
|
||||
gint gtk_accelerator_table_check (GtkAcceleratorTable *table,
|
||||
const guchar accelerator_key,
|
||||
guint8 accelerator_mods);
|
||||
void gtk_accelerator_tables_delete (GtkObject *object);
|
||||
|
||||
|
||||
void gtk_accelerator_table_set_mod_mask (GtkAcceleratorTable *table,
|
||||
guint8 modifier_mask);
|
||||
|
||||
+32
-2
@@ -34,10 +34,10 @@ static void gtk_adjustment_init (GtkAdjustment *adjustment);
|
||||
static guint adjustment_signals[LAST_SIGNAL] = { 0 };
|
||||
|
||||
|
||||
guint
|
||||
GtkType
|
||||
gtk_adjustment_get_type ()
|
||||
{
|
||||
static guint adjustment_type = 0;
|
||||
static GtkType adjustment_type = 0;
|
||||
|
||||
if (!adjustment_type)
|
||||
{
|
||||
@@ -130,3 +130,33 @@ gtk_adjustment_set_value (GtkAdjustment *adjustment,
|
||||
|
||||
gtk_signal_emit_by_name (GTK_OBJECT (adjustment), "value_changed");
|
||||
}
|
||||
|
||||
void
|
||||
gtk_adjustment_clamp_page (GtkAdjustment *adjustment,
|
||||
gfloat lower,
|
||||
gfloat upper)
|
||||
{
|
||||
gint need_emission;
|
||||
|
||||
g_return_if_fail (adjustment != NULL);
|
||||
g_return_if_fail (GTK_IS_ADJUSTMENT (adjustment));
|
||||
|
||||
lower = CLAMP (lower, adjustment->lower, adjustment->upper);
|
||||
upper = CLAMP (upper, adjustment->lower, adjustment->upper);
|
||||
|
||||
need_emission = FALSE;
|
||||
|
||||
if (adjustment->value + adjustment->page_size < upper)
|
||||
{
|
||||
adjustment->value = upper - adjustment->page_size;
|
||||
need_emission = TRUE;
|
||||
}
|
||||
if (adjustment->value > lower)
|
||||
{
|
||||
adjustment->value = lower;
|
||||
need_emission = TRUE;
|
||||
}
|
||||
|
||||
if (need_emission)
|
||||
gtk_signal_emit_by_name (GTK_OBJECT (adjustment), "value_changed");
|
||||
}
|
||||
|
||||
+22
-17
@@ -8,7 +8,7 @@
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Library General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Library General Public
|
||||
@@ -26,21 +26,22 @@
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#pragma }
|
||||
#endif /* __cplusplus */
|
||||
|
||||
|
||||
#define GTK_ADJUSTMENT(obj) GTK_CHECK_CAST (obj, gtk_adjustment_get_type (), GtkAdjustment)
|
||||
#define GTK_ADJUSTMENT_CLASS(klass) GTK_CHECK_CLASS_CAST (klass, gtk_adjustment_get_type (), GtkAdjustmentClass)
|
||||
#define GTK_IS_ADJUSTMENT(obj) GTK_CHECK_TYPE (obj, gtk_adjustment_get_type ())
|
||||
#define GTK_ADJUSTMENT(obj) (GTK_CHECK_CAST (obj, gtk_adjustment_get_type (), GtkAdjustment))
|
||||
#define GTK_ADJUSTMENT_CLASS(klass) (GTK_CHECK_CLASS_CAST (klass, gtk_adjustment_get_type (), GtkAdjustmentClass))
|
||||
#define GTK_IS_ADJUSTMENT(obj) (GTK_CHECK_TYPE (obj, gtk_adjustment_get_type ()))
|
||||
|
||||
|
||||
typedef struct _GtkAdjustment GtkAdjustment;
|
||||
typedef struct _GtkAdjustment GtkAdjustment;
|
||||
typedef struct _GtkAdjustmentClass GtkAdjustmentClass;
|
||||
|
||||
struct _GtkAdjustment
|
||||
{
|
||||
GtkData data;
|
||||
|
||||
|
||||
gfloat lower;
|
||||
gfloat upper;
|
||||
gfloat value;
|
||||
@@ -52,21 +53,25 @@ struct _GtkAdjustment
|
||||
struct _GtkAdjustmentClass
|
||||
{
|
||||
GtkDataClass parent_class;
|
||||
|
||||
void (* changed) (GtkAdjustment *adjustment);
|
||||
|
||||
void (* changed) (GtkAdjustment *adjustment);
|
||||
void (* value_changed) (GtkAdjustment *adjustment);
|
||||
};
|
||||
|
||||
|
||||
guint gtk_adjustment_get_type (void);
|
||||
GtkObject* gtk_adjustment_new (gfloat value,
|
||||
gfloat lower,
|
||||
gfloat upper,
|
||||
gfloat step_increment,
|
||||
gfloat page_increment,
|
||||
gfloat page_size);
|
||||
void gtk_adjustment_set_value (GtkAdjustment *adjustment,
|
||||
gfloat value);
|
||||
GtkType gtk_adjustment_get_type (void);
|
||||
GtkObject* gtk_adjustment_new (gfloat value,
|
||||
gfloat lower,
|
||||
gfloat upper,
|
||||
gfloat step_increment,
|
||||
gfloat page_increment,
|
||||
gfloat page_size);
|
||||
void gtk_adjustment_set_value (GtkAdjustment *adjustment,
|
||||
gfloat value);
|
||||
void gtk_adjustment_clamp_page (GtkAdjustment *adjustment,
|
||||
gfloat lower,
|
||||
gfloat upper);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
+19
-19
@@ -200,27 +200,25 @@ gtk_bin_add (GtkContainer *container,
|
||||
g_return_if_fail (widget != NULL);
|
||||
|
||||
bin = GTK_BIN (container);
|
||||
g_return_if_fail (bin->child == NULL);
|
||||
|
||||
if (!bin->child)
|
||||
gtk_widget_set_parent (widget, GTK_WIDGET (container));
|
||||
|
||||
if (GTK_WIDGET_VISIBLE (widget->parent))
|
||||
{
|
||||
gtk_widget_set_parent (widget, GTK_WIDGET (container));
|
||||
|
||||
if (GTK_WIDGET_VISIBLE (widget->parent))
|
||||
{
|
||||
if (GTK_WIDGET_REALIZED (widget->parent) &&
|
||||
!GTK_WIDGET_REALIZED (widget))
|
||||
gtk_widget_realize (widget);
|
||||
|
||||
if (GTK_WIDGET_MAPPED (widget->parent) &&
|
||||
!GTK_WIDGET_MAPPED (widget))
|
||||
gtk_widget_map (widget);
|
||||
}
|
||||
|
||||
bin->child = widget;
|
||||
|
||||
if (GTK_WIDGET_VISIBLE (widget) && GTK_WIDGET_VISIBLE (container))
|
||||
gtk_widget_queue_resize (widget);
|
||||
if (GTK_WIDGET_REALIZED (widget->parent) &&
|
||||
!GTK_WIDGET_REALIZED (widget))
|
||||
gtk_widget_realize (widget);
|
||||
|
||||
if (GTK_WIDGET_MAPPED (widget->parent) &&
|
||||
!GTK_WIDGET_MAPPED (widget))
|
||||
gtk_widget_map (widget);
|
||||
}
|
||||
|
||||
bin->child = widget;
|
||||
|
||||
if (GTK_WIDGET_VISIBLE (widget) && GTK_WIDGET_VISIBLE (container))
|
||||
gtk_widget_queue_resize (widget);
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -237,10 +235,12 @@ gtk_bin_remove (GtkContainer *container,
|
||||
|
||||
if (bin->child == widget)
|
||||
{
|
||||
gboolean widget_was_visible = GTK_WIDGET_VISIBLE (widget);
|
||||
|
||||
gtk_widget_unparent (widget);
|
||||
bin->child = NULL;
|
||||
|
||||
if (GTK_WIDGET_VISIBLE (widget) && GTK_WIDGET_VISIBLE (container))
|
||||
if (widget_was_visible && GTK_WIDGET_VISIBLE (container))
|
||||
gtk_widget_queue_resize (GTK_WIDGET (container));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -160,6 +160,7 @@ gtk_box_pack_start (GtkBox *box,
|
||||
g_return_if_fail (box != NULL);
|
||||
g_return_if_fail (GTK_IS_BOX (box));
|
||||
g_return_if_fail (child != NULL);
|
||||
g_return_if_fail (child->parent == NULL);
|
||||
|
||||
child_info = g_new (GtkBoxChild, 1);
|
||||
child_info->widget = child;
|
||||
@@ -199,6 +200,7 @@ gtk_box_pack_end (GtkBox *box,
|
||||
g_return_if_fail (box != NULL);
|
||||
g_return_if_fail (GTK_IS_BOX (box));
|
||||
g_return_if_fail (child != NULL);
|
||||
g_return_if_fail (child->parent == NULL);
|
||||
|
||||
child_info = g_new (GtkBoxChild, 1);
|
||||
child_info->widget = child;
|
||||
|
||||
+92
-14
@@ -41,7 +41,7 @@ enum {
|
||||
ARG_0,
|
||||
ARG_LABEL
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
static void gtk_button_class_init (GtkButtonClass *klass);
|
||||
@@ -94,7 +94,7 @@ static guint button_signals[LAST_SIGNAL] = { 0 };
|
||||
|
||||
|
||||
guint
|
||||
gtk_button_get_type ()
|
||||
gtk_button_get_type (void)
|
||||
{
|
||||
static guint button_type = 0;
|
||||
|
||||
@@ -219,16 +219,16 @@ gtk_button_set_arg (GtkButton *button,
|
||||
{
|
||||
case ARG_LABEL:
|
||||
gtk_container_disable_resize (GTK_CONTAINER (button));
|
||||
|
||||
|
||||
if (button->child)
|
||||
{
|
||||
gtk_widget_unparent (button->child);
|
||||
button->child = NULL;
|
||||
}
|
||||
|
||||
|
||||
label = gtk_label_new (GTK_VALUE_STRING(*arg));
|
||||
gtk_widget_show (label);
|
||||
|
||||
|
||||
gtk_container_add (GTK_CONTAINER (button), label);
|
||||
gtk_container_enable_resize (GTK_CONTAINER (button));
|
||||
break;
|
||||
@@ -239,7 +239,7 @@ gtk_button_set_arg (GtkButton *button,
|
||||
}
|
||||
|
||||
GtkWidget*
|
||||
gtk_button_new ()
|
||||
gtk_button_new (void)
|
||||
{
|
||||
return GTK_WIDGET (gtk_type_new (gtk_button_get_type ()));
|
||||
}
|
||||
@@ -433,9 +433,9 @@ gtk_button_size_allocate (GtkWidget *widget,
|
||||
DEFAULT_LEFT_POS);
|
||||
child_allocation.y += (GTK_WIDGET (widget)->style->klass->ythickness +
|
||||
DEFAULT_TOP_POS);
|
||||
child_allocation.width = MAX (1, child_allocation.width -
|
||||
child_allocation.width = MAX (1, child_allocation.width -
|
||||
(GTK_WIDGET (widget)->style->klass->xthickness * 2 + DEFAULT_SPACING));
|
||||
child_allocation.height = MAX (1, child_allocation.height -
|
||||
child_allocation.height = MAX (1, child_allocation.height -
|
||||
(GTK_WIDGET (widget)->style->klass->xthickness * 2 + DEFAULT_SPACING));
|
||||
}
|
||||
|
||||
@@ -443,25 +443,60 @@ gtk_button_size_allocate (GtkWidget *widget,
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* +------------------------------------------------+
|
||||
* | BORDER |
|
||||
* | +------------------------------------------+ |
|
||||
* | |\\\\\\\\\\\\\\\\DEFAULT\\\\\\\\\\\\\\\\\ | |
|
||||
* | |\\+------------------------------------+ | |
|
||||
* | |\\| | SPACING 3 | | | |
|
||||
* | |\\| +--------------------------------+ | | |
|
||||
* | |\\| |########## FOCUS ###############| | | |
|
||||
* | |\\| |#+----------------------------+#| | | |
|
||||
* | |\\| |#| RELIEF \|#| | | |
|
||||
* | |\\| |#| +-----------------------+\|#| | | |
|
||||
* | |\\|1|#| + THE TEXT +\|#|2| | |
|
||||
* | |\\| |#| +-----------------------+\|#| | | |
|
||||
* | |\\| |#| \\\\\ ythickness \\\\\\\\\\|#| | | |
|
||||
* | |\\| |#+----------------------------+#| | | |
|
||||
* | |\\| |########### 1 ##################| | | |
|
||||
* | |\\| +--------------------------------+ | | |
|
||||
* | |\\| | default spacing 4 | | | |
|
||||
* | |\\+------------------------------------+ | |
|
||||
* | |\ ythickness | |
|
||||
* | +------------------------------------------+ |
|
||||
* | border_width |
|
||||
* +------------------------------------------------+
|
||||
*/
|
||||
|
||||
static void
|
||||
gtk_button_paint (GtkWidget *widget,
|
||||
GdkRectangle *area)
|
||||
{
|
||||
GdkRectangle restrict_area;
|
||||
GdkRectangle outer_area;
|
||||
GdkRectangle tmp_area;
|
||||
GdkRectangle new_area;
|
||||
gint xthickness;
|
||||
gint ythickness;
|
||||
|
||||
g_return_if_fail (widget != NULL);
|
||||
g_return_if_fail (GTK_IS_BUTTON (widget));
|
||||
|
||||
xthickness = widget->style->klass->xthickness;
|
||||
ythickness = widget->style->klass->ythickness;
|
||||
|
||||
if (GTK_WIDGET_DRAWABLE (widget))
|
||||
{
|
||||
restrict_area.x = GTK_WIDGET (widget)->style->klass->xthickness;
|
||||
restrict_area.y = GTK_WIDGET (widget)->style->klass->ythickness;
|
||||
restrict_area.width = GTK_WIDGET (widget)->allocation.width -
|
||||
restrict_area.x = xthickness;
|
||||
restrict_area.y = ythickness;
|
||||
restrict_area.width = GTK_WIDGET (widget)->allocation.width -
|
||||
restrict_area.x * 2 - GTK_CONTAINER (widget)->border_width * 2;
|
||||
restrict_area.height = GTK_WIDGET (widget)->allocation.height -
|
||||
restrict_area.height = GTK_WIDGET (widget)->allocation.height -
|
||||
restrict_area.y * 2 - GTK_CONTAINER (widget)->border_width * 2;
|
||||
|
||||
outer_area = restrict_area;
|
||||
|
||||
if (GTK_WIDGET_CAN_DEFAULT (widget))
|
||||
{
|
||||
restrict_area.x += DEFAULT_LEFT_POS;
|
||||
@@ -477,6 +512,49 @@ gtk_button_paint (GtkWidget *widget,
|
||||
new_area.x, new_area.y,
|
||||
new_area.width, new_area.height);
|
||||
}
|
||||
|
||||
if (GTK_WIDGET_CAN_DEFAULT (widget))
|
||||
{
|
||||
/* Now fill spacing area between the default border and the button */
|
||||
|
||||
/* 1 */ tmp_area = outer_area;
|
||||
tmp_area.width = restrict_area.x - outer_area.x;
|
||||
if (gdk_rectangle_intersect (area, &tmp_area, &new_area))
|
||||
gdk_draw_rectangle (widget->window,
|
||||
widget->style->bg_gc[GTK_STATE_NORMAL],
|
||||
TRUE,
|
||||
new_area.x, new_area.y,
|
||||
new_area.width, new_area.height);
|
||||
|
||||
/* 2 */ tmp_area.x = restrict_area.x + restrict_area.width;
|
||||
|
||||
if (gdk_rectangle_intersect (area, &tmp_area, &new_area))
|
||||
gdk_draw_rectangle (widget->window,
|
||||
widget->style->bg_gc[GTK_STATE_NORMAL],
|
||||
TRUE,
|
||||
new_area.x, new_area.y,
|
||||
new_area.width, new_area.height);
|
||||
|
||||
/* 3 */ tmp_area.width = restrict_area.width;
|
||||
tmp_area.height = restrict_area.y - outer_area.y;
|
||||
tmp_area.x = restrict_area.x;
|
||||
|
||||
if (gdk_rectangle_intersect (area, &tmp_area, &new_area))
|
||||
gdk_draw_rectangle (widget->window,
|
||||
widget->style->bg_gc[GTK_STATE_NORMAL],
|
||||
TRUE,
|
||||
new_area.x, new_area.y,
|
||||
new_area.width, new_area.height);
|
||||
|
||||
/* 4 */ tmp_area.y = restrict_area.y + restrict_area.height;
|
||||
|
||||
if (gdk_rectangle_intersect (area, &tmp_area, &new_area))
|
||||
gdk_draw_rectangle (widget->window,
|
||||
widget->style->bg_gc[GTK_STATE_NORMAL],
|
||||
TRUE,
|
||||
new_area.x, new_area.y,
|
||||
new_area.width, new_area.height);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -790,12 +868,12 @@ gtk_button_add (GtkContainer *container,
|
||||
if (GTK_WIDGET_REALIZED (widget->parent) &&
|
||||
!GTK_WIDGET_REALIZED (widget))
|
||||
gtk_widget_realize (widget);
|
||||
|
||||
|
||||
if (GTK_WIDGET_MAPPED (widget->parent) &&
|
||||
!GTK_WIDGET_MAPPED (widget))
|
||||
gtk_widget_map (widget);
|
||||
}
|
||||
|
||||
|
||||
button->child = widget;
|
||||
|
||||
if (GTK_WIDGET_VISIBLE (widget) && GTK_WIDGET_VISIBLE (container))
|
||||
|
||||
+4
-4
@@ -2495,7 +2495,7 @@ draw_row (GtkCList * clist,
|
||||
{
|
||||
if (gdk_rectangle_intersect (area, &cell_rectangle, &intersect_rectangle))
|
||||
gdk_draw_rectangle (clist->clist_window,
|
||||
widget->style->white_gc,
|
||||
widget->style->base_gc[GTK_STATE_NORMAL],
|
||||
TRUE,
|
||||
intersect_rectangle.x,
|
||||
intersect_rectangle.y,
|
||||
@@ -2509,7 +2509,7 @@ draw_row (GtkCList * clist,
|
||||
|
||||
if (gdk_rectangle_intersect (area, &cell_rectangle, &intersect_rectangle))
|
||||
gdk_draw_rectangle (clist->clist_window,
|
||||
widget->style->white_gc,
|
||||
widget->style->base_gc[GTK_STATE_NORMAL],
|
||||
TRUE,
|
||||
intersect_rectangle.x,
|
||||
intersect_rectangle.y,
|
||||
@@ -2538,7 +2538,7 @@ draw_row (GtkCList * clist,
|
||||
else
|
||||
{
|
||||
gdk_draw_rectangle (clist->clist_window,
|
||||
widget->style->white_gc,
|
||||
widget->style->base_gc[GTK_STATE_NORMAL],
|
||||
TRUE,
|
||||
cell_rectangle.x,
|
||||
cell_rectangle.y,
|
||||
@@ -2551,7 +2551,7 @@ draw_row (GtkCList * clist,
|
||||
cell_rectangle.y += clist->row_height + CELL_SPACING;
|
||||
|
||||
gdk_draw_rectangle (clist->clist_window,
|
||||
widget->style->white_gc,
|
||||
widget->style->base_gc[GTK_STATE_NORMAL],
|
||||
TRUE,
|
||||
cell_rectangle.x,
|
||||
cell_rectangle.y,
|
||||
|
||||
+89
-7
@@ -110,10 +110,15 @@ static guint container_signals[LAST_SIGNAL] = { 0 };
|
||||
|
||||
static GtkWidgetClass *parent_class = NULL;
|
||||
|
||||
guint
|
||||
gtk_container_get_type ()
|
||||
static const gchar *vadjustment_key = "gtk-vadjustment";
|
||||
static guint vadjustment_key_id = 0;
|
||||
static const gchar *hadjustment_key = "gtk-hadjustment";
|
||||
static guint hadjustment_key_id = 0;
|
||||
|
||||
GtkType
|
||||
gtk_container_get_type (void)
|
||||
{
|
||||
static guint container_type = 0;
|
||||
static GtkType container_type = 0;
|
||||
|
||||
if (!container_type)
|
||||
{
|
||||
@@ -142,7 +147,11 @@ gtk_container_class_init (GtkContainerClass *class)
|
||||
|
||||
object_class = (GtkObjectClass*) class;
|
||||
widget_class = (GtkWidgetClass*) class;
|
||||
|
||||
parent_class = gtk_type_class (gtk_widget_get_type ());
|
||||
|
||||
vadjustment_key_id = gtk_object_data_force_id (vadjustment_key);
|
||||
hadjustment_key_id = gtk_object_data_force_id (hadjustment_key);
|
||||
|
||||
gtk_object_add_arg_type ("GtkContainer::border_width", GTK_TYPE_LONG, GTK_ARG_READWRITE, ARG_BORDER_WIDTH);
|
||||
gtk_object_add_arg_type ("GtkContainer::auto_resize", GTK_TYPE_BOOL, GTK_ARG_READWRITE, ARG_AUTO_RESIZE);
|
||||
@@ -350,9 +359,6 @@ gtk_container_remove (GtkContainer *container,
|
||||
g_return_if_fail (widget->parent == GTK_WIDGET (container));
|
||||
|
||||
gtk_signal_emit (GTK_OBJECT (container), container_signals[REMOVE], widget);
|
||||
|
||||
if (container->focus_child == widget)
|
||||
container->focus_child = NULL;
|
||||
}
|
||||
|
||||
void
|
||||
@@ -529,6 +535,47 @@ gtk_container_unregister_toplevel (GtkContainer *container)
|
||||
gtk_widget_unref (GTK_WIDGET (container));
|
||||
}
|
||||
|
||||
void
|
||||
gtk_container_set_focus_child (GtkContainer *container,
|
||||
GtkWidget *child)
|
||||
{
|
||||
g_return_if_fail (container != NULL);
|
||||
g_return_if_fail (GTK_IS_CONTAINER (container));
|
||||
if (child)
|
||||
g_return_if_fail (GTK_IS_WIDGET (child));
|
||||
|
||||
if (child != container->focus_child)
|
||||
{
|
||||
if (container->focus_child)
|
||||
gtk_widget_unref (container->focus_child);
|
||||
container->focus_child = child;
|
||||
if (container->focus_child)
|
||||
gtk_widget_ref (container->focus_child);
|
||||
}
|
||||
|
||||
|
||||
/* check for h/v adjustments
|
||||
*/
|
||||
if (container->focus_child)
|
||||
{
|
||||
GtkAdjustment *adjustment;
|
||||
|
||||
adjustment = gtk_object_get_data_by_id (GTK_OBJECT (container), vadjustment_key_id);
|
||||
if (adjustment)
|
||||
gtk_adjustment_clamp_page (adjustment,
|
||||
container->focus_child->allocation.y,
|
||||
(container->focus_child->allocation.y +
|
||||
container->focus_child->allocation.height));
|
||||
|
||||
adjustment = gtk_object_get_data_by_id (GTK_OBJECT (container), hadjustment_key_id);
|
||||
if (adjustment)
|
||||
gtk_adjustment_clamp_page (adjustment,
|
||||
container->focus_child->allocation.x,
|
||||
(container->focus_child->allocation.x +
|
||||
container->focus_child->allocation.width));
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
gtk_container_marshal_signal_1 (GtkObject *object,
|
||||
GtkSignalFunc func,
|
||||
@@ -972,7 +1019,7 @@ gtk_container_focus_move (GtkContainer *container,
|
||||
GtkWidget *child;
|
||||
|
||||
focus_child = container->focus_child;
|
||||
container->focus_child = NULL;
|
||||
gtk_container_set_focus_child (container, NULL);
|
||||
|
||||
while (children)
|
||||
{
|
||||
@@ -1059,3 +1106,38 @@ gtk_container_hide_all (GtkWidget *widget)
|
||||
gtk_container_foreach (container, (GtkCallback) gtk_widget_hide_all, NULL);
|
||||
}
|
||||
|
||||
void
|
||||
gtk_container_set_focus_vadjustment (GtkContainer *container,
|
||||
GtkAdjustment *adjustment)
|
||||
{
|
||||
g_return_if_fail (container != NULL);
|
||||
g_return_if_fail (GTK_IS_CONTAINER (container));
|
||||
if (adjustment)
|
||||
g_return_if_fail (GTK_IS_ADJUSTMENT (adjustment));
|
||||
|
||||
if (adjustment)
|
||||
gtk_object_ref (adjustment);
|
||||
|
||||
gtk_object_set_data_by_id_full (GTK_OBJECT (container),
|
||||
vadjustment_key_id,
|
||||
adjustment,
|
||||
(GtkDestroyNotify) gtk_object_unref);
|
||||
}
|
||||
|
||||
void
|
||||
gtk_container_set_focus_hadjustment (GtkContainer *container,
|
||||
GtkAdjustment *adjustment)
|
||||
{
|
||||
g_return_if_fail (container != NULL);
|
||||
g_return_if_fail (GTK_IS_CONTAINER (container));
|
||||
if (adjustment)
|
||||
g_return_if_fail (GTK_IS_ADJUSTMENT (adjustment));
|
||||
|
||||
if (adjustment)
|
||||
gtk_object_ref (adjustment);
|
||||
|
||||
gtk_object_set_data_by_id_full (GTK_OBJECT (container),
|
||||
hadjustment_key_id,
|
||||
adjustment,
|
||||
(GtkDestroyNotify) gtk_object_unref);
|
||||
}
|
||||
|
||||
+55
-45
@@ -8,7 +8,7 @@
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Library General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Library General Public
|
||||
@@ -23,34 +23,36 @@
|
||||
#include <gdk/gdk.h>
|
||||
#include <gtk/gtkenums.h>
|
||||
#include <gtk/gtkwidget.h>
|
||||
#include <gtk/gtkadjustment.h>
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#pragma }
|
||||
#endif /* __cplusplus */
|
||||
|
||||
|
||||
#define GTK_CONTAINER(obj) (GTK_CHECK_CAST ((obj), gtk_container_get_type (), GtkContainer))
|
||||
#define GTK_CONTAINER(obj) (GTK_CHECK_CAST ((obj), gtk_container_get_type (), GtkContainer))
|
||||
#define GTK_CONTAINER_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), gtk_container_get_type (), GtkContainerClass))
|
||||
#define GTK_IS_CONTAINER(obj) (GTK_CHECK_TYPE ((obj), gtk_container_get_type ()))
|
||||
#define GTK_IS_CONTAINER(obj) (GTK_CHECK_TYPE ((obj), gtk_container_get_type ()))
|
||||
|
||||
#define GTK_TYPE_CONTAINER (gtk_container_get_type ())
|
||||
#define GTK_TYPE_CONTAINER (gtk_container_get_type ())
|
||||
|
||||
typedef struct _GtkContainer GtkContainer;
|
||||
typedef struct _GtkContainer GtkContainer;
|
||||
typedef struct _GtkContainerClass GtkContainerClass;
|
||||
|
||||
struct _GtkContainer
|
||||
{
|
||||
GtkWidget widget;
|
||||
|
||||
|
||||
GtkWidget *focus_child;
|
||||
|
||||
|
||||
gint16 border_width;
|
||||
guint auto_resize : 1;
|
||||
guint need_resize : 1;
|
||||
guint block_resize : 1;
|
||||
|
||||
|
||||
|
||||
|
||||
/* The list of children that requested a resize
|
||||
*/
|
||||
GSList *resize_widgets;
|
||||
@@ -59,52 +61,60 @@ struct _GtkContainer
|
||||
struct _GtkContainerClass
|
||||
{
|
||||
GtkWidgetClass parent_class;
|
||||
|
||||
void (* add) (GtkContainer *container,
|
||||
GtkWidget *widget);
|
||||
void (* remove) (GtkContainer *container,
|
||||
GtkWidget *widget);
|
||||
gint (* need_resize) (GtkContainer *container);
|
||||
void (* foreach) (GtkContainer *container,
|
||||
GtkCallback callback,
|
||||
gpointer callbabck_data);
|
||||
gint (* focus) (GtkContainer *container,
|
||||
|
||||
void (* add) (GtkContainer *container,
|
||||
GtkWidget *widget);
|
||||
void (* remove) (GtkContainer *container,
|
||||
GtkWidget *widget);
|
||||
gint (* need_resize) (GtkContainer *container);
|
||||
void (* foreach) (GtkContainer *container,
|
||||
GtkCallback callback,
|
||||
gpointer callbabck_data);
|
||||
gint (* focus) (GtkContainer *container,
|
||||
GtkDirectionType direction);
|
||||
};
|
||||
|
||||
|
||||
|
||||
guint gtk_container_get_type (void);
|
||||
void gtk_container_border_width (GtkContainer *container,
|
||||
gint border_width);
|
||||
void gtk_container_add (GtkContainer *container,
|
||||
GtkWidget *widget);
|
||||
void gtk_container_remove (GtkContainer *container,
|
||||
GtkWidget *widget);
|
||||
void gtk_container_disable_resize (GtkContainer *container);
|
||||
void gtk_container_enable_resize (GtkContainer *container);
|
||||
void gtk_container_block_resize (GtkContainer *container);
|
||||
void gtk_container_unblock_resize (GtkContainer *container);
|
||||
gint gtk_container_need_resize (GtkContainer *container);
|
||||
void gtk_container_foreach (GtkContainer *container,
|
||||
GtkCallback callback,
|
||||
gpointer callback_data);
|
||||
void gtk_container_foreach_interp (GtkContainer *container,
|
||||
GtkType gtk_container_get_type (void);
|
||||
void gtk_container_border_width (GtkContainer *container,
|
||||
gint border_width);
|
||||
void gtk_container_add (GtkContainer *container,
|
||||
GtkWidget *widget);
|
||||
void gtk_container_remove (GtkContainer *container,
|
||||
GtkWidget *widget);
|
||||
void gtk_container_disable_resize (GtkContainer *container);
|
||||
void gtk_container_enable_resize (GtkContainer *container);
|
||||
void gtk_container_block_resize (GtkContainer *container);
|
||||
void gtk_container_unblock_resize (GtkContainer *container);
|
||||
gint gtk_container_need_resize (GtkContainer *container);
|
||||
void gtk_container_foreach (GtkContainer *container,
|
||||
GtkCallback callback,
|
||||
gpointer callback_data);
|
||||
void gtk_container_foreach_interp (GtkContainer *container,
|
||||
GtkCallbackMarshal marshal,
|
||||
gpointer callback_data,
|
||||
gpointer callback_data,
|
||||
GtkDestroyNotify notify);
|
||||
void gtk_container_foreach_full (GtkContainer *container,
|
||||
GtkCallback callback,
|
||||
void gtk_container_foreach_full (GtkContainer *container,
|
||||
GtkCallback callback,
|
||||
GtkCallbackMarshal marshal,
|
||||
gpointer callback_data,
|
||||
gpointer callback_data,
|
||||
GtkDestroyNotify notify);
|
||||
gint gtk_container_focus (GtkContainer *container,
|
||||
GtkDirectionType direction);
|
||||
GList* gtk_container_children (GtkContainer *container);
|
||||
GList* gtk_container_children (GtkContainer *container);
|
||||
void gtk_container_register_toplevel (GtkContainer *container);
|
||||
void gtk_container_unregister_toplevel (GtkContainer *container);
|
||||
gint gtk_container_focus (GtkContainer *container,
|
||||
GtkDirectionType direction);
|
||||
void gtk_container_set_focus_child (GtkContainer *container,
|
||||
GtkWidget *child);
|
||||
void gtk_container_set_focus_vadjustment (GtkContainer *container,
|
||||
GtkAdjustment *adjustment);
|
||||
void gtk_container_set_focus_hadjustment (GtkContainer *container,
|
||||
GtkAdjustment *adjustment);
|
||||
|
||||
|
||||
|
||||
|
||||
void gtk_container_register_toplevel (GtkContainer *container);
|
||||
void gtk_container_unregister_toplevel (GtkContainer *container);
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
@@ -294,6 +294,9 @@ gtk_curve_graph_events (GtkWidget *widget, GdkEvent *event, GtkCurve *c)
|
||||
width = w->allocation.width - RADIUS * 2;
|
||||
height = w->allocation.height - RADIUS * 2;
|
||||
|
||||
if ((width < 0) || (height < 0))
|
||||
return FALSE;
|
||||
|
||||
/* get the pointer position */
|
||||
gdk_window_get_pointer (w->window, &tx, &ty, NULL);
|
||||
x = CLAMP ((tx - RADIUS), 0, width-1);
|
||||
|
||||
+18
-4
@@ -1436,7 +1436,13 @@ cmpl_last_valid_char (CompletionState* cmpl_state)
|
||||
static gchar*
|
||||
cmpl_completion_fullname (gchar* text, CompletionState* cmpl_state)
|
||||
{
|
||||
if (text[0] == '/')
|
||||
static char nothing[2] = "";
|
||||
|
||||
if (!cmpl_state_okay (cmpl_state))
|
||||
{
|
||||
return nothing;
|
||||
}
|
||||
else if (text[0] == '/')
|
||||
{
|
||||
strcpy (cmpl_state->updated_text, text);
|
||||
}
|
||||
@@ -1515,10 +1521,14 @@ cmpl_init_state (void)
|
||||
if (!getcwd (getcwd_buf, MAXPATHLEN))
|
||||
#endif
|
||||
{
|
||||
cmpl_errno = errno;
|
||||
return NULL;
|
||||
/* Oh joy, we can't get the current directory. Um..., we should have
|
||||
* a root directory, right? Right? (Probably not portable to non-Unix)
|
||||
*/
|
||||
strcpy (getcwd_buf, "/");
|
||||
}
|
||||
|
||||
tryagain:
|
||||
|
||||
new_state->reference_dir = NULL;
|
||||
new_state->completion_dir = NULL;
|
||||
new_state->active_completion_dir = NULL;
|
||||
@@ -1542,7 +1552,11 @@ cmpl_init_state (void)
|
||||
new_state->reference_dir = open_dir (getcwd_buf, new_state);
|
||||
|
||||
if (!new_state->reference_dir)
|
||||
return NULL;
|
||||
{
|
||||
/* Directories changing from underneath us, grumble */
|
||||
strcpy (getcwd_buf, "/");
|
||||
goto tryagain;
|
||||
}
|
||||
|
||||
return new_state;
|
||||
}
|
||||
|
||||
+3
-1
@@ -437,13 +437,15 @@ gtk_fixed_remove (GtkContainer *container,
|
||||
|
||||
if (child->widget == widget)
|
||||
{
|
||||
gboolean was_visible = GTK_WIDGET_VISIBLE (widget);
|
||||
|
||||
gtk_widget_unparent (widget);
|
||||
|
||||
fixed->children = g_list_remove_link (fixed->children, children);
|
||||
g_list_free (children);
|
||||
g_free (child);
|
||||
|
||||
if (GTK_WIDGET_VISIBLE (widget) && GTK_WIDGET_VISIBLE (container))
|
||||
if (was_visible && GTK_WIDGET_VISIBLE (container))
|
||||
gtk_widget_queue_resize (GTK_WIDGET (container));
|
||||
|
||||
break;
|
||||
|
||||
+3
-3
@@ -39,7 +39,7 @@ static void gtk_hruler_draw_pos (GtkRuler *ruler);
|
||||
|
||||
|
||||
guint
|
||||
gtk_hruler_get_type ()
|
||||
gtk_hruler_get_type (void)
|
||||
{
|
||||
static guint hruler_type = 0;
|
||||
|
||||
@@ -89,7 +89,7 @@ gtk_hruler_init (GtkHRuler *hruler)
|
||||
|
||||
|
||||
GtkWidget*
|
||||
gtk_hruler_new ()
|
||||
gtk_hruler_new (void)
|
||||
{
|
||||
return GTK_WIDGET (gtk_type_new (gtk_hruler_get_type ()));
|
||||
}
|
||||
@@ -136,7 +136,7 @@ gtk_hruler_draw_ticks (GtkRuler *ruler)
|
||||
gfloat step_incr;
|
||||
gfloat increment;
|
||||
gfloat start, end, cur;
|
||||
gchar unit_str[12];
|
||||
gchar unit_str[32];
|
||||
gint text_height;
|
||||
gint digit_height;
|
||||
gint pos;
|
||||
|
||||
@@ -128,7 +128,7 @@ gtk_input_dialog_get_device_info(guint32 deviceid)
|
||||
}
|
||||
|
||||
guint
|
||||
gtk_input_dialog_get_type ()
|
||||
gtk_input_dialog_get_type (void)
|
||||
{
|
||||
static guint input_dialog_type = 0;
|
||||
|
||||
@@ -650,7 +650,7 @@ gtk_input_dialog_fill_keys(GtkInputDialog *inputd, GdkDeviceInfo *info)
|
||||
GtkWidget *label;
|
||||
GtkWidget *button;
|
||||
|
||||
char buffer[16];
|
||||
char buffer[32];
|
||||
|
||||
/* remove all the old items */
|
||||
if (inputd->keys_list)
|
||||
|
||||
+5
-3
@@ -268,7 +268,7 @@ gtk_label_size_request (GtkWidget *widget,
|
||||
width = MAX (width,
|
||||
gdk_text_width (GTK_WIDGET (label)->style->font,
|
||||
row->data,
|
||||
(gchar*) row->next->data - (gchar*) row->data) - 1);
|
||||
(gchar*) row->next->data - (gchar*) row->data - 1));
|
||||
else
|
||||
width = MAX (width, gdk_string_width (GTK_WIDGET (label)->style->font, row->data));
|
||||
row = row->next;
|
||||
@@ -396,13 +396,15 @@ static void
|
||||
gtk_label_state_changed (GtkWidget *widget,
|
||||
guint previous_state)
|
||||
{
|
||||
GTK_LABEL (widget)->needs_clear = 1;
|
||||
if (GTK_WIDGET_DRAWABLE (widget))
|
||||
GTK_LABEL (widget)->needs_clear = 1;
|
||||
}
|
||||
|
||||
static void
|
||||
gtk_label_style_set (GtkWidget *widget,
|
||||
GtkStyle *previous_style)
|
||||
{
|
||||
GTK_LABEL (widget)->needs_clear = 1;
|
||||
if (GTK_WIDGET_DRAWABLE (widget))
|
||||
GTK_LABEL (widget)->needs_clear = 1;
|
||||
}
|
||||
|
||||
|
||||
+116
-123
@@ -8,7 +8,7 @@
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Library General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Library General Public
|
||||
@@ -31,54 +31,55 @@ enum {
|
||||
|
||||
|
||||
typedef void (*GtkListSignal) (GtkObject *object,
|
||||
gpointer arg1,
|
||||
gpointer data);
|
||||
gpointer arg1,
|
||||
gpointer data);
|
||||
|
||||
|
||||
static void gtk_list_class_init (GtkListClass *klass);
|
||||
static void gtk_list_init (GtkList *list);
|
||||
static void gtk_list_destroy (GtkObject *object);
|
||||
static void gtk_list_map (GtkWidget *widget);
|
||||
static void gtk_list_unmap (GtkWidget *widget);
|
||||
static void gtk_list_realize (GtkWidget *widget);
|
||||
static void gtk_list_draw (GtkWidget *widget,
|
||||
static void gtk_list_class_init (GtkListClass *klass);
|
||||
static void gtk_list_init (GtkList *list);
|
||||
static void gtk_list_shutdown (GtkObject *object);
|
||||
static void gtk_list_destroy (GtkObject *object);
|
||||
static void gtk_list_map (GtkWidget *widget);
|
||||
static void gtk_list_unmap (GtkWidget *widget);
|
||||
static void gtk_list_realize (GtkWidget *widget);
|
||||
static void gtk_list_draw (GtkWidget *widget,
|
||||
GdkRectangle *area);
|
||||
static gint gtk_list_expose (GtkWidget *widget,
|
||||
static gint gtk_list_expose (GtkWidget *widget,
|
||||
GdkEventExpose *event);
|
||||
static gint gtk_list_motion_notify (GtkWidget *widget,
|
||||
static gint gtk_list_motion_notify (GtkWidget *widget,
|
||||
GdkEventMotion *event);
|
||||
static gint gtk_list_button_press (GtkWidget *widget,
|
||||
static gint gtk_list_button_press (GtkWidget *widget,
|
||||
GdkEventButton *event);
|
||||
static gint gtk_list_button_release (GtkWidget *widget,
|
||||
static gint gtk_list_button_release (GtkWidget *widget,
|
||||
GdkEventButton *event);
|
||||
static void gtk_list_size_request (GtkWidget *widget,
|
||||
static void gtk_list_size_request (GtkWidget *widget,
|
||||
GtkRequisition *requisition);
|
||||
static void gtk_list_size_allocate (GtkWidget *widget,
|
||||
static void gtk_list_size_allocate (GtkWidget *widget,
|
||||
GtkAllocation *allocation);
|
||||
static void gtk_list_add (GtkContainer *container,
|
||||
GtkWidget *widget);
|
||||
static void gtk_list_remove (GtkContainer *container,
|
||||
GtkWidget *widget);
|
||||
static void gtk_list_foreach (GtkContainer *container,
|
||||
static void gtk_list_add (GtkContainer *container,
|
||||
GtkWidget *widget);
|
||||
static void gtk_list_remove (GtkContainer *container,
|
||||
GtkWidget *widget);
|
||||
static void gtk_list_foreach (GtkContainer *container,
|
||||
GtkCallback callback,
|
||||
gpointer callback_data);
|
||||
gpointer callback_data);
|
||||
|
||||
static void gtk_real_list_select_child (GtkList *list,
|
||||
GtkWidget *child);
|
||||
static void gtk_real_list_unselect_child (GtkList *list,
|
||||
GtkWidget *child);
|
||||
static void gtk_real_list_select_child (GtkList *list,
|
||||
GtkWidget *child);
|
||||
static void gtk_real_list_unselect_child (GtkList *list,
|
||||
GtkWidget *child);
|
||||
|
||||
static void gtk_list_marshal_signal (GtkObject *object,
|
||||
static void gtk_list_marshal_signal (GtkObject *object,
|
||||
GtkSignalFunc func,
|
||||
gpointer func_data,
|
||||
GtkArg *args);
|
||||
gpointer func_data,
|
||||
GtkArg *args);
|
||||
|
||||
|
||||
static GtkContainerClass *parent_class = NULL;
|
||||
static guint list_signals[LAST_SIGNAL] = { 0 };
|
||||
|
||||
|
||||
guint
|
||||
GtkType
|
||||
gtk_list_get_type ()
|
||||
{
|
||||
static guint list_type = 0;
|
||||
@@ -93,7 +94,7 @@ gtk_list_get_type ()
|
||||
(GtkClassInitFunc) gtk_list_class_init,
|
||||
(GtkObjectInitFunc) gtk_list_init,
|
||||
(GtkArgSetFunc) NULL,
|
||||
(GtkArgGetFunc) NULL,
|
||||
(GtkArgGetFunc) NULL,
|
||||
};
|
||||
|
||||
list_type = gtk_type_unique (gtk_container_get_type (), &list_info);
|
||||
@@ -117,30 +118,31 @@ gtk_list_class_init (GtkListClass *class)
|
||||
|
||||
list_signals[SELECTION_CHANGED] =
|
||||
gtk_signal_new ("selection_changed",
|
||||
GTK_RUN_FIRST,
|
||||
object_class->type,
|
||||
GTK_SIGNAL_OFFSET (GtkListClass, selection_changed),
|
||||
gtk_signal_default_marshaller,
|
||||
GTK_RUN_FIRST,
|
||||
object_class->type,
|
||||
GTK_SIGNAL_OFFSET (GtkListClass, selection_changed),
|
||||
gtk_signal_default_marshaller,
|
||||
GTK_TYPE_NONE, 0);
|
||||
list_signals[SELECT_CHILD] =
|
||||
gtk_signal_new ("select_child",
|
||||
GTK_RUN_FIRST,
|
||||
object_class->type,
|
||||
GTK_SIGNAL_OFFSET (GtkListClass, select_child),
|
||||
gtk_list_marshal_signal,
|
||||
GTK_RUN_FIRST,
|
||||
object_class->type,
|
||||
GTK_SIGNAL_OFFSET (GtkListClass, select_child),
|
||||
gtk_list_marshal_signal,
|
||||
GTK_TYPE_NONE, 1,
|
||||
GTK_TYPE_WIDGET);
|
||||
GTK_TYPE_WIDGET);
|
||||
list_signals[UNSELECT_CHILD] =
|
||||
gtk_signal_new ("unselect_child",
|
||||
GTK_RUN_FIRST,
|
||||
object_class->type,
|
||||
GTK_SIGNAL_OFFSET (GtkListClass, unselect_child),
|
||||
gtk_list_marshal_signal,
|
||||
GTK_RUN_FIRST,
|
||||
object_class->type,
|
||||
GTK_SIGNAL_OFFSET (GtkListClass, unselect_child),
|
||||
gtk_list_marshal_signal,
|
||||
GTK_TYPE_NONE, 1,
|
||||
GTK_TYPE_WIDGET);
|
||||
GTK_TYPE_WIDGET);
|
||||
|
||||
gtk_object_class_add_signals (object_class, list_signals, LAST_SIGNAL);
|
||||
|
||||
object_class->shutdown = gtk_list_shutdown;
|
||||
object_class->destroy = gtk_list_destroy;
|
||||
|
||||
widget_class->map = gtk_list_map;
|
||||
@@ -182,6 +184,14 @@ gtk_list_new ()
|
||||
return GTK_WIDGET (gtk_type_new (gtk_list_get_type ()));
|
||||
}
|
||||
|
||||
static void
|
||||
gtk_list_shutdown (GtkObject *object)
|
||||
{
|
||||
gtk_list_clear_items (GTK_LIST (object), 0, -1);
|
||||
|
||||
GTK_OBJECT_CLASS (parent_class)->shutdown (object);
|
||||
}
|
||||
|
||||
static void
|
||||
gtk_list_destroy (GtkObject *object)
|
||||
{
|
||||
@@ -219,7 +229,7 @@ gtk_list_destroy (GtkObject *object)
|
||||
void
|
||||
gtk_list_insert_items (GtkList *list,
|
||||
GList *items,
|
||||
gint position)
|
||||
gint position)
|
||||
{
|
||||
GtkWidget *widget;
|
||||
GList *tmp_list;
|
||||
@@ -307,7 +317,7 @@ gtk_list_append_items (GtkList *list,
|
||||
|
||||
void
|
||||
gtk_list_prepend_items (GtkList *list,
|
||||
GList *items)
|
||||
GList *items)
|
||||
{
|
||||
g_return_if_fail (list != NULL);
|
||||
g_return_if_fail (GTK_IS_LIST (list));
|
||||
@@ -316,8 +326,8 @@ gtk_list_prepend_items (GtkList *list,
|
||||
}
|
||||
|
||||
static void
|
||||
gtk_list_remove_items_internal (GtkList *list,
|
||||
GList *items,
|
||||
gtk_list_remove_items_internal (GtkList *list,
|
||||
GList *items,
|
||||
gboolean no_unref)
|
||||
{
|
||||
GtkWidget *widget;
|
||||
@@ -326,7 +336,10 @@ gtk_list_remove_items_internal (GtkList *list,
|
||||
|
||||
g_return_if_fail (list != NULL);
|
||||
g_return_if_fail (GTK_IS_LIST (list));
|
||||
|
||||
|
||||
if (!items)
|
||||
return;
|
||||
|
||||
tmp_list = items;
|
||||
selected_widgets = NULL;
|
||||
widget = NULL;
|
||||
@@ -336,17 +349,15 @@ gtk_list_remove_items_internal (GtkList *list,
|
||||
widget = tmp_list->data;
|
||||
tmp_list = tmp_list->next;
|
||||
|
||||
if (widget->state == GTK_STATE_SELECTED)
|
||||
selected_widgets = g_list_prepend (selected_widgets, widget);
|
||||
|
||||
list->children = g_list_remove (list->children, widget);
|
||||
|
||||
if (GTK_WIDGET_MAPPED (widget))
|
||||
gtk_widget_unmap (widget);
|
||||
|
||||
if (no_unref)
|
||||
gtk_widget_ref (widget);
|
||||
gtk_widget_unparent (widget);
|
||||
|
||||
list->children = g_list_remove (list->children, widget);
|
||||
|
||||
if (widget->state == GTK_STATE_SELECTED)
|
||||
selected_widgets = g_list_prepend (selected_widgets, widget);
|
||||
else
|
||||
gtk_widget_unparent (widget);
|
||||
}
|
||||
|
||||
if (selected_widgets)
|
||||
@@ -358,6 +369,8 @@ gtk_list_remove_items_internal (GtkList *list,
|
||||
tmp_list = tmp_list->next;
|
||||
|
||||
gtk_list_unselect_child (list, widget);
|
||||
|
||||
gtk_widget_unparent (widget);
|
||||
}
|
||||
|
||||
gtk_signal_emit (GTK_OBJECT (list), list_signals[SELECTION_CHANGED]);
|
||||
@@ -377,15 +390,15 @@ gtk_list_remove_items_internal (GtkList *list,
|
||||
}
|
||||
|
||||
void
|
||||
gtk_list_remove_items (GtkList *list,
|
||||
GList *items)
|
||||
gtk_list_remove_items (GtkList *list,
|
||||
GList *items)
|
||||
{
|
||||
gtk_list_remove_items_internal (list, items, FALSE);
|
||||
}
|
||||
|
||||
void
|
||||
gtk_list_remove_items_no_unref (GtkList *list,
|
||||
GList *items)
|
||||
gtk_list_remove_items_no_unref (GtkList *list,
|
||||
GList *items)
|
||||
{
|
||||
gtk_list_remove_items_internal (list, items, TRUE);
|
||||
}
|
||||
@@ -400,7 +413,6 @@ gtk_list_clear_items (GtkList *list,
|
||||
GList *end_list;
|
||||
GList *tmp_list;
|
||||
guint nchildren;
|
||||
gboolean selection_changed;
|
||||
|
||||
g_return_if_fail (list != NULL);
|
||||
g_return_if_fail (GTK_IS_LIST (list));
|
||||
@@ -409,6 +421,8 @@ gtk_list_clear_items (GtkList *list,
|
||||
|
||||
if (nchildren > 0)
|
||||
{
|
||||
gboolean selection_changed;
|
||||
|
||||
if ((end < 0) || (end > nchildren))
|
||||
end = nchildren;
|
||||
|
||||
@@ -421,11 +435,11 @@ gtk_list_clear_items (GtkList *list,
|
||||
if (start_list->prev)
|
||||
start_list->prev->next = end_list;
|
||||
if (end_list && end_list->prev)
|
||||
end_list->prev->next = NULL;
|
||||
end_list->prev->next = NULL;
|
||||
if (end_list)
|
||||
end_list->prev = start_list->prev;
|
||||
end_list->prev = start_list->prev;
|
||||
if (start_list == list->children)
|
||||
list->children = end_list;
|
||||
list->children = end_list;
|
||||
|
||||
selection_changed = FALSE;
|
||||
widget = NULL;
|
||||
@@ -438,9 +452,8 @@ gtk_list_clear_items (GtkList *list,
|
||||
|
||||
if (widget->state == GTK_STATE_SELECTED)
|
||||
{
|
||||
gtk_list_unselect_child (list, widget);
|
||||
selection_changed = TRUE;
|
||||
list->selection = g_list_remove (list->selection, widget);
|
||||
gtk_widget_unref (widget);
|
||||
}
|
||||
|
||||
gtk_widget_unparent (widget);
|
||||
@@ -454,8 +467,7 @@ gtk_list_clear_items (GtkList *list,
|
||||
widget = list->children->data;
|
||||
gtk_list_select_child (list, widget);
|
||||
}
|
||||
|
||||
if (selection_changed)
|
||||
else if (selection_changed)
|
||||
gtk_signal_emit (GTK_OBJECT (list), list_signals[SELECTION_CHANGED]);
|
||||
|
||||
gtk_widget_queue_resize (GTK_WIDGET (list));
|
||||
@@ -478,7 +490,7 @@ gtk_list_select_item (GtkList *list,
|
||||
|
||||
void
|
||||
gtk_list_unselect_item (GtkList *list,
|
||||
gint item)
|
||||
gint item)
|
||||
{
|
||||
GList *tmp_list;
|
||||
|
||||
@@ -491,7 +503,7 @@ gtk_list_unselect_item (GtkList *list,
|
||||
}
|
||||
|
||||
void
|
||||
gtk_list_select_child (GtkList *list,
|
||||
gtk_list_select_child (GtkList *list,
|
||||
GtkWidget *child)
|
||||
{
|
||||
gtk_signal_emit (GTK_OBJECT (list), list_signals[SELECT_CHILD], child);
|
||||
@@ -531,7 +543,7 @@ gtk_list_child_position (GtkList *list,
|
||||
}
|
||||
|
||||
void
|
||||
gtk_list_set_selection_mode (GtkList *list,
|
||||
gtk_list_set_selection_mode (GtkList *list,
|
||||
GtkSelectionMode mode)
|
||||
{
|
||||
g_return_if_fail (list != NULL);
|
||||
@@ -639,7 +651,7 @@ gtk_list_draw (GtkWidget *widget,
|
||||
}
|
||||
|
||||
static gint
|
||||
gtk_list_expose (GtkWidget *widget,
|
||||
gtk_list_expose (GtkWidget *widget,
|
||||
GdkEventExpose *event)
|
||||
{
|
||||
GtkList *list;
|
||||
@@ -698,20 +710,20 @@ gtk_list_button_press (GtkWidget *widget,
|
||||
|
||||
list = GTK_LIST (widget);
|
||||
item = gtk_get_event_widget ((GdkEvent*) event);
|
||||
|
||||
|
||||
while (item && !GTK_IS_LIST_ITEM (item))
|
||||
item = item->parent;
|
||||
|
||||
if (!item || (item->parent != widget))
|
||||
return FALSE;
|
||||
|
||||
gtk_list_select_child (list, item);
|
||||
|
||||
gtk_list_select_child (list, item);
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static gint
|
||||
gtk_list_button_release (GtkWidget *widget,
|
||||
gtk_list_button_release (GtkWidget *widget,
|
||||
GdkEventButton *event)
|
||||
{
|
||||
GtkList *list;
|
||||
@@ -813,36 +825,19 @@ gtk_list_size_allocate (GtkWidget *widget,
|
||||
|
||||
static void
|
||||
gtk_list_add (GtkContainer *container,
|
||||
GtkWidget *widget)
|
||||
GtkWidget *widget)
|
||||
{
|
||||
GtkList *list;
|
||||
GList *item_list;
|
||||
|
||||
g_return_if_fail (container != NULL);
|
||||
g_return_if_fail (GTK_IS_LIST (container));
|
||||
g_return_if_fail (widget != NULL);
|
||||
g_return_if_fail (GTK_IS_LIST_ITEM (widget));
|
||||
|
||||
list = GTK_LIST (container);
|
||||
|
||||
gtk_widget_set_parent (widget, GTK_WIDGET (container));
|
||||
if (GTK_WIDGET_VISIBLE (widget->parent))
|
||||
{
|
||||
if (GTK_WIDGET_REALIZED (widget->parent) &&
|
||||
!GTK_WIDGET_REALIZED (widget))
|
||||
gtk_widget_realize (widget);
|
||||
|
||||
if (GTK_WIDGET_MAPPED (widget->parent) &&
|
||||
!GTK_WIDGET_MAPPED (widget))
|
||||
gtk_widget_map (widget);
|
||||
}
|
||||
|
||||
list->children = g_list_append (list->children, widget);
|
||||
|
||||
if (!list->selection && (list->selection_mode == GTK_SELECTION_BROWSE))
|
||||
gtk_list_select_child (list, widget);
|
||||
|
||||
if (GTK_WIDGET_VISIBLE (widget) && GTK_WIDGET_VISIBLE (container))
|
||||
gtk_widget_queue_resize (widget);
|
||||
item_list = g_list_alloc ();
|
||||
item_list->data = widget;
|
||||
|
||||
gtk_list_append_items (GTK_LIST (container), item_list);
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -867,8 +862,8 @@ gtk_list_remove (GtkContainer *container,
|
||||
|
||||
static void
|
||||
gtk_list_foreach (GtkContainer *container,
|
||||
GtkCallback callback,
|
||||
gpointer callback_data)
|
||||
GtkCallback callback,
|
||||
gpointer callback_data)
|
||||
{
|
||||
GtkList *list;
|
||||
GtkWidget *child;
|
||||
@@ -915,15 +910,14 @@ gtk_real_list_select_child (GtkList *list,
|
||||
|
||||
if (tmp_item != child)
|
||||
{
|
||||
gtk_list_item_deselect (GTK_LIST_ITEM (tmp_item));
|
||||
|
||||
tmp_list = selection;
|
||||
selection = selection->next;
|
||||
|
||||
list->selection = g_list_remove_link (list->selection, tmp_list);
|
||||
gtk_widget_unref (GTK_WIDGET (tmp_item));
|
||||
|
||||
g_list_free (tmp_list);
|
||||
|
||||
gtk_list_item_deselect (GTK_LIST_ITEM (tmp_item));
|
||||
gtk_widget_unref (GTK_WIDGET (tmp_item));
|
||||
}
|
||||
else
|
||||
selection = selection->next;
|
||||
@@ -931,14 +925,14 @@ gtk_real_list_select_child (GtkList *list,
|
||||
|
||||
if (child->state == GTK_STATE_NORMAL)
|
||||
{
|
||||
gtk_list_item_select (GTK_LIST_ITEM (child));
|
||||
list->selection = g_list_prepend (list->selection, child);
|
||||
gtk_widget_ref (child);
|
||||
gtk_list_item_select (GTK_LIST_ITEM (child));
|
||||
}
|
||||
else if (child->state == GTK_STATE_SELECTED)
|
||||
{
|
||||
gtk_list_item_deselect (GTK_LIST_ITEM (child));
|
||||
list->selection = g_list_remove (list->selection, child);
|
||||
gtk_list_item_deselect (GTK_LIST_ITEM (child));
|
||||
gtk_widget_unref (child);
|
||||
}
|
||||
|
||||
@@ -954,15 +948,14 @@ gtk_real_list_select_child (GtkList *list,
|
||||
|
||||
if (tmp_item != child)
|
||||
{
|
||||
gtk_list_item_deselect (GTK_LIST_ITEM (tmp_item));
|
||||
|
||||
tmp_list = selection;
|
||||
selection = selection->next;
|
||||
|
||||
list->selection = g_list_remove_link (list->selection, tmp_list);
|
||||
gtk_widget_unref (GTK_WIDGET (tmp_item));
|
||||
|
||||
g_list_free (tmp_list);
|
||||
|
||||
gtk_list_item_deselect (GTK_LIST_ITEM (tmp_item));
|
||||
gtk_widget_unref (GTK_WIDGET (tmp_item));
|
||||
}
|
||||
else
|
||||
selection = selection->next;
|
||||
@@ -970,9 +963,9 @@ gtk_real_list_select_child (GtkList *list,
|
||||
|
||||
if (child->state == GTK_STATE_NORMAL)
|
||||
{
|
||||
gtk_list_item_select (GTK_LIST_ITEM (child));
|
||||
list->selection = g_list_prepend (list->selection, child);
|
||||
gtk_widget_ref (child);
|
||||
gtk_list_item_select (GTK_LIST_ITEM (child));
|
||||
gtk_signal_emit (GTK_OBJECT (list), list_signals[SELECTION_CHANGED]);
|
||||
}
|
||||
break;
|
||||
@@ -980,15 +973,15 @@ gtk_real_list_select_child (GtkList *list,
|
||||
case GTK_SELECTION_MULTIPLE:
|
||||
if (child->state == GTK_STATE_NORMAL)
|
||||
{
|
||||
gtk_list_item_select (GTK_LIST_ITEM (child));
|
||||
list->selection = g_list_prepend (list->selection, child);
|
||||
gtk_widget_ref (child);
|
||||
gtk_list_item_select (GTK_LIST_ITEM (child));
|
||||
gtk_signal_emit (GTK_OBJECT (list), list_signals[SELECTION_CHANGED]);
|
||||
}
|
||||
else if (child->state == GTK_STATE_SELECTED)
|
||||
{
|
||||
gtk_list_item_deselect (GTK_LIST_ITEM (child));
|
||||
list->selection = g_list_remove (list->selection, child);
|
||||
gtk_list_item_deselect (GTK_LIST_ITEM (child));
|
||||
gtk_widget_unref (child);
|
||||
gtk_signal_emit (GTK_OBJECT (list), list_signals[SELECTION_CHANGED]);
|
||||
}
|
||||
@@ -1000,7 +993,7 @@ gtk_real_list_select_child (GtkList *list,
|
||||
}
|
||||
|
||||
static void
|
||||
gtk_real_list_unselect_child (GtkList *list,
|
||||
gtk_real_list_unselect_child (GtkList *list,
|
||||
GtkWidget *child)
|
||||
{
|
||||
g_return_if_fail (list != NULL);
|
||||
@@ -1015,8 +1008,8 @@ gtk_real_list_unselect_child (GtkList *list,
|
||||
case GTK_SELECTION_BROWSE:
|
||||
if (child->state == GTK_STATE_SELECTED)
|
||||
{
|
||||
gtk_list_item_deselect (GTK_LIST_ITEM (child));
|
||||
list->selection = g_list_remove (list->selection, child);
|
||||
gtk_list_item_deselect (GTK_LIST_ITEM (child));
|
||||
gtk_widget_unref (child);
|
||||
gtk_signal_emit (GTK_OBJECT (list), list_signals[SELECTION_CHANGED]);
|
||||
}
|
||||
@@ -1029,10 +1022,10 @@ gtk_real_list_unselect_child (GtkList *list,
|
||||
|
||||
|
||||
static void
|
||||
gtk_list_marshal_signal (GtkObject *object,
|
||||
GtkSignalFunc func,
|
||||
gpointer func_data,
|
||||
GtkArg *args)
|
||||
gtk_list_marshal_signal (GtkObject *object,
|
||||
GtkSignalFunc func,
|
||||
gpointer func_data,
|
||||
GtkArg *args)
|
||||
{
|
||||
GtkListSignal rfunc;
|
||||
|
||||
|
||||
+35
-35
@@ -8,7 +8,7 @@
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Library General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Library General Public
|
||||
@@ -30,12 +30,12 @@ extern "C" {
|
||||
#endif /* __cplusplus */
|
||||
|
||||
|
||||
#define GTK_LIST(obj) GTK_CHECK_CAST (obj, gtk_list_get_type (), GtkList)
|
||||
#define GTK_LIST_CLASS(klass) GTK_CHECK_CLASS_CAST (klass, gtk_list_get_type (), GtkListClass)
|
||||
#define GTK_IS_LIST(obj) GTK_CHECK_TYPE (obj, gtk_list_get_type ())
|
||||
#define GTK_LIST(obj) (GTK_CHECK_CAST (obj, gtk_list_get_type (), GtkList))
|
||||
#define GTK_LIST_CLASS(klass) (GTK_CHECK_CLASS_CAST (klass, gtk_list_get_type (), GtkListClass))
|
||||
#define GTK_IS_LIST(obj) (GTK_CHECK_TYPE (obj, gtk_list_get_type ()))
|
||||
|
||||
|
||||
typedef struct _GtkList GtkList;
|
||||
typedef struct _GtkList GtkList;
|
||||
typedef struct _GtkListClass GtkListClass;
|
||||
|
||||
struct _GtkList
|
||||
@@ -57,41 +57,41 @@ struct _GtkListClass
|
||||
{
|
||||
GtkContainerClass parent_class;
|
||||
|
||||
void (* selection_changed) (GtkList *list);
|
||||
void (* select_child) (GtkList *list,
|
||||
void (* selection_changed) (GtkList *list);
|
||||
void (* select_child) (GtkList *list,
|
||||
GtkWidget *child);
|
||||
void (* unselect_child) (GtkList *list,
|
||||
void (* unselect_child) (GtkList *list,
|
||||
GtkWidget *child);
|
||||
};
|
||||
|
||||
|
||||
guint gtk_list_get_type (void);
|
||||
GtkWidget* gtk_list_new (void);
|
||||
void gtk_list_insert_items (GtkList *list,
|
||||
GList *items,
|
||||
gint position);
|
||||
void gtk_list_append_items (GtkList *list,
|
||||
GList *items);
|
||||
void gtk_list_prepend_items (GtkList *list,
|
||||
GList *items);
|
||||
void gtk_list_remove_items (GtkList *list,
|
||||
GList *items);
|
||||
void gtk_list_remove_items_no_unref (GtkList *list,
|
||||
GList *items);
|
||||
void gtk_list_clear_items (GtkList *list,
|
||||
gint start,
|
||||
gint end);
|
||||
void gtk_list_select_item (GtkList *list,
|
||||
gint item);
|
||||
void gtk_list_unselect_item (GtkList *list,
|
||||
gint item);
|
||||
void gtk_list_select_child (GtkList *list,
|
||||
GtkWidget *child);
|
||||
void gtk_list_unselect_child (GtkList *list,
|
||||
GtkWidget *child);
|
||||
gint gtk_list_child_position (GtkList *list,
|
||||
GtkWidget *child);
|
||||
void gtk_list_set_selection_mode (GtkList *list,
|
||||
GtkType gtk_list_get_type (void);
|
||||
GtkWidget* gtk_list_new (void);
|
||||
void gtk_list_insert_items (GtkList *list,
|
||||
GList *items,
|
||||
gint position);
|
||||
void gtk_list_append_items (GtkList *list,
|
||||
GList *items);
|
||||
void gtk_list_prepend_items (GtkList *list,
|
||||
GList *items);
|
||||
void gtk_list_remove_items (GtkList *list,
|
||||
GList *items);
|
||||
void gtk_list_remove_items_no_unref (GtkList *list,
|
||||
GList *items);
|
||||
void gtk_list_clear_items (GtkList *list,
|
||||
gint start,
|
||||
gint end);
|
||||
void gtk_list_select_item (GtkList *list,
|
||||
gint item);
|
||||
void gtk_list_unselect_item (GtkList *list,
|
||||
gint item);
|
||||
void gtk_list_select_child (GtkList *list,
|
||||
GtkWidget *child);
|
||||
void gtk_list_unselect_child (GtkList *list,
|
||||
GtkWidget *child);
|
||||
gint gtk_list_child_position (GtkList *list,
|
||||
GtkWidget *child);
|
||||
void gtk_list_set_selection_mode (GtkList *list,
|
||||
GtkSelectionMode mode);
|
||||
|
||||
|
||||
|
||||
+12
-2
@@ -1399,7 +1399,12 @@ gtk_handle_current_timeouts (guint32 the_time)
|
||||
timeoutf = tmp_list->data;
|
||||
|
||||
current_timeouts = g_list_remove_link (current_timeouts, tmp_list);
|
||||
running_timeouts = g_list_prepend (running_timeouts, tmp_list);
|
||||
if (running_timeouts)
|
||||
{
|
||||
running_timeouts->prev = tmp_list;
|
||||
tmp_list->next = running_timeouts;
|
||||
}
|
||||
running_timeouts = tmp_list;
|
||||
|
||||
result = gtk_invoke_timeout_function (timeoutf);
|
||||
|
||||
@@ -1520,7 +1525,12 @@ gtk_handle_current_idles ()
|
||||
idlef = tmp_list->data;
|
||||
|
||||
current_idles = g_list_remove_link (current_idles, tmp_list);
|
||||
running_idles = g_list_prepend (running_idles, tmp_list);
|
||||
if (running_idles)
|
||||
{
|
||||
running_idles->prev = tmp_list;
|
||||
tmp_list->next = running_idles;
|
||||
}
|
||||
running_idles = tmp_list;
|
||||
|
||||
result = gtk_idle_invoke_function (idlef);
|
||||
|
||||
|
||||
+6
-9
@@ -144,7 +144,7 @@ static GtkContainerClass *parent_class = NULL;
|
||||
static guint notebook_signals[LAST_SIGNAL] = { 0 };
|
||||
|
||||
guint
|
||||
gtk_notebook_get_type ()
|
||||
gtk_notebook_get_type (void)
|
||||
{
|
||||
static guint notebook_type = 0;
|
||||
|
||||
@@ -243,7 +243,7 @@ gtk_notebook_init (GtkNotebook *notebook)
|
||||
}
|
||||
|
||||
GtkWidget*
|
||||
gtk_notebook_new ()
|
||||
gtk_notebook_new (void)
|
||||
{
|
||||
return GTK_WIDGET (gtk_type_new (gtk_notebook_get_type ()));
|
||||
}
|
||||
@@ -1485,10 +1485,7 @@ gtk_notebook_button_press (GtkWidget *widget,
|
||||
if (event->window == notebook->panel)
|
||||
{
|
||||
if (!GTK_WIDGET_HAS_FOCUS (widget))
|
||||
{
|
||||
GTK_CONTAINER (widget)->focus_child = NULL;
|
||||
gtk_widget_grab_focus (widget);
|
||||
}
|
||||
gtk_widget_grab_focus (widget);
|
||||
|
||||
gtk_grab_add (widget);
|
||||
notebook->button = event->button;
|
||||
@@ -1557,7 +1554,7 @@ gtk_notebook_button_press (GtkWidget *widget,
|
||||
(event->x <= (page->allocation.x + page->allocation.width)) &&
|
||||
(event->y <= (page->allocation.y + page->allocation.height)))
|
||||
{
|
||||
GTK_CONTAINER (notebook)->focus_child = NULL;
|
||||
gtk_container_set_focus_child (GTK_CONTAINER (notebook), NULL);
|
||||
|
||||
if (page == notebook->cur_page &&
|
||||
notebook->focus_tab != children &&
|
||||
@@ -2088,7 +2085,7 @@ gtk_notebook_focus_in (GtkWidget *widget,
|
||||
if (gtk_notebook_page_select (GTK_NOTEBOOK (widget)))
|
||||
return FALSE;
|
||||
else
|
||||
GTK_CONTAINER (widget)->focus_child = NULL;
|
||||
gtk_container_set_focus_child (GTK_CONTAINER (widget), NULL);
|
||||
}
|
||||
|
||||
GTK_WIDGET_SET_FLAGS (widget, GTK_HAS_FOCUS);
|
||||
@@ -2647,7 +2644,7 @@ gtk_notebook_focus (GtkContainer *container,
|
||||
return FALSE;
|
||||
|
||||
focus_child = container->focus_child;
|
||||
container->focus_child = NULL;
|
||||
gtk_container_set_focus_child (container, NULL);
|
||||
|
||||
if (!notebook->show_tabs)
|
||||
{
|
||||
|
||||
+33
-24
@@ -72,7 +72,8 @@ static void gtk_object_get_arg (GtkObject *object,
|
||||
static void gtk_object_shutdown (GtkObject *object);
|
||||
static void gtk_object_real_destroy (GtkObject *object);
|
||||
static void gtk_object_finalize (GtkObject *object);
|
||||
static void gtk_object_notify_weaks (gpointer data);
|
||||
static void gtk_object_notify_weaks (GtkObject *object);
|
||||
|
||||
static void gtk_object_data_destroy (GtkObjectData *odata);
|
||||
static guint* gtk_object_data_id_alloc (void);
|
||||
|
||||
@@ -91,7 +92,8 @@ static GHashTable *arg_info_ht = NULL;
|
||||
|
||||
static const gchar *user_data_key = "user_data";
|
||||
static guint user_data_key_id = 0;
|
||||
|
||||
static const gchar *weakrefs_key = "gtk-weakrefs";
|
||||
static guint weakrefs_key_id = 0;
|
||||
|
||||
#ifdef G_ENABLE_DEBUG
|
||||
static guint obj_count = 0;
|
||||
@@ -259,6 +261,8 @@ gtk_object_finalize (GtkObject *object)
|
||||
{
|
||||
GtkObjectData *odata, *next;
|
||||
|
||||
gtk_object_notify_weaks (object);
|
||||
|
||||
odata = object->object_data;
|
||||
while (odata)
|
||||
{
|
||||
@@ -443,14 +447,14 @@ gtk_object_sink (GtkObject *object)
|
||||
* referenced object is finalized.
|
||||
*
|
||||
* They are not implemented as a signal because they really are
|
||||
* special and need to be used with great care. Unlike signals, who
|
||||
* special and need to be used with great care. Unlike signals, which
|
||||
* should be able to execute any code whatsoever.
|
||||
*
|
||||
* A weakref callback is not allowed to retain a reference to the
|
||||
* object. In fact, the object is no longer there at all when it is
|
||||
* called.
|
||||
* object. Object data keys may be retrieved in a weak reference
|
||||
* callback.
|
||||
*
|
||||
* A weakref callback is called atmost once.
|
||||
* A weakref callback is called at most once.
|
||||
*
|
||||
*****************************************/
|
||||
|
||||
@@ -463,8 +467,6 @@ struct _GtkWeakRef
|
||||
gpointer data;
|
||||
};
|
||||
|
||||
static const gchar *weakrefs_key = "gtk-weakrefs";
|
||||
|
||||
void
|
||||
gtk_object_weakref (GtkObject *object,
|
||||
GtkDestroyNotify notify,
|
||||
@@ -476,12 +478,14 @@ gtk_object_weakref (GtkObject *object,
|
||||
g_return_if_fail (notify != NULL);
|
||||
g_return_if_fail (GTK_IS_OBJECT (object));
|
||||
|
||||
if (!weakrefs_key_id)
|
||||
weakrefs_key_id = gtk_object_data_force_id (weakrefs_key);
|
||||
|
||||
weak = g_new (GtkWeakRef, 1);
|
||||
weak->next = gtk_object_get_data (object, weakrefs_key);
|
||||
weak->next = gtk_object_get_data_by_id (object, weakrefs_key_id);
|
||||
weak->notify = notify;
|
||||
weak->data = data;
|
||||
gtk_object_set_data_full (object, weakrefs_key, weak,
|
||||
gtk_object_notify_weaks);
|
||||
gtk_object_set_data_by_id (object, weakrefs_key_id, weak);
|
||||
}
|
||||
|
||||
void
|
||||
@@ -494,15 +498,17 @@ gtk_object_weakunref (GtkObject *object,
|
||||
g_return_if_fail (object != NULL);
|
||||
g_return_if_fail (GTK_IS_OBJECT (object));
|
||||
|
||||
weaks = gtk_object_get_data (object, weakrefs_key);
|
||||
if (!weakrefs_key_id)
|
||||
return;
|
||||
|
||||
weaks = gtk_object_get_data_by_id (object, weakrefs_key_id);
|
||||
for (wp = &weaks; *wp; wp = &(*wp)->next)
|
||||
{
|
||||
w = *wp;
|
||||
if (w->notify == notify && w->data == data)
|
||||
{
|
||||
if (w == weaks)
|
||||
gtk_object_set_data_full (object, weakrefs_key, w->next,
|
||||
gtk_object_notify_weaks);
|
||||
gtk_object_set_data_by_id (object, weakrefs_key_id, w->next);
|
||||
else
|
||||
*wp = w->next;
|
||||
g_free (w);
|
||||
@@ -512,18 +518,21 @@ gtk_object_weakunref (GtkObject *object,
|
||||
}
|
||||
|
||||
static void
|
||||
gtk_object_notify_weaks (gpointer data)
|
||||
gtk_object_notify_weaks (GtkObject *object)
|
||||
{
|
||||
GtkWeakRef *w1, *w2;
|
||||
|
||||
w1 = (GtkWeakRef *)data;
|
||||
|
||||
while (w1)
|
||||
if (weakrefs_key_id)
|
||||
{
|
||||
w1->notify (w1->data);
|
||||
w2 = w1->next;
|
||||
g_free (w1);
|
||||
w1 = w2;
|
||||
GtkWeakRef *w1, *w2;
|
||||
|
||||
w1 = gtk_object_get_data_by_id (object, weakrefs_key_id);
|
||||
|
||||
while (w1)
|
||||
{
|
||||
w1->notify (w1->data);
|
||||
w2 = w1->next;
|
||||
g_free (w1);
|
||||
w1 = w2;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+5
-3
@@ -349,20 +349,22 @@ gtk_paned_remove (GtkContainer *container,
|
||||
GtkWidget *widget)
|
||||
{
|
||||
GtkPaned *paned;
|
||||
gboolean was_visible;
|
||||
|
||||
g_return_if_fail (container != NULL);
|
||||
g_return_if_fail (GTK_IS_PANED (container));
|
||||
g_return_if_fail (widget != NULL);
|
||||
|
||||
paned = GTK_PANED (container);
|
||||
|
||||
was_visible = GTK_WIDGET_VISIBLE (widget);
|
||||
|
||||
if (paned->child1 == widget)
|
||||
{
|
||||
gtk_widget_unparent (widget);
|
||||
|
||||
paned->child1 = NULL;
|
||||
|
||||
if (GTK_WIDGET_VISIBLE (widget) && GTK_WIDGET_VISIBLE (container))
|
||||
if (was_visible && GTK_WIDGET_VISIBLE (container))
|
||||
gtk_widget_queue_resize (GTK_WIDGET (container));
|
||||
}
|
||||
else if (paned->child2 == widget)
|
||||
@@ -371,7 +373,7 @@ gtk_paned_remove (GtkContainer *container,
|
||||
|
||||
paned->child2 = NULL;
|
||||
|
||||
if (GTK_WIDGET_VISIBLE (widget) && GTK_WIDGET_VISIBLE (container))
|
||||
if (was_visible && GTK_WIDGET_VISIBLE (container))
|
||||
gtk_widget_queue_resize (GTK_WIDGET (container));
|
||||
}
|
||||
}
|
||||
|
||||
+11
-1
@@ -104,12 +104,16 @@ gtk_pixmap_set (GtkPixmap *pixmap,
|
||||
{
|
||||
gint width;
|
||||
gint height;
|
||||
gint oldwidth;
|
||||
gint oldheight;
|
||||
|
||||
g_return_if_fail (pixmap != NULL);
|
||||
g_return_if_fail (GTK_IS_PIXMAP (pixmap));
|
||||
|
||||
if (pixmap->pixmap != val)
|
||||
{
|
||||
oldwidth = GTK_WIDGET (pixmap)->requisition.width;
|
||||
oldheight = GTK_WIDGET (pixmap)->requisition.height;
|
||||
if (pixmap->pixmap)
|
||||
gdk_pixmap_unref (pixmap->pixmap);
|
||||
pixmap->pixmap = val;
|
||||
@@ -128,7 +132,13 @@ gtk_pixmap_set (GtkPixmap *pixmap,
|
||||
GTK_WIDGET (pixmap)->requisition.height = 0;
|
||||
}
|
||||
if (GTK_WIDGET_VISIBLE (pixmap))
|
||||
gtk_widget_queue_resize (GTK_WIDGET (pixmap));
|
||||
{
|
||||
if ((GTK_WIDGET (pixmap)->requisition.width != oldwidth) ||
|
||||
(GTK_WIDGET (pixmap)->requisition.height != oldheight))
|
||||
gtk_widget_queue_resize (GTK_WIDGET (pixmap));
|
||||
else
|
||||
gtk_widget_queue_draw (GTK_WIDGET (pixmap));
|
||||
}
|
||||
}
|
||||
|
||||
if (pixmap->mask != mask)
|
||||
|
||||
+13
-1
@@ -872,6 +872,18 @@ gtk_preview_get_visuals (GtkPreviewClass *klass)
|
||||
return;
|
||||
}
|
||||
|
||||
/* If we are _not_ running with an installed cmap, we must run
|
||||
* with the system visual. Otherwise, we let GDK pick the visual,
|
||||
* and it makes some effort to pick a non-default visual, which
|
||||
* will hopefully provide minimum color flashing.
|
||||
*/
|
||||
if ((klass->info.visual->depth == gdk_visual_get_system()->depth) &&
|
||||
(klass->info.visual->type == gdk_visual_get_system()->type) &&
|
||||
!install_cmap)
|
||||
{
|
||||
klass->info.visual = gdk_visual_get_system();
|
||||
}
|
||||
|
||||
switch (klass->info.visual->depth)
|
||||
{
|
||||
case 8:
|
||||
@@ -1226,7 +1238,7 @@ gtk_trim_cmap (GtkPreviewClass *klass)
|
||||
nred = nred - 1;
|
||||
else
|
||||
{
|
||||
tmp = log (ngray) / log (2);
|
||||
tmp = log ((gdouble)ngray) / log (2.0);
|
||||
|
||||
if (ngreen >= tmp)
|
||||
ngreen = ngreen - 1;
|
||||
|
||||
+21
-16
@@ -82,40 +82,45 @@ gtk_radio_button_class_init (GtkRadioButtonClass *class)
|
||||
static void
|
||||
gtk_radio_button_init (GtkRadioButton *radio_button)
|
||||
{
|
||||
radio_button->group = NULL;
|
||||
radio_button->group = g_slist_prepend (NULL, radio_button);
|
||||
}
|
||||
|
||||
void
|
||||
gtk_radio_button_set_group (GtkRadioButton *radio_button,
|
||||
GSList *group)
|
||||
{
|
||||
GSList *tmp_list;
|
||||
GtkRadioButton *tmp_button;
|
||||
|
||||
g_return_if_fail (radio_button != NULL);
|
||||
g_return_if_fail (GTK_IS_RADIO_BUTTON (radio_button));
|
||||
g_return_if_fail (!g_slist_find (group, radio_button));
|
||||
|
||||
if (radio_button->group)
|
||||
{
|
||||
GSList *slist;
|
||||
|
||||
radio_button->group = g_slist_remove (radio_button->group, radio_button);
|
||||
|
||||
tmp_list = radio_button->group;
|
||||
while (tmp_list)
|
||||
for (slist = radio_button->group; slist; slist = slist->next)
|
||||
{
|
||||
tmp_button = tmp_list->data;
|
||||
tmp_list = tmp_list->next;
|
||||
GtkRadioButton *tmp_button;
|
||||
|
||||
tmp_button = slist->data;
|
||||
|
||||
tmp_button->group = radio_button->group;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
radio_button->group = g_slist_prepend (group, radio_button);
|
||||
tmp_list = group;
|
||||
|
||||
if (tmp_list)
|
||||
|
||||
if (group)
|
||||
{
|
||||
while (tmp_list)
|
||||
GSList *slist;
|
||||
|
||||
for (slist = group; slist; slist = slist->next)
|
||||
{
|
||||
tmp_button = tmp_list->data;
|
||||
tmp_list = tmp_list->next;
|
||||
|
||||
GtkRadioButton *tmp_button;
|
||||
|
||||
tmp_button = slist->data;
|
||||
|
||||
tmp_button->group = radio_button->group;
|
||||
}
|
||||
}
|
||||
|
||||
+42
-13
@@ -55,30 +55,59 @@ GtkWidget*
|
||||
gtk_radio_menu_item_new (GSList *group)
|
||||
{
|
||||
GtkRadioMenuItem *radio_menu_item;
|
||||
GtkRadioMenuItem *tmp_menu_item;
|
||||
GSList *tmp_list;
|
||||
|
||||
radio_menu_item = gtk_type_new (gtk_radio_menu_item_get_type ());
|
||||
|
||||
tmp_list = group;
|
||||
radio_menu_item->group = g_slist_prepend (group, radio_menu_item);
|
||||
gtk_radio_menu_item_set_group (radio_menu_item, group);
|
||||
|
||||
if (tmp_list)
|
||||
return GTK_WIDGET (radio_menu_item);
|
||||
}
|
||||
|
||||
void
|
||||
gtk_radio_menu_item_set_group (GtkRadioMenuItem *radio_menu_item,
|
||||
GSList *group)
|
||||
{
|
||||
g_return_if_fail (radio_menu_item != NULL);
|
||||
g_return_if_fail (GTK_IS_RADIO_MENU_ITEM (radio_menu_item));
|
||||
g_return_if_fail (!g_slist_find (group, radio_menu_item));
|
||||
|
||||
if (radio_menu_item->group)
|
||||
{
|
||||
while (tmp_list)
|
||||
GSList *slist;
|
||||
|
||||
radio_menu_item->group = g_slist_remove (radio_menu_item->group, radio_menu_item);
|
||||
|
||||
for (slist = radio_menu_item->group; slist; slist = slist->next)
|
||||
{
|
||||
tmp_menu_item = tmp_list->data;
|
||||
tmp_list = tmp_list->next;
|
||||
|
||||
tmp_menu_item->group = radio_menu_item->group;
|
||||
GtkRadioMenuItem *tmp_item;
|
||||
|
||||
tmp_item = slist->data;
|
||||
|
||||
tmp_item->group = radio_menu_item->group;
|
||||
}
|
||||
}
|
||||
|
||||
radio_menu_item->group = g_slist_prepend (group, radio_menu_item);
|
||||
|
||||
if (group)
|
||||
{
|
||||
GSList *slist;
|
||||
|
||||
for (slist = group; slist; slist = slist->next)
|
||||
{
|
||||
GtkRadioMenuItem *tmp_item;
|
||||
|
||||
tmp_item = slist->data;
|
||||
|
||||
tmp_item->group = radio_menu_item->group;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
GTK_CHECK_MENU_ITEM (radio_menu_item)->active = TRUE;
|
||||
/* gtk_widget_set_state (GTK_WIDGET (radio_menu_item), GTK_STATE_ACTIVE);
|
||||
*/
|
||||
}
|
||||
|
||||
return GTK_WIDGET (radio_menu_item);
|
||||
}
|
||||
|
||||
GtkWidget*
|
||||
@@ -125,7 +154,7 @@ gtk_radio_menu_item_class_init (GtkRadioMenuItemClass *klass)
|
||||
static void
|
||||
gtk_radio_menu_item_init (GtkRadioMenuItem *radio_menu_item)
|
||||
{
|
||||
radio_menu_item->group = NULL;
|
||||
radio_menu_item->group = g_slist_prepend (NULL, radio_menu_item);
|
||||
}
|
||||
|
||||
static void
|
||||
|
||||
@@ -55,6 +55,8 @@ GtkWidget* gtk_radio_menu_item_new (GSList *group);
|
||||
GtkWidget* gtk_radio_menu_item_new_with_label (GSList *group,
|
||||
const gchar *label);
|
||||
GSList* gtk_radio_menu_item_group (GtkRadioMenuItem *radio_menu_item);
|
||||
void gtk_radio_menu_item_set_group (GtkRadioMenuItem *radio_menu_item,
|
||||
GSList *group);
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
+48
-28
@@ -26,6 +26,7 @@
|
||||
|
||||
enum {
|
||||
TOKEN_INVALID = G_TOKEN_LAST,
|
||||
TOKEN_INCLUDE,
|
||||
TOKEN_ACTIVE,
|
||||
TOKEN_BASE,
|
||||
TOKEN_BG,
|
||||
@@ -47,7 +48,8 @@ enum {
|
||||
enum {
|
||||
PARSE_OK,
|
||||
PARSE_ERROR,
|
||||
PARSE_SYNTAX
|
||||
PARSE_SYNTAX,
|
||||
PARSE_DONE
|
||||
};
|
||||
|
||||
enum {
|
||||
@@ -175,30 +177,28 @@ static GScannerConfig gtk_rc_scanner_config =
|
||||
|
||||
static struct
|
||||
{
|
||||
char *name;
|
||||
int token;
|
||||
} symbols[] =
|
||||
{
|
||||
{ "ACTIVE", TOKEN_ACTIVE },
|
||||
{ "base", TOKEN_BASE },
|
||||
{ "bg", TOKEN_BG },
|
||||
{ "bg_pixmap", TOKEN_BG_PIXMAP },
|
||||
{ "fg", TOKEN_FG },
|
||||
{ "font", TOKEN_FONT },
|
||||
{ "fontset", TOKEN_FONTSET },
|
||||
{ "INSENSITIVE", TOKEN_INSENSITIVE },
|
||||
{ "NORMAL", TOKEN_NORMAL },
|
||||
{ "pixmap_path", TOKEN_PIXMAP_PATH },
|
||||
{ "PRELIGHT", TOKEN_PRELIGHT },
|
||||
{ "SELECTED", TOKEN_SELECTED },
|
||||
{ "style", TOKEN_STYLE },
|
||||
{ "text", TOKEN_TEXT },
|
||||
{ "widget", TOKEN_WIDGET },
|
||||
{ "widget_class", TOKEN_WIDGET_CLASS },
|
||||
};
|
||||
static int nsymbols = sizeof (symbols) / sizeof (symbols[0]);
|
||||
|
||||
static int done;
|
||||
gchar *name;
|
||||
gint token;
|
||||
} symbols[] = {
|
||||
{ "include", TOKEN_INCLUDE },
|
||||
{ "ACTIVE", TOKEN_ACTIVE },
|
||||
{ "base", TOKEN_BASE },
|
||||
{ "bg", TOKEN_BG },
|
||||
{ "bg_pixmap", TOKEN_BG_PIXMAP },
|
||||
{ "fg", TOKEN_FG },
|
||||
{ "font", TOKEN_FONT },
|
||||
{ "fontset", TOKEN_FONTSET },
|
||||
{ "INSENSITIVE", TOKEN_INSENSITIVE },
|
||||
{ "NORMAL", TOKEN_NORMAL },
|
||||
{ "pixmap_path", TOKEN_PIXMAP_PATH },
|
||||
{ "PRELIGHT", TOKEN_PRELIGHT },
|
||||
{ "SELECTED", TOKEN_SELECTED },
|
||||
{ "style", TOKEN_STYLE },
|
||||
{ "text", TOKEN_TEXT },
|
||||
{ "widget", TOKEN_WIDGET },
|
||||
{ "widget_class", TOKEN_WIDGET_CLASS },
|
||||
};
|
||||
static guint nsymbols = sizeof (symbols) / sizeof (symbols[0]);
|
||||
|
||||
static GHashTable *rc_style_ht = NULL;
|
||||
static GSList *widget_sets = NULL;
|
||||
@@ -341,6 +341,7 @@ gtk_rc_parse_any (const gchar *input_name,
|
||||
{
|
||||
GScanner *scanner;
|
||||
guint i;
|
||||
gboolean done;
|
||||
|
||||
scanner = g_scanner_new (>k_rc_scanner_config);
|
||||
|
||||
@@ -363,8 +364,15 @@ gtk_rc_parse_any (const gchar *input_name,
|
||||
done = FALSE;
|
||||
while (!done)
|
||||
{
|
||||
if (gtk_rc_parse_statement (scanner) != PARSE_OK)
|
||||
gint return_val;
|
||||
|
||||
return_val = gtk_rc_parse_statement (scanner);
|
||||
|
||||
switch (return_val)
|
||||
{
|
||||
case PARSE_OK:
|
||||
break;
|
||||
default:
|
||||
if (scanner->next_token != G_TOKEN_NONE)
|
||||
g_scanner_get_next_token (scanner);
|
||||
|
||||
@@ -375,8 +383,10 @@ gtk_rc_parse_any (const gchar *input_name,
|
||||
g_warning ("rc file parse error: \"%s\" line %d",
|
||||
input_name,
|
||||
scanner->line);
|
||||
|
||||
/* fall through */
|
||||
case PARSE_DONE:
|
||||
done = TRUE;
|
||||
break;
|
||||
}
|
||||
}
|
||||
g_scanner_destroy (scanner);
|
||||
@@ -569,8 +579,18 @@ gtk_rc_parse_statement (GScanner *scanner)
|
||||
|
||||
token = g_scanner_peek_next_token (scanner);
|
||||
if (token == G_TOKEN_EOF)
|
||||
return PARSE_DONE;
|
||||
|
||||
if (token == TOKEN_INCLUDE)
|
||||
{
|
||||
done = TRUE;
|
||||
g_scanner_get_next_token (scanner);
|
||||
token = g_scanner_get_next_token (scanner);
|
||||
|
||||
if (token != G_TOKEN_STRING)
|
||||
return PARSE_ERROR;
|
||||
|
||||
gtk_rc_parse (scanner->value.v_string);
|
||||
|
||||
return PARSE_OK;
|
||||
}
|
||||
|
||||
|
||||
+62
-39
@@ -371,7 +371,8 @@ gtk_scrolled_window_size_allocate (GtkWidget *widget,
|
||||
GtkAllocation child_allocation;
|
||||
guint previous_hvis;
|
||||
guint previous_vvis;
|
||||
|
||||
gint count;
|
||||
|
||||
g_return_if_fail (widget != NULL);
|
||||
g_return_if_fail (GTK_IS_SCROLLED_WINDOW (widget));
|
||||
g_return_if_fail (allocation != NULL);
|
||||
@@ -379,12 +380,17 @@ gtk_scrolled_window_size_allocate (GtkWidget *widget,
|
||||
scrolled_window = GTK_SCROLLED_WINDOW (widget);
|
||||
widget->allocation = *allocation;
|
||||
|
||||
gtk_scrolled_window_viewport_allocate (widget, &viewport_allocation);
|
||||
|
||||
gtk_container_disable_resize (GTK_CONTAINER (scrolled_window));
|
||||
|
||||
if (scrolled_window->hscrollbar_policy == GTK_POLICY_ALWAYS)
|
||||
scrolled_window->hscrollbar_visible = TRUE;
|
||||
if (scrolled_window->vscrollbar_policy == GTK_POLICY_ALWAYS)
|
||||
scrolled_window->vscrollbar_visible = TRUE;
|
||||
|
||||
if (GTK_WIDGET_VISIBLE (scrolled_window->viewport))
|
||||
{
|
||||
count = 0;
|
||||
|
||||
do {
|
||||
gtk_scrolled_window_viewport_allocate (widget, &viewport_allocation);
|
||||
|
||||
@@ -393,16 +399,32 @@ gtk_scrolled_window_size_allocate (GtkWidget *widget,
|
||||
child_allocation.width = viewport_allocation.width;
|
||||
child_allocation.height = viewport_allocation.height;
|
||||
|
||||
previous_hvis = GTK_WIDGET_VISIBLE (scrolled_window->hscrollbar);
|
||||
previous_vvis = GTK_WIDGET_VISIBLE (scrolled_window->vscrollbar);
|
||||
previous_hvis = scrolled_window->hscrollbar_visible;
|
||||
previous_vvis = scrolled_window->vscrollbar_visible;
|
||||
|
||||
gtk_widget_size_allocate (scrolled_window->viewport, &child_allocation);
|
||||
} while ((previous_hvis != GTK_WIDGET_VISIBLE (scrolled_window->hscrollbar)) ||
|
||||
(previous_vvis != GTK_WIDGET_VISIBLE (scrolled_window->vscrollbar)));
|
||||
/* If, after the first iteration, the hscrollbar and the
|
||||
* vscrollbar flip visiblity, then we need both.
|
||||
*/
|
||||
if ((count++) &&
|
||||
(previous_hvis != scrolled_window->hscrollbar_visible) &&
|
||||
(previous_vvis != scrolled_window->vscrollbar_visible))
|
||||
{
|
||||
scrolled_window->hscrollbar_visible = TRUE;
|
||||
scrolled_window->vscrollbar_visible = TRUE;
|
||||
break;
|
||||
}
|
||||
|
||||
count++;
|
||||
} while ((previous_hvis != scrolled_window->hscrollbar_visible) ||
|
||||
(previous_vvis != scrolled_window->vscrollbar_visible));
|
||||
}
|
||||
|
||||
if (GTK_WIDGET_VISIBLE (scrolled_window->hscrollbar))
|
||||
if (scrolled_window->hscrollbar_visible)
|
||||
{
|
||||
if (!GTK_WIDGET_VISIBLE (scrolled_window->hscrollbar))
|
||||
gtk_widget_show (scrolled_window->hscrollbar);
|
||||
|
||||
child_allocation.x = viewport_allocation.x;
|
||||
child_allocation.y = viewport_allocation.y + viewport_allocation.height + SCROLLBAR_SPACING (scrolled_window);
|
||||
child_allocation.width = viewport_allocation.width;
|
||||
@@ -412,9 +434,17 @@ gtk_scrolled_window_size_allocate (GtkWidget *widget,
|
||||
|
||||
gtk_widget_size_allocate (scrolled_window->hscrollbar, &child_allocation);
|
||||
}
|
||||
|
||||
if (GTK_WIDGET_VISIBLE (scrolled_window->vscrollbar))
|
||||
else
|
||||
{
|
||||
if (GTK_WIDGET_VISIBLE (scrolled_window->hscrollbar))
|
||||
gtk_widget_hide (scrolled_window->hscrollbar);
|
||||
}
|
||||
|
||||
if (scrolled_window->vscrollbar_visible)
|
||||
{
|
||||
if (!GTK_WIDGET_VISIBLE (scrolled_window->vscrollbar))
|
||||
gtk_widget_show (scrolled_window->vscrollbar);
|
||||
|
||||
child_allocation.x = viewport_allocation.x + viewport_allocation.width + SCROLLBAR_SPACING (scrolled_window);
|
||||
child_allocation.y = viewport_allocation.y;
|
||||
child_allocation.width = scrolled_window->vscrollbar->requisition.width;
|
||||
@@ -424,6 +454,11 @@ gtk_scrolled_window_size_allocate (GtkWidget *widget,
|
||||
|
||||
gtk_widget_size_allocate (scrolled_window->vscrollbar, &child_allocation);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (GTK_WIDGET_VISIBLE (scrolled_window->vscrollbar))
|
||||
gtk_widget_hide (scrolled_window->vscrollbar);
|
||||
}
|
||||
|
||||
gtk_container_enable_resize (GTK_CONTAINER (scrolled_window));
|
||||
}
|
||||
@@ -478,7 +513,11 @@ gtk_scrolled_window_foreach (GtkContainer *container,
|
||||
|
||||
scrolled_window = GTK_SCROLLED_WINDOW (container);
|
||||
|
||||
(* callback) (scrolled_window->viewport, callback_data);
|
||||
if (scrolled_window->viewport)
|
||||
(* callback) (scrolled_window->viewport, callback_data);
|
||||
|
||||
(* callback) (scrolled_window->vscrollbar, callback_data);
|
||||
(* callback) (scrolled_window->hscrollbar, callback_data);
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -497,10 +536,10 @@ gtk_scrolled_window_viewport_allocate (GtkWidget *widget,
|
||||
allocation->width = MAX (1, widget->allocation.width - allocation->x * 2);
|
||||
allocation->height = MAX (1, widget->allocation.height - allocation->y * 2);
|
||||
|
||||
if (GTK_WIDGET_VISIBLE (scrolled_window->vscrollbar))
|
||||
if (scrolled_window->vscrollbar_visible)
|
||||
allocation->width = MAX (1,
|
||||
allocation->width - (scrolled_window->vscrollbar->requisition.width + SCROLLBAR_SPACING (scrolled_window)));
|
||||
if (GTK_WIDGET_VISIBLE (scrolled_window->hscrollbar))
|
||||
if (scrolled_window->hscrollbar_visible)
|
||||
allocation->height = MAX (1,
|
||||
allocation->height - (scrolled_window->hscrollbar->requisition.height + SCROLLBAR_SPACING (scrolled_window)));
|
||||
}
|
||||
@@ -510,9 +549,6 @@ gtk_scrolled_window_adjustment_changed (GtkAdjustment *adjustment,
|
||||
gpointer data)
|
||||
{
|
||||
GtkScrolledWindow *scrolled_win;
|
||||
GtkWidget *scrollbar;
|
||||
gint hide_scrollbar;
|
||||
gint policy;
|
||||
|
||||
g_return_if_fail (adjustment != NULL);
|
||||
g_return_if_fail (data != NULL);
|
||||
@@ -521,36 +557,23 @@ gtk_scrolled_window_adjustment_changed (GtkAdjustment *adjustment,
|
||||
|
||||
if (adjustment == gtk_range_get_adjustment (GTK_RANGE (scrolled_win->hscrollbar)))
|
||||
{
|
||||
scrollbar = scrolled_win->hscrollbar;
|
||||
policy = scrolled_win->hscrollbar_policy;
|
||||
if (scrolled_win->hscrollbar_policy == GTK_POLICY_AUTOMATIC)
|
||||
{
|
||||
scrolled_win->hscrollbar_visible =
|
||||
((adjustment->upper - adjustment->lower) > adjustment->page_size);
|
||||
}
|
||||
}
|
||||
else if (adjustment == gtk_range_get_adjustment (GTK_RANGE (scrolled_win->vscrollbar)))
|
||||
{
|
||||
scrollbar = scrolled_win->vscrollbar;
|
||||
policy = scrolled_win->vscrollbar_policy;
|
||||
if (scrolled_win->vscrollbar_policy == GTK_POLICY_AUTOMATIC)
|
||||
{
|
||||
scrolled_win->vscrollbar_visible =
|
||||
((adjustment->upper - adjustment->lower) > adjustment->page_size);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
g_warning ("could not determine which adjustment scrollbar received change signal for");
|
||||
return;
|
||||
}
|
||||
|
||||
if (policy == GTK_POLICY_AUTOMATIC)
|
||||
{
|
||||
hide_scrollbar = FALSE;
|
||||
|
||||
if ((adjustment->upper - adjustment->lower) <= adjustment->page_size)
|
||||
hide_scrollbar = TRUE;
|
||||
|
||||
if (hide_scrollbar)
|
||||
{
|
||||
if (GTK_WIDGET_VISIBLE (scrollbar))
|
||||
gtk_widget_hide (scrollbar);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!GTK_WIDGET_VISIBLE (scrollbar))
|
||||
gtk_widget_show (scrollbar);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -49,6 +49,8 @@ struct _GtkScrolledWindow
|
||||
|
||||
guint8 hscrollbar_policy;
|
||||
guint8 vscrollbar_policy;
|
||||
gint hscrollbar_visible : 1;
|
||||
gint vscrollbar_visible : 1;
|
||||
};
|
||||
|
||||
struct _GtkScrolledWindowClass
|
||||
|
||||
+11
-6
@@ -630,12 +630,17 @@ gtk_selection_clear (GtkWidget *widget,
|
||||
tmp_list = tmp_list->next;
|
||||
}
|
||||
|
||||
if (tmp_list == NULL || selection_info->time > event->time)
|
||||
return FALSE;
|
||||
|
||||
current_selections = g_list_remove_link (current_selections, tmp_list);
|
||||
g_list_free (tmp_list);
|
||||
g_free (selection_info);
|
||||
if (selection_info->time > event->time)
|
||||
return FALSE; /* return FALSE to indicate that
|
||||
* the selection was out of date,
|
||||
* and this clear should be ignored */
|
||||
else
|
||||
if (tmp_list)
|
||||
{
|
||||
current_selections = g_list_remove_link (current_selections, tmp_list);
|
||||
g_list_free (tmp_list);
|
||||
g_free (selection_info);
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
+1
-1
@@ -266,7 +266,7 @@ gtk_style_attach (GtkStyle *style,
|
||||
g_return_val_if_fail (window != NULL, NULL);
|
||||
|
||||
colormap = gdk_window_get_colormap (window);
|
||||
gdk_window_get_geometry (window, NULL, NULL, NULL, NULL, &depth);
|
||||
depth = gdk_window_get_visual (window)->depth;
|
||||
|
||||
new_style = gtk_style_find (style, colormap, depth);
|
||||
|
||||
|
||||
+3
-1
@@ -570,12 +570,14 @@ gtk_table_remove (GtkContainer *container,
|
||||
|
||||
if (child->widget == widget)
|
||||
{
|
||||
gboolean was_visible = GTK_WIDGET_VISIBLE (widget);
|
||||
|
||||
gtk_widget_unparent (widget);
|
||||
|
||||
table->children = g_list_remove (table->children, child);
|
||||
g_free (child);
|
||||
|
||||
if (GTK_WIDGET_VISIBLE (widget) && GTK_WIDGET_VISIBLE (container))
|
||||
if (was_visible && GTK_WIDGET_VISIBLE (container))
|
||||
gtk_widget_queue_resize (GTK_WIDGET (container));
|
||||
break;
|
||||
}
|
||||
|
||||
+8
-1
@@ -4497,7 +4497,14 @@ expose_text (GtkText* text, GdkRectangle *area, gboolean cursor)
|
||||
{
|
||||
if (CACHE_DATA(cache).start.index <= text->cursor_mark.index &&
|
||||
CACHE_DATA(cache).end.index >= text->cursor_mark.index)
|
||||
draw_cursor (text, TRUE);
|
||||
{
|
||||
/* We undraw and draw the cursor here to get the drawn
|
||||
* level right ... FIXME - maybe the second parameter
|
||||
* of draw_cursor should work differently
|
||||
*/
|
||||
undraw_cursor (text, FALSE);
|
||||
draw_cursor (text, FALSE);
|
||||
}
|
||||
}
|
||||
|
||||
pixels += LINE_HEIGHT(CACHE_DATA(cache));
|
||||
|
||||
+16
-3
@@ -710,7 +710,20 @@ gtk_tree_remove_items (GtkTree *tree,
|
||||
g_print("+ gtk_tree_remove_items [ tree %#x items list %#x ]\n", (int)tree, (int)items);
|
||||
#endif /* TREE_DEBUG */
|
||||
|
||||
root_tree = GTK_TREE(GTK_TREE_ROOT_TREE(tree));
|
||||
/* We may not yet be mapped, so we actively have to find our
|
||||
* root tree
|
||||
*/
|
||||
if (tree->root_tree)
|
||||
root_tree = tree->root_tree;
|
||||
else
|
||||
{
|
||||
GtkWidget *tmp = GTK_WIDGET (tree);
|
||||
while (tmp->parent && GTK_IS_TREE (tmp->parent))
|
||||
tmp = tmp->parent;
|
||||
|
||||
root_tree = GTK_TREE (tmp);
|
||||
}
|
||||
|
||||
tmp_list = items;
|
||||
selected_widgets = NULL;
|
||||
sorted_list = NULL;
|
||||
@@ -779,9 +792,9 @@ gtk_tree_remove_items (GtkTree *tree,
|
||||
#endif /* TREE_DEBUG */
|
||||
}
|
||||
|
||||
/* remove this item of his real parent */
|
||||
/* remove this item from its real parent */
|
||||
#ifdef TREE_DEBUG
|
||||
g_print("* remove widget of his owner tree\n");
|
||||
g_print("* remove widget from its owner tree\n");
|
||||
#endif /* TREE_DEBUG */
|
||||
real_tree->children = g_list_remove (real_tree->children, widget);
|
||||
|
||||
|
||||
+20
-13
@@ -304,9 +304,6 @@ gtk_tree_item_set_subtree (GtkTreeItem *tree_item,
|
||||
tree_item->subtree = subtree;
|
||||
GTK_TREE(subtree)->tree_owner = GTK_WIDGET(tree_item);
|
||||
|
||||
/* set root tree for selection list */
|
||||
GTK_TREE(subtree)->root_tree = GTK_TREE(GTK_WIDGET(tree_item)->parent)->root_tree;
|
||||
|
||||
/* show subtree button */
|
||||
if (tree_item->pixmaps_box)
|
||||
gtk_widget_show(tree_item->pixmaps_box);
|
||||
@@ -994,25 +991,35 @@ gtk_tree_item_remove_subtree (GtkTreeItem* item)
|
||||
g_return_if_fail (item->subtree != NULL);
|
||||
|
||||
if (GTK_TREE (item->subtree)->children)
|
||||
gtk_tree_remove_items (GTK_TREE (item->subtree),
|
||||
GTK_TREE (item->subtree)->children);
|
||||
|
||||
{
|
||||
/* The following call will remove the children and call
|
||||
* gtk_tree_item_remove_subtree() again. So we are done.
|
||||
*/
|
||||
gtk_tree_remove_items (GTK_TREE (item->subtree),
|
||||
GTK_TREE (item->subtree)->children);
|
||||
return;
|
||||
}
|
||||
|
||||
if (GTK_WIDGET_MAPPED (item->subtree))
|
||||
gtk_widget_unmap (item->subtree);
|
||||
|
||||
|
||||
gtk_widget_unparent (item->subtree);
|
||||
|
||||
if (item->pixmaps_box)
|
||||
gtk_widget_hide (item->pixmaps_box);
|
||||
|
||||
item->subtree = NULL;
|
||||
item->expanded = FALSE;
|
||||
if (item->pixmaps_box)
|
||||
|
||||
if (item->expanded)
|
||||
{
|
||||
gtk_container_remove (GTK_CONTAINER (item->pixmaps_box),
|
||||
item->minus_pix_widget);
|
||||
gtk_container_add (GTK_CONTAINER (item->pixmaps_box),
|
||||
item->plus_pix_widget);
|
||||
item->expanded = FALSE;
|
||||
if (item->pixmaps_box)
|
||||
{
|
||||
gtk_container_remove (GTK_CONTAINER (item->pixmaps_box),
|
||||
item->minus_pix_widget);
|
||||
gtk_container_add (GTK_CONTAINER (item->pixmaps_box),
|
||||
item->plus_pix_widget);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -56,4 +56,3 @@
|
||||
{ "GdkWindow", GTK_TYPE_BOXED },
|
||||
{ "GdkEvent", GTK_TYPE_BOXED },
|
||||
{ "GdkColor", GTK_TYPE_BOXED },
|
||||
{ "GtkTooltips", GTK_TYPE_BOXED },
|
||||
|
||||
@@ -56,5 +56,4 @@
|
||||
#define GTK_TYPE_GDK_WINDOW (gtk_type_builtins[53])
|
||||
#define GTK_TYPE_GDK_EVENT (gtk_type_builtins[54])
|
||||
#define GTK_TYPE_GDK_COLOR (gtk_type_builtins[55])
|
||||
#define GTK_TYPE_TOOLTIPS (gtk_type_builtins[56])
|
||||
#define GTK_TYPE_NUM_BUILTINS 57
|
||||
#define GTK_TYPE_NUM_BUILTINS 56
|
||||
|
||||
+3
-3
@@ -39,7 +39,7 @@ static void gtk_vruler_draw_pos (GtkRuler *ruler);
|
||||
|
||||
|
||||
guint
|
||||
gtk_vruler_get_type ()
|
||||
gtk_vruler_get_type (void)
|
||||
{
|
||||
static guint vruler_type = 0;
|
||||
|
||||
@@ -88,7 +88,7 @@ gtk_vruler_init (GtkVRuler *vruler)
|
||||
}
|
||||
|
||||
GtkWidget*
|
||||
gtk_vruler_new ()
|
||||
gtk_vruler_new (void)
|
||||
{
|
||||
return GTK_WIDGET (gtk_type_new (gtk_vruler_get_type ()));
|
||||
}
|
||||
@@ -136,7 +136,7 @@ gtk_vruler_draw_ticks (GtkRuler *ruler)
|
||||
gfloat step_incr;
|
||||
gfloat increment;
|
||||
gfloat start, end, cur;
|
||||
gchar unit_str[12];
|
||||
gchar unit_str[32];
|
||||
gchar digit_str[2] = { '\0', '\0' };
|
||||
gint text_height;
|
||||
gint digit_height;
|
||||
|
||||
+55
-35
@@ -256,10 +256,10 @@ static const gchar *visual_key = "gtk-visual";
|
||||
* results:
|
||||
*****************************************/
|
||||
|
||||
guint
|
||||
GtkType
|
||||
gtk_widget_get_type ()
|
||||
{
|
||||
static guint widget_type = 0;
|
||||
static GtkType widget_type = 0;
|
||||
|
||||
if (!widget_type)
|
||||
{
|
||||
@@ -419,7 +419,7 @@ gtk_widget_class_init (GtkWidgetClass *klass)
|
||||
GTK_TYPE_BOXED);
|
||||
widget_signals[INSTALL_ACCELERATOR] =
|
||||
gtk_signal_new ("install_accelerator",
|
||||
GTK_RUN_FIRST,
|
||||
GTK_RUN_LAST,
|
||||
object_class->type,
|
||||
GTK_SIGNAL_OFFSET (GtkWidgetClass, install_accelerator),
|
||||
gtk_widget_marshal_signal_2,
|
||||
@@ -1128,7 +1128,6 @@ void
|
||||
gtk_widget_unparent (GtkWidget *widget)
|
||||
{
|
||||
GtkWidget *toplevel;
|
||||
GtkWidget *child;
|
||||
GtkWidget *old_parent;
|
||||
GSList *tmp_list, *prev_list;
|
||||
|
||||
@@ -1139,18 +1138,30 @@ gtk_widget_unparent (GtkWidget *widget)
|
||||
/* keep this function in sync with gtk_menu_detach()
|
||||
*/
|
||||
|
||||
/* unset focused and default children properly
|
||||
*/
|
||||
toplevel = gtk_widget_get_toplevel (widget);
|
||||
if (GTK_CONTAINER (widget->parent)->focus_child == widget)
|
||||
{
|
||||
gtk_container_set_focus_child (GTK_CONTAINER (widget->parent), NULL);
|
||||
|
||||
if (GTK_IS_WINDOW (toplevel))
|
||||
{
|
||||
GtkWidget *child;
|
||||
|
||||
child = GTK_WINDOW (toplevel)->focus_widget;
|
||||
|
||||
while (child && child != widget)
|
||||
child = child->parent;
|
||||
|
||||
if (child == widget)
|
||||
gtk_window_set_focus (GTK_WINDOW (toplevel), NULL);
|
||||
}
|
||||
}
|
||||
if (GTK_IS_WINDOW (toplevel))
|
||||
{
|
||||
child = GTK_WINDOW (toplevel)->focus_widget;
|
||||
GtkWidget *child;
|
||||
|
||||
while (child && child != widget)
|
||||
child = child->parent;
|
||||
|
||||
if (child == widget)
|
||||
gtk_window_set_focus (GTK_WINDOW (toplevel), NULL);
|
||||
|
||||
|
||||
child = GTK_WINDOW (toplevel)->default_widget;
|
||||
|
||||
while (child && child != widget)
|
||||
@@ -2244,27 +2255,31 @@ gtk_widget_basic (GtkWidget *widget)
|
||||
void
|
||||
gtk_widget_grab_focus (GtkWidget *widget)
|
||||
{
|
||||
GtkWidget *window;
|
||||
GtkWidget *child;
|
||||
GtkType window_type;
|
||||
|
||||
g_return_if_fail (widget != NULL);
|
||||
|
||||
window_type = gtk_window_get_type ();
|
||||
window = widget->parent;
|
||||
child = widget;
|
||||
|
||||
while (window && !gtk_type_is_a (GTK_WIDGET_TYPE (window), window_type))
|
||||
g_return_if_fail (GTK_IS_WIDGET (widget));
|
||||
|
||||
if (GTK_WIDGET_CAN_FOCUS (widget))
|
||||
{
|
||||
GTK_CONTAINER (window)->focus_child = child;
|
||||
child = window;
|
||||
window = window->parent;
|
||||
}
|
||||
|
||||
if (window && gtk_type_is_a (GTK_WIDGET_TYPE (window), window_type))
|
||||
{
|
||||
GTK_CONTAINER (window)->focus_child = child;
|
||||
gtk_window_set_focus (GTK_WINDOW (window), widget);
|
||||
GtkWidget *parent;
|
||||
GtkWidget *child;
|
||||
GtkType window_type;
|
||||
|
||||
window_type = gtk_window_get_type ();
|
||||
parent = widget->parent;
|
||||
child = widget;
|
||||
|
||||
while (parent && !gtk_type_is_a (GTK_WIDGET_TYPE (parent), window_type))
|
||||
{
|
||||
gtk_container_set_focus_child (GTK_CONTAINER (parent), child);
|
||||
child = parent;
|
||||
parent = parent->parent;
|
||||
}
|
||||
|
||||
if (parent && gtk_type_is_a (GTK_WIDGET_TYPE (parent), window_type))
|
||||
{
|
||||
gtk_container_set_focus_child (GTK_CONTAINER (parent), child);
|
||||
gtk_window_set_focus (GTK_WINDOW (parent), widget);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2577,7 +2592,11 @@ gtk_widget_style_set (GtkWidget *widget,
|
||||
{
|
||||
if (GTK_WIDGET_REALIZED (widget) &&
|
||||
!GTK_WIDGET_NO_WINDOW (widget))
|
||||
gtk_style_set_background (widget->style, widget->window, widget->state);
|
||||
{
|
||||
gtk_style_set_background (widget->style, widget->window, widget->state);
|
||||
if (GTK_WIDGET_DRAWABLE (widget))
|
||||
gdk_window_clear (widget->window);
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -3490,12 +3509,13 @@ gtk_widget_real_destroy (GtkObject *object)
|
||||
|
||||
gtk_grab_remove (widget);
|
||||
gtk_selection_remove_all (widget);
|
||||
|
||||
saved_style = gtk_object_get_data_by_id (GTK_OBJECT (widget), saved_default_style_key_id);
|
||||
gtk_accelerator_tables_delete (object);
|
||||
|
||||
saved_style = gtk_object_get_data_by_id (object, saved_default_style_key_id);
|
||||
if (saved_style)
|
||||
{
|
||||
gtk_style_unref (saved_style);
|
||||
gtk_object_remove_data_by_id (GTK_OBJECT (widget), saved_default_style_key_id);
|
||||
gtk_object_remove_data_by_id (object, saved_default_style_key_id);
|
||||
}
|
||||
|
||||
gtk_style_unref (widget->style);
|
||||
|
||||
+1
-1
@@ -355,7 +355,7 @@ struct _GtkWidgetShapeInfo
|
||||
};
|
||||
|
||||
|
||||
guint gtk_widget_get_type (void);
|
||||
GtkType gtk_widget_get_type (void);
|
||||
GtkWidget* gtk_widget_new (guint type,
|
||||
...);
|
||||
GtkWidget* gtk_widget_newv (guint type,
|
||||
|
||||
@@ -51,6 +51,7 @@ typedef struct sTreeButtons {
|
||||
guint nb_item_add;
|
||||
GtkWidget* add_button;
|
||||
GtkWidget* remove_button;
|
||||
GtkWidget* subtree_button;
|
||||
} sTreeButtons;
|
||||
/* end of tree section */
|
||||
|
||||
@@ -1065,6 +1066,22 @@ cb_remove_item(GtkWidget*w, GtkTree* tree)
|
||||
g_list_free (clear_list);
|
||||
}
|
||||
|
||||
static void
|
||||
cb_remove_subtree(GtkWidget*w, GtkTree* tree)
|
||||
{
|
||||
GList* selected_list;
|
||||
GtkTreeItem *item;
|
||||
|
||||
selected_list = GTK_TREE_SELECTION(tree);
|
||||
|
||||
if (selected_list)
|
||||
{
|
||||
item = GTK_TREE_ITEM (selected_list->data);
|
||||
if (item->subtree)
|
||||
gtk_tree_item_remove_subtree (item);
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
cb_tree_changed(GtkTree* tree)
|
||||
{
|
||||
@@ -1084,11 +1101,13 @@ cb_tree_changed(GtkTree* tree)
|
||||
else
|
||||
gtk_widget_set_sensitive(tree_buttons->add_button, FALSE);
|
||||
gtk_widget_set_sensitive(tree_buttons->remove_button, FALSE);
|
||||
gtk_widget_set_sensitive(tree_buttons->subtree_button, FALSE);
|
||||
}
|
||||
else
|
||||
{
|
||||
gtk_widget_set_sensitive(tree_buttons->remove_button, TRUE);
|
||||
gtk_widget_set_sensitive(tree_buttons->add_button, (nb_selected == 1));
|
||||
gtk_widget_set_sensitive(tree_buttons->subtree_button, (nb_selected == 1));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1228,6 +1247,15 @@ create_tree_sample(guint selection_mode,
|
||||
gtk_widget_show(button);
|
||||
tree_buttons->remove_button = button;
|
||||
|
||||
button = gtk_button_new_with_label("Remove Subtree");
|
||||
gtk_widget_set_sensitive(button, FALSE);
|
||||
gtk_signal_connect(GTK_OBJECT (button), "clicked",
|
||||
(GtkSignalFunc) cb_remove_subtree,
|
||||
(gpointer)root_tree);
|
||||
gtk_box_pack_start(GTK_BOX(box2), button, TRUE, TRUE, 0);
|
||||
gtk_widget_show(button);
|
||||
tree_buttons->subtree_button = button;
|
||||
|
||||
/* create separator */
|
||||
separator = gtk_hseparator_new();
|
||||
gtk_box_pack_start(GTK_BOX(box1), separator, FALSE, FALSE, 0);
|
||||
@@ -2114,6 +2142,10 @@ create_scrolled_windows ()
|
||||
gtk_table_set_row_spacings (GTK_TABLE (table), 10);
|
||||
gtk_table_set_col_spacings (GTK_TABLE (table), 10);
|
||||
gtk_container_add (GTK_CONTAINER (scrolled_window), table);
|
||||
gtk_container_set_focus_hadjustment (GTK_CONTAINER (table),
|
||||
gtk_scrolled_window_get_hadjustment (GTK_SCROLLED_WINDOW (scrolled_window)));
|
||||
gtk_container_set_focus_vadjustment (GTK_CONTAINER (table),
|
||||
gtk_scrolled_window_get_vadjustment (GTK_SCROLLED_WINDOW (scrolled_window)));
|
||||
gtk_widget_show (table);
|
||||
|
||||
for (i = 0; i < 20; i++)
|
||||
@@ -2772,6 +2804,8 @@ create_list ()
|
||||
gtk_list_set_selection_mode (GTK_LIST (list), GTK_SELECTION_MULTIPLE);
|
||||
gtk_list_set_selection_mode (GTK_LIST (list), GTK_SELECTION_BROWSE);
|
||||
gtk_container_add (GTK_CONTAINER (scrolled_win), list);
|
||||
gtk_container_set_focus_vadjustment (GTK_CONTAINER (list),
|
||||
gtk_scrolled_window_get_vadjustment (GTK_SCROLLED_WINDOW (scrolled_win)));
|
||||
gtk_widget_show (list);
|
||||
|
||||
for (i = 0; i < nlist_items; i++)
|
||||
@@ -5754,12 +5788,15 @@ create_main_window ()
|
||||
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_window),
|
||||
GTK_POLICY_AUTOMATIC,
|
||||
GTK_POLICY_AUTOMATIC);
|
||||
GTK_WIDGET_UNSET_FLAGS (GTK_SCROLLED_WINDOW (scrolled_window)->vscrollbar, GTK_CAN_FOCUS);
|
||||
gtk_box_pack_start (GTK_BOX (box1), scrolled_window, TRUE, TRUE, 0);
|
||||
gtk_widget_show (scrolled_window);
|
||||
|
||||
box2 = gtk_vbox_new (FALSE, 0);
|
||||
gtk_container_border_width (GTK_CONTAINER (box2), 10);
|
||||
gtk_container_add (GTK_CONTAINER (scrolled_window), box2);
|
||||
gtk_container_set_focus_vadjustment (GTK_CONTAINER (box2),
|
||||
gtk_scrolled_window_get_vadjustment (GTK_SCROLLED_WINDOW (scrolled_window)));
|
||||
gtk_widget_show (box2);
|
||||
|
||||
for (i = 0; i < nbuttons; i++)
|
||||
|
||||
+9
-3
@@ -1,5 +1,7 @@
|
||||
# pixmap_path "<dir 1>:<dir 2>:<dir 3>:..."
|
||||
#
|
||||
# include "rc-file"
|
||||
#
|
||||
# style <name> [= <name>]
|
||||
# {
|
||||
# <option>
|
||||
@@ -8,6 +10,9 @@
|
||||
# widget <widget_set> style <style_name>
|
||||
# widget_class <widget_class_set> style <style_name>
|
||||
|
||||
# testgtkrc2 introduces the green color in the button list
|
||||
include "testgtkrc2"
|
||||
|
||||
pixmap_path "."
|
||||
|
||||
style "default"
|
||||
@@ -33,10 +38,11 @@ style "button"
|
||||
# bg[PRELIGHT] = { 0, 0, 0.75 }
|
||||
}
|
||||
|
||||
style 'main_button' = 'button'
|
||||
# we set want buttons in the main window to be blue by default
|
||||
style 'main_buttons' = 'button'
|
||||
{
|
||||
font = "-adobe-helvetica-medium-r-normal--*-100-*-*-*-*-*-*"
|
||||
bg[PRELIGHT] = { 0, 0.75, 0x00 }
|
||||
bg[PRELIGHT] = { 0, 0, 0.75 }
|
||||
}
|
||||
|
||||
style "toggle_button" = "button"
|
||||
@@ -74,5 +80,5 @@ widget_class "*GtkButton*" style "button"
|
||||
widget_class "*Ruler" style "ruler"
|
||||
widget_class "*GtkText" style "text"
|
||||
widget_class "*" style "default"
|
||||
widget "main window.*GtkButton*" style "main_button"
|
||||
widget "main window.*GtkButton*" style "main_buttons"
|
||||
widget "*GtkCurve" style "curve"
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
# pixmap_path "<dir 1>:<dir 2>:<dir 3>:..."
|
||||
#
|
||||
# include "rc-file"
|
||||
#
|
||||
# style <name> [= <name>]
|
||||
# {
|
||||
# <option>
|
||||
# }
|
||||
#
|
||||
# widget <widget_set> style <style_name>
|
||||
# widget_class <widget_class_set> style <style_name>
|
||||
|
||||
# this file gets included from testgtkrc
|
||||
|
||||
style 'button_list' = 'button'
|
||||
{
|
||||
font = "-adobe-helvetica-medium-r-normal--*-100-*-*-*-*-*-*"
|
||||
bg[PRELIGHT] = { 0, 0.75, 0x00 }
|
||||
}
|
||||
|
||||
widget "main window.*GtkScrolledWindow.*GtkButton*" style "button_list"
|
||||
@@ -32,23 +32,43 @@ if test "${CDPATH+set}" = set; then CDPATH=; export CDPATH; fi
|
||||
echo=echo
|
||||
if test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then :
|
||||
else
|
||||
# The Solaris and AIX default echo program unquotes backslashes.
|
||||
# This makes it impossible to quote backslashes using
|
||||
# The Solaris, AIX, and Digital Unix default echo programs unquote
|
||||
# backslashes. This makes it impossible to quote backslashes using
|
||||
# echo "$something" | sed 's/\\/\\\\/g'
|
||||
# So, we emulate echo with printf '%s\n'
|
||||
echo="printf %s\\n"
|
||||
if test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then :
|
||||
else
|
||||
# Oops. We have no working printf. Try to find a not-so-buggy echo.
|
||||
echo=echo
|
||||
IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:"
|
||||
for dir in $PATH /usr/ucb; do
|
||||
if test -f $dir/echo && test "X`$dir/echo '\t'`" = 'X\t'; then
|
||||
echo="$dir/echo"
|
||||
break
|
||||
#
|
||||
# So, first we look for a working echo in the user's PATH.
|
||||
IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:"
|
||||
for dir in $PATH /usr/ucb; do
|
||||
if test -f $dir/echo && test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t'; then
|
||||
echo="$dir/echo"
|
||||
break
|
||||
fi
|
||||
done
|
||||
IFS="$save_ifs"
|
||||
|
||||
if test "X$echo" = Xecho; then
|
||||
# We didn't find a better echo, so look for alternatives.
|
||||
if test "X`(print -r '\t') 2>/dev/null`" = 'X\t'; then
|
||||
# This shell has a builtin print -r that does the trick.
|
||||
echo='print -r'
|
||||
#
|
||||
# The following is from libtool-1.2a, won't work with this patched
|
||||
# libtool-1.2
|
||||
#
|
||||
# elif test -f /bin/ksh && test "X$CONFIG_SHELL" != X/bin/ksh; then
|
||||
# # If we have ksh, try running ltconfig again with it.
|
||||
# CONFIG_SHELL=/bin/ksh
|
||||
# export CONFIG_SHELL
|
||||
# exec "$CONFIG_SHELL" "$0" --no-reexec ${1+"$@"}
|
||||
else
|
||||
# Try using printf.
|
||||
echo='printf %s\n'
|
||||
if test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then :
|
||||
else
|
||||
# Oops. We lost completely, so just stick with echo.
|
||||
echo=echo
|
||||
fi
|
||||
done
|
||||
IFS="$save_ifs"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
@@ -66,7 +86,7 @@ progname=`$echo "X$0" | $Xsed -e 's%^.*/%%'`
|
||||
# Constants:
|
||||
PROGRAM=ltconfig
|
||||
PACKAGE=libtool
|
||||
VERSION=1.1
|
||||
VERSION=1.2
|
||||
ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.c 1>&5'
|
||||
ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.c $LIBS 1>&5'
|
||||
rm="rm -f"
|
||||
@@ -421,7 +441,7 @@ if test "$with_gcc" != yes || test -z "$CC"; then
|
||||
# Now see if the compiler is really GCC.
|
||||
with_gcc=no
|
||||
echo $ac_n "checking whether we are using GNU C... $ac_c" 1>&6
|
||||
echo "$progname:424: checking whether we are using GNU C" >&5
|
||||
echo "$progname:444: checking whether we are using GNU C" >&5
|
||||
|
||||
$rm conftest.c
|
||||
cat > conftest.c <<EOF
|
||||
@@ -429,7 +449,7 @@ if test "$with_gcc" != yes || test -z "$CC"; then
|
||||
yes;
|
||||
#endif
|
||||
EOF
|
||||
if { ac_try='${CC-cc} -E conftest.c'; { (eval echo $progname:432: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
|
||||
if { ac_try='${CC-cc} -E conftest.c'; { (eval echo $progname:452: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
|
||||
with_gcc=yes
|
||||
fi
|
||||
$rm conftest.c
|
||||
@@ -544,14 +564,15 @@ if test -n "$pic_flag"; then
|
||||
echo > conftest.c
|
||||
save_CFLAGS="$CFLAGS"
|
||||
CFLAGS="$CFLAGS $pic_flag -DPIC"
|
||||
echo "$progname:547: checking if $compiler PIC flag $pic_flag works" >&5
|
||||
if { (eval echo $progname:548: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; } && test -s conftest.o; then
|
||||
# Append any errors to the config.log.
|
||||
echo "$progname:567: checking if $compiler PIC flag $pic_flag works" >&5
|
||||
if { (eval echo $progname:568: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; } && test -s conftest.o; then
|
||||
# Append any warnings to the config.log.
|
||||
cat conftest.err 1>&5
|
||||
|
||||
# On HP-UX, the stripped-down bundled CC does not accept +Z, but also
|
||||
# reports no error. So, we need to grep stderr for (Bundled).
|
||||
if grep '(Bundled)' conftest.err >/dev/null; then
|
||||
# On HP-UX, both CC and GCC only warn that PIC is supported... then they
|
||||
# create non-PIC objects. So, if there were any warnings, we assume that
|
||||
# PIC is not supported.
|
||||
if test -s conftest.err; then
|
||||
echo "$ac_t"no 1>&6
|
||||
can_build_shared=no
|
||||
pic_flag=
|
||||
@@ -587,8 +608,8 @@ $rm conftest*
|
||||
echo 'main(){return(0);}' > conftest.c
|
||||
save_LDFLAGS="$LDFLAGS"
|
||||
LDFLAGS="$LDFLAGS $link_static_flag"
|
||||
echo "$progname:590: checking if $compiler static flag $link_static_flag works" >&5
|
||||
if { (eval echo $progname:591: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
|
||||
echo "$progname:611: checking if $compiler static flag $link_static_flag works" >&5
|
||||
if { (eval echo $progname:612: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
|
||||
echo "$ac_t$link_static_flag" 1>&6
|
||||
else
|
||||
echo "$ac_t"none 1>&6
|
||||
@@ -620,7 +641,7 @@ if test -z "$LD"; then
|
||||
if test "$with_gcc" = yes; then
|
||||
# Check if gcc -print-prog-name=ld gives a path.
|
||||
echo $ac_n "checking for ld used by GCC... $ac_c" 1>&6
|
||||
echo "$progname:623: checking for ld used by GCC" >&5
|
||||
echo "$progname:644: checking for ld used by GCC" >&5
|
||||
ac_prog=`($CC -print-prog-name=ld) 2>&5`
|
||||
case "$ac_prog" in
|
||||
# Accept absolute paths.
|
||||
@@ -638,10 +659,10 @@ if test -z "$LD"; then
|
||||
esac
|
||||
elif test "$with_gnu_ld" = yes; then
|
||||
echo $ac_n "checking for GNU ld... $ac_c" 1>&6
|
||||
echo "$progname:641: checking for GNU ld" >&5
|
||||
echo "$progname:662: checking for GNU ld" >&5
|
||||
else
|
||||
echo $ac_n "checking for non-GNU ld""... $ac_c" 1>&6
|
||||
echo "$progname:644: checking for non-GNU ld" >&5
|
||||
echo "$progname:665: checking for non-GNU ld" >&5
|
||||
fi
|
||||
|
||||
if test -z "$LD"; then
|
||||
@@ -967,11 +988,11 @@ void nm_test_func(){}
|
||||
main(){nm_test_var='a';nm_test_func();return(0);}
|
||||
EOF
|
||||
|
||||
echo "$progname:970: checking if global_symbol_pipe works" >&5
|
||||
if { (eval echo $progname:971: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; } && test -s conftest.o; then
|
||||
echo "$progname:991: checking if global_symbol_pipe works" >&5
|
||||
if { (eval echo $progname:992: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; } && test -s conftest.o; then
|
||||
# Now try to grab the symbols.
|
||||
nlist=conftest.nm
|
||||
if { echo "$progname:974: eval \"$NM conftest.o | $global_symbol_pipe > $nlist\"" >&5; eval "$NM conftest.o | $global_symbol_pipe > $nlist 2>&5"; } && test -s "$nlist"; then
|
||||
if { echo "$progname:995: eval \"$NM conftest.o | $global_symbol_pipe > $nlist\"" >&5; eval "$NM conftest.o | $global_symbol_pipe > $nlist 2>&5"; } && test -s "$nlist"; then
|
||||
|
||||
# Try sorting and uniquifying the output.
|
||||
if sort "$nlist" | uniq > "$nlist"T; then
|
||||
@@ -1029,7 +1050,7 @@ EOF
|
||||
save_CFLAGS="$CFLAGS"
|
||||
LIBS='conftestm.o'
|
||||
CFLAGS="$CFLAGS$no_builtin_flag"
|
||||
if { (eval echo $progname:1032: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
|
||||
if { (eval echo $progname:1053: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
|
||||
pipe_works=yes
|
||||
else
|
||||
echo "$progname: failed program was:" >&5
|
||||
|
||||
@@ -30,7 +30,7 @@ modename="$progname"
|
||||
# Constants.
|
||||
PROGRAM=ltmain.sh
|
||||
PACKAGE=libtool
|
||||
VERSION=1.1
|
||||
VERSION=1.2
|
||||
|
||||
default_mode=
|
||||
help="Try \`$progname --help' for more information."
|
||||
@@ -481,7 +481,7 @@ if test -z "$show_help"; then
|
||||
if test "$export_dynamic" != yes; then
|
||||
export_dynamic=yes
|
||||
if test -n "$export_dynamic_flag_spec"; then
|
||||
arg=`eval \\$echo "$export_dynamic_flag_spec"`
|
||||
eval arg=\"$export_dynamic_flag_spec\"
|
||||
else
|
||||
arg=
|
||||
fi
|
||||
@@ -682,7 +682,7 @@ if test -z "$show_help"; then
|
||||
fi
|
||||
|
||||
if test -n "$libdir"; then
|
||||
flag=`eval \\$echo \"$hardcode_libdir_flag_spec\"`
|
||||
eval flag=\"$hardcode_libdir_flag_spec\"
|
||||
|
||||
compile_command="$compile_command $flag"
|
||||
finalize_command="$finalize_command $flag"
|
||||
@@ -843,7 +843,7 @@ if test -z "$show_help"; then
|
||||
esac
|
||||
|
||||
name=`$echo "X$output" | $Xsed -e 's/\.la$//' -e 's/^lib//'`
|
||||
libname=`eval \\$echo \"$libname_spec\"`
|
||||
eval libname=\"$libname_spec\"
|
||||
|
||||
# All the library-specific variables (install_libdir is set above).
|
||||
library_names=
|
||||
@@ -1006,13 +1006,13 @@ if test -z "$show_help"; then
|
||||
|
||||
if test "$build_libtool_libs" = yes; then
|
||||
# Get the real and link names of the library.
|
||||
library_names=`eval \\$echo \"$library_names_spec\"`
|
||||
eval library_names=\"$library_names_spec\"
|
||||
set dummy $library_names
|
||||
realname="$2"
|
||||
shift; shift
|
||||
|
||||
if test -n "$soname_spec"; then
|
||||
soname=`eval \\$echo \"$soname_spec\"`
|
||||
eval soname=\"$soname_spec\"
|
||||
else
|
||||
soname="$realname"
|
||||
fi
|
||||
@@ -1027,7 +1027,7 @@ if test -z "$show_help"; then
|
||||
test -z "$pic_flag" && libobjs=`$echo "X$libobjs " | $Xsed -e 's/\.lo /.o /g' -e 's/ $//g'`
|
||||
|
||||
# Do each of the archive commands.
|
||||
cmds=`eval \\$echo \"$archive_cmds\"`
|
||||
eval cmds=\"$archive_cmds\"
|
||||
IFS="${IFS= }"; save_ifs="$IFS"; IFS=';'
|
||||
for cmd in $cmds; do
|
||||
IFS="$save_ifs"
|
||||
@@ -1104,7 +1104,7 @@ if test -z "$show_help"; then
|
||||
reload_objs="$objs"`$echo "X$libobjs " | $Xsed -e 's/[^ ]*\.a //g' -e 's/\.lo /.o /g' -e 's/ $//g'`
|
||||
|
||||
output="$obj"
|
||||
cmds=`eval \\$echo \"$reload_cmds\"`
|
||||
eval cmds=\"$reload_cmds\"
|
||||
IFS="${IFS= }"; save_ifs="$IFS"; IFS=';'
|
||||
for cmd in $cmds; do
|
||||
IFS="$save_ifs"
|
||||
@@ -1128,7 +1128,7 @@ if test -z "$show_help"; then
|
||||
# Only do commands if we really have different PIC objects.
|
||||
reload_objs="$libobjs"
|
||||
output="$libobj"
|
||||
cmds=`eval \\$echo \"$reload_cmds\"`
|
||||
eval cmds=\"$reload_cmds\"
|
||||
IFS="${IFS= }"; save_ifs="$IFS"; IFS=';'
|
||||
for cmd in $cmds; do
|
||||
IFS="$save_ifs"
|
||||
@@ -1177,7 +1177,7 @@ if test -z "$show_help"; then
|
||||
fi
|
||||
|
||||
if test -n "$libdir"; then
|
||||
flag=`eval \\$echo \"$hardcode_libdir_flag_spec\"`
|
||||
eval flag=\"$hardcode_libdir_flag_spec\"
|
||||
|
||||
compile_command="$compile_command $flag"
|
||||
finalize_command="$finalize_command $flag"
|
||||
@@ -1254,8 +1254,8 @@ if test -z "$show_help"; then
|
||||
case "$dlsyms" in
|
||||
"") ;;
|
||||
*.c)
|
||||
$echo > "$objdir/$dlsyms" \
|
||||
"/* $dlsyms - symbol resolution table for \`$output' dlsym emulation. */
|
||||
$echo > "$objdir/$dlsyms" "\
|
||||
/* $dlsyms - symbol resolution table for \`$output' dlsym emulation. */
|
||||
/* Generated by $PROGRAM - GNU $PACKAGE $VERSION */
|
||||
|
||||
#ifdef __cplusplus
|
||||
@@ -1266,17 +1266,17 @@ extern \"C\" {
|
||||
#define dld_preloaded_symbol_count some_other_symbol
|
||||
#define dld_preloaded_symbols some_other_symbol
|
||||
|
||||
/* External symbol declarations for the compiler. */"
|
||||
/* External symbol declarations for the compiler. */\
|
||||
"
|
||||
|
||||
if test -f "$nlist"; then
|
||||
sed -e 's/^.* \(.*\)$/extern char \1;/' < "$nlist" >> "$objdir/$dlsyms"
|
||||
else
|
||||
echo '/* NONE */' >> "$objdir/$dlsyms"
|
||||
EOF
|
||||
fi
|
||||
|
||||
$echo >> "$objdir/$dlsyms" \
|
||||
"
|
||||
$echo >> "$objdir/$dlsyms" "\
|
||||
|
||||
#undef dld_preloaded_symbol_count
|
||||
#undef dld_preloaded_symbols
|
||||
|
||||
@@ -1295,19 +1295,21 @@ struct {
|
||||
__ptr_t address;
|
||||
}
|
||||
dld_preloaded_symbols[] =
|
||||
{"
|
||||
{\
|
||||
"
|
||||
|
||||
if test -f "$nlist"; then
|
||||
sed 's/^\(.*\) \(.*\)$/ {"\1", (__ptr_t) \&\2},/' < "$nlist" >> "$objdir/$dlsyms"
|
||||
fi
|
||||
|
||||
$echo >> "$objdir/$dlsyms" \
|
||||
" {0, (__ptr_t) 0}
|
||||
$echo >> "$objdir/$dlsyms" "\
|
||||
{0, (__ptr_t) 0}
|
||||
};
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif"
|
||||
#endif\
|
||||
"
|
||||
;;
|
||||
|
||||
*)
|
||||
@@ -1427,8 +1429,8 @@ dld_preloaded_symbols[] =
|
||||
$rm $output
|
||||
trap "$rm $output; exit 1" 1 2 15
|
||||
|
||||
$echo > $output \
|
||||
"#! /bin/sh
|
||||
$echo > $output "\
|
||||
#! /bin/sh
|
||||
|
||||
# $output - temporary wrapper script for $objdir/$output
|
||||
# Generated by ltmain.sh - GNU $PACKAGE $VERSION
|
||||
@@ -1459,10 +1461,9 @@ else
|
||||
else
|
||||
echo=\"$qecho\"
|
||||
file=\"\$0\"
|
||||
fi
|
||||
"
|
||||
$echo >> $output \
|
||||
fi\
|
||||
"
|
||||
$echo >> $output "\
|
||||
|
||||
# Find the directory that this script lives in.
|
||||
thisdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\`
|
||||
@@ -1496,8 +1497,8 @@ else
|
||||
|
||||
# Export our shlibpath_var if we have one.
|
||||
if test -n "$shlibpath_var" && test -n "$temp_rpath"; then
|
||||
$echo >> $output \
|
||||
" # Add our own library path to $shlibpath_var
|
||||
$echo >> $output "\
|
||||
# Add our own library path to $shlibpath_var
|
||||
$shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
|
||||
|
||||
# Some systems cannot cope with colon-terminated $shlibpath_var
|
||||
@@ -1507,24 +1508,17 @@ else
|
||||
"
|
||||
fi
|
||||
|
||||
echo >> $output \
|
||||
" if test \"\$libtool_execute_magic\" != \"$magic\"; then
|
||||
$echo >> $output "\
|
||||
if test \"\$libtool_execute_magic\" != \"$magic\"; then
|
||||
# Run the actual program with our arguments.
|
||||
args=
|
||||
for arg
|
||||
do
|
||||
# Quote arguments (to preserve shell metacharacters).
|
||||
arg=\`\$echo \"X\$arg\" | \$Xsed -e \"\$sed_quote_subst\"\`
|
||||
args=\"\$args \\\"\$arg\\\"\"
|
||||
done
|
||||
|
||||
# Export the path to the program.
|
||||
PATH=\"\$progdir:\$PATH\"
|
||||
export PATH
|
||||
|
||||
eval \"exec \$program \$args\"
|
||||
exec \$program \${1+\"\$@\"}
|
||||
|
||||
\$echo \"\$0: cannot exec \$program \$args\"
|
||||
\$echo \"\$0: cannot exec \$program \${1+\"\$@\"}\"
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
@@ -1534,7 +1528,8 @@ else
|
||||
echo \"See the $PACKAGE documentation for more information.\" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
fi"
|
||||
fi\
|
||||
"
|
||||
chmod +x $output
|
||||
fi
|
||||
exit 0
|
||||
@@ -1548,9 +1543,9 @@ fi"
|
||||
|
||||
# Do each command in the archive commands.
|
||||
if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then
|
||||
cmds=`eval \\$echo \"$old_archive_from_new_cmds\"`
|
||||
eval cmds=\"$old_archive_from_new_cmds\"
|
||||
else
|
||||
cmds=`eval \\$echo \"$old_archive_cmds\"`
|
||||
eval cmds=\"$old_archive_cmds\"
|
||||
fi
|
||||
IFS="${IFS= }"; save_ifs="$IFS"; IFS=';'
|
||||
for cmd in $cmds; do
|
||||
@@ -1571,8 +1566,8 @@ fi"
|
||||
|
||||
# Only create the output if not a dry run.
|
||||
if test -z "$run"; then
|
||||
echo > $output \
|
||||
"# $output - a libtool library file
|
||||
$echo > $output "\
|
||||
# $output - a libtool library file
|
||||
# Generated by ltmain.sh - GNU $PACKAGE $VERSION
|
||||
|
||||
# The name that we can dlopen(3).
|
||||
@@ -1593,7 +1588,8 @@ age=$age
|
||||
revision=$revision
|
||||
|
||||
# Directory that this library needs to be installed in:
|
||||
libdir='$install_libdir'"
|
||||
libdir='$install_libdir'\
|
||||
"
|
||||
fi
|
||||
|
||||
# Do a symbolic link so that the libtool archive can be found in
|
||||
@@ -1835,7 +1831,7 @@ libdir='$install_libdir'"
|
||||
|
||||
# Do each command in the postinstall commands.
|
||||
lib="$destdir/$realname"
|
||||
cmds=`eval \\$echo \"$postinstall_cmds\"`
|
||||
eval cmds=\"$postinstall_cmds\"
|
||||
IFS="${IFS= }"; save_ifs="$IFS"; IFS=';'
|
||||
for cmd in $cmds; do
|
||||
IFS="$save_ifs"
|
||||
@@ -1972,7 +1968,7 @@ libdir='$install_libdir'"
|
||||
$run eval "$install_prog \$file \$oldlib" || exit $?
|
||||
|
||||
# Do each command in the postinstall commands.
|
||||
cmds=`eval \\$echo \"$old_postinstall_cmds\"`
|
||||
eval cmds=\"$old_postinstall_cmds\"
|
||||
IFS="${IFS= }"; save_ifs="$IFS"; IFS=';'
|
||||
for cmd in $cmds; do
|
||||
IFS="$save_ifs"
|
||||
@@ -2010,7 +2006,7 @@ libdir='$install_libdir'"
|
||||
for libdir in $libdirs; do
|
||||
if test -n "$finish_cmds"; then
|
||||
# Do each command in the finish commands.
|
||||
cmds=`eval \\$echo \"$finish_cmds\"`
|
||||
eval cmds=\"$finish_cmds\"
|
||||
IFS="${IFS= }"; save_ifs="$IFS"; IFS=';'
|
||||
for cmd in $cmds; do
|
||||
IFS="$save_ifs"
|
||||
@@ -2021,7 +2017,7 @@ libdir='$install_libdir'"
|
||||
fi
|
||||
if test -n "$finish_eval"; then
|
||||
# Do the single finish_eval.
|
||||
cmds=`eval \\$echo \"$finish_eval\"`
|
||||
eval cmds=\"$finish_eval\"
|
||||
$run eval "$cmds"
|
||||
fi
|
||||
done
|
||||
@@ -2047,7 +2043,7 @@ libdir='$install_libdir'"
|
||||
fi
|
||||
if test -n "$hardcode_libdir_flag_spec"; then
|
||||
libdir=LIBDIR
|
||||
flag=`eval \\$echo \"$hardcode_libdir_flag_spec\"`
|
||||
eval flag=\"$hardcode_libdir_flag_spec\"
|
||||
|
||||
echo " - use the \`$flag' linker flag"
|
||||
fi
|
||||
@@ -2238,7 +2234,7 @@ libdir='$install_libdir'"
|
||||
|
||||
if test -n "$library_names"; then
|
||||
# Do each command in the postuninstall commands.
|
||||
cmds=`eval \\$echo \"$postuninstall_cmds\"`
|
||||
eval cmds=\"$postuninstall_cmds\"
|
||||
IFS="${IFS= }"; save_ifs="$IFS"; IFS=';'
|
||||
for cmd in $cmds; do
|
||||
IFS="$save_ifs"
|
||||
@@ -2250,7 +2246,7 @@ libdir='$install_libdir'"
|
||||
|
||||
if test -n "$old_library"; then
|
||||
# Do each command in the old_postuninstall commands.
|
||||
cmds=`eval \\$echo \"$old_postuninstall_cmds\"`
|
||||
eval cmds=\"$old_postuninstall_cmds\"
|
||||
IFS="${IFS= }"; save_ifs="$IFS"; IFS=';'
|
||||
for cmd in $cmds; do
|
||||
IFS="$save_ifs"
|
||||
|
||||
@@ -51,6 +51,7 @@ typedef struct sTreeButtons {
|
||||
guint nb_item_add;
|
||||
GtkWidget* add_button;
|
||||
GtkWidget* remove_button;
|
||||
GtkWidget* subtree_button;
|
||||
} sTreeButtons;
|
||||
/* end of tree section */
|
||||
|
||||
@@ -1065,6 +1066,22 @@ cb_remove_item(GtkWidget*w, GtkTree* tree)
|
||||
g_list_free (clear_list);
|
||||
}
|
||||
|
||||
static void
|
||||
cb_remove_subtree(GtkWidget*w, GtkTree* tree)
|
||||
{
|
||||
GList* selected_list;
|
||||
GtkTreeItem *item;
|
||||
|
||||
selected_list = GTK_TREE_SELECTION(tree);
|
||||
|
||||
if (selected_list)
|
||||
{
|
||||
item = GTK_TREE_ITEM (selected_list->data);
|
||||
if (item->subtree)
|
||||
gtk_tree_item_remove_subtree (item);
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
cb_tree_changed(GtkTree* tree)
|
||||
{
|
||||
@@ -1084,11 +1101,13 @@ cb_tree_changed(GtkTree* tree)
|
||||
else
|
||||
gtk_widget_set_sensitive(tree_buttons->add_button, FALSE);
|
||||
gtk_widget_set_sensitive(tree_buttons->remove_button, FALSE);
|
||||
gtk_widget_set_sensitive(tree_buttons->subtree_button, FALSE);
|
||||
}
|
||||
else
|
||||
{
|
||||
gtk_widget_set_sensitive(tree_buttons->remove_button, TRUE);
|
||||
gtk_widget_set_sensitive(tree_buttons->add_button, (nb_selected == 1));
|
||||
gtk_widget_set_sensitive(tree_buttons->subtree_button, (nb_selected == 1));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1228,6 +1247,15 @@ create_tree_sample(guint selection_mode,
|
||||
gtk_widget_show(button);
|
||||
tree_buttons->remove_button = button;
|
||||
|
||||
button = gtk_button_new_with_label("Remove Subtree");
|
||||
gtk_widget_set_sensitive(button, FALSE);
|
||||
gtk_signal_connect(GTK_OBJECT (button), "clicked",
|
||||
(GtkSignalFunc) cb_remove_subtree,
|
||||
(gpointer)root_tree);
|
||||
gtk_box_pack_start(GTK_BOX(box2), button, TRUE, TRUE, 0);
|
||||
gtk_widget_show(button);
|
||||
tree_buttons->subtree_button = button;
|
||||
|
||||
/* create separator */
|
||||
separator = gtk_hseparator_new();
|
||||
gtk_box_pack_start(GTK_BOX(box1), separator, FALSE, FALSE, 0);
|
||||
@@ -2114,6 +2142,10 @@ create_scrolled_windows ()
|
||||
gtk_table_set_row_spacings (GTK_TABLE (table), 10);
|
||||
gtk_table_set_col_spacings (GTK_TABLE (table), 10);
|
||||
gtk_container_add (GTK_CONTAINER (scrolled_window), table);
|
||||
gtk_container_set_focus_hadjustment (GTK_CONTAINER (table),
|
||||
gtk_scrolled_window_get_hadjustment (GTK_SCROLLED_WINDOW (scrolled_window)));
|
||||
gtk_container_set_focus_vadjustment (GTK_CONTAINER (table),
|
||||
gtk_scrolled_window_get_vadjustment (GTK_SCROLLED_WINDOW (scrolled_window)));
|
||||
gtk_widget_show (table);
|
||||
|
||||
for (i = 0; i < 20; i++)
|
||||
@@ -2772,6 +2804,8 @@ create_list ()
|
||||
gtk_list_set_selection_mode (GTK_LIST (list), GTK_SELECTION_MULTIPLE);
|
||||
gtk_list_set_selection_mode (GTK_LIST (list), GTK_SELECTION_BROWSE);
|
||||
gtk_container_add (GTK_CONTAINER (scrolled_win), list);
|
||||
gtk_container_set_focus_vadjustment (GTK_CONTAINER (list),
|
||||
gtk_scrolled_window_get_vadjustment (GTK_SCROLLED_WINDOW (scrolled_win)));
|
||||
gtk_widget_show (list);
|
||||
|
||||
for (i = 0; i < nlist_items; i++)
|
||||
@@ -5754,12 +5788,15 @@ create_main_window ()
|
||||
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_window),
|
||||
GTK_POLICY_AUTOMATIC,
|
||||
GTK_POLICY_AUTOMATIC);
|
||||
GTK_WIDGET_UNSET_FLAGS (GTK_SCROLLED_WINDOW (scrolled_window)->vscrollbar, GTK_CAN_FOCUS);
|
||||
gtk_box_pack_start (GTK_BOX (box1), scrolled_window, TRUE, TRUE, 0);
|
||||
gtk_widget_show (scrolled_window);
|
||||
|
||||
box2 = gtk_vbox_new (FALSE, 0);
|
||||
gtk_container_border_width (GTK_CONTAINER (box2), 10);
|
||||
gtk_container_add (GTK_CONTAINER (scrolled_window), box2);
|
||||
gtk_container_set_focus_vadjustment (GTK_CONTAINER (box2),
|
||||
gtk_scrolled_window_get_vadjustment (GTK_SCROLLED_WINDOW (scrolled_window)));
|
||||
gtk_widget_show (box2);
|
||||
|
||||
for (i = 0; i < nbuttons; i++)
|
||||
|
||||
+9
-3
@@ -1,5 +1,7 @@
|
||||
# pixmap_path "<dir 1>:<dir 2>:<dir 3>:..."
|
||||
#
|
||||
# include "rc-file"
|
||||
#
|
||||
# style <name> [= <name>]
|
||||
# {
|
||||
# <option>
|
||||
@@ -8,6 +10,9 @@
|
||||
# widget <widget_set> style <style_name>
|
||||
# widget_class <widget_class_set> style <style_name>
|
||||
|
||||
# testgtkrc2 introduces the green color in the button list
|
||||
include "testgtkrc2"
|
||||
|
||||
pixmap_path "."
|
||||
|
||||
style "default"
|
||||
@@ -33,10 +38,11 @@ style "button"
|
||||
# bg[PRELIGHT] = { 0, 0, 0.75 }
|
||||
}
|
||||
|
||||
style 'main_button' = 'button'
|
||||
# we set want buttons in the main window to be blue by default
|
||||
style 'main_buttons' = 'button'
|
||||
{
|
||||
font = "-adobe-helvetica-medium-r-normal--*-100-*-*-*-*-*-*"
|
||||
bg[PRELIGHT] = { 0, 0.75, 0x00 }
|
||||
bg[PRELIGHT] = { 0, 0, 0.75 }
|
||||
}
|
||||
|
||||
style "toggle_button" = "button"
|
||||
@@ -74,5 +80,5 @@ widget_class "*GtkButton*" style "button"
|
||||
widget_class "*Ruler" style "ruler"
|
||||
widget_class "*GtkText" style "text"
|
||||
widget_class "*" style "default"
|
||||
widget "main window.*GtkButton*" style "main_button"
|
||||
widget "main window.*GtkButton*" style "main_buttons"
|
||||
widget "*GtkCurve" style "curve"
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
# pixmap_path "<dir 1>:<dir 2>:<dir 3>:..."
|
||||
#
|
||||
# include "rc-file"
|
||||
#
|
||||
# style <name> [= <name>]
|
||||
# {
|
||||
# <option>
|
||||
# }
|
||||
#
|
||||
# widget <widget_set> style <style_name>
|
||||
# widget_class <widget_class_set> style <style_name>
|
||||
|
||||
# this file gets included from testgtkrc
|
||||
|
||||
style 'button_list' = 'button'
|
||||
{
|
||||
font = "-adobe-helvetica-medium-r-normal--*-100-*-*-*-*-*-*"
|
||||
bg[PRELIGHT] = { 0, 0.75, 0x00 }
|
||||
}
|
||||
|
||||
widget "main window.*GtkScrolledWindow.*GtkButton*" style "button_list"
|
||||
Reference in New Issue
Block a user