[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
gEDA-cvs: branch: stable-1.2 updated (1.2.0-20070902-13-g0174a5b)
The branch, stable-1.2 has been updated
via 0174a5b7fd726e3a10a73d81e731b7a990644ca4 (commit)
via 89aca624e9e1b4fd77ae785af372c9c734bdc6fe (commit)
via e083d30569fdca87c9aa07ca55b7440b85b7b125 (commit)
via 805452b8ce8be5c85fdfc87ba3281192decdbcd9 (commit)
via 17cd44a285993915e1ba73f0bcba7f6120df7a0a (commit)
via da5151addbfba61fb36fffbdd4710244493964c8 (commit)
via 17aa737566e5a4198ef541a3f559b096277ce651 (commit)
via 3a59793aa6999fe233a8ad97acdeddecb1dd2df9 (commit)
via 9436a72692251d5fecadd8660cbc0ef4d7c5234f (commit)
via 2200b62ee03f118016358ed7b96c3e002cfb06c4 (commit)
via 19dfabcb4748aacb31b571a1d5db8cc3a49b287f (commit)
via f6769493448df1b107292ded42195c9e39b666d6 (commit)
via 866c288c01765b038475baedede173ab29619d3a (commit)
from 88fcb8d1bcdaa1436572d6a0ebe86f4df242a8d6 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
=========
Summary
=========
gattrib/configure.ac | 3 +++
gattrib/lib/Makefile.am | 4 +++-
gattrib/src/x_window.c | 4 ++++
gnetlist/configure.ac | 3 +++
gnetlist/tests/spice-sdb/tests.list | 2 +-
gschem/autogen.sh | 12 +++++++-----
gschem/configure.ac.in | 3 +++
gschem/scripts/gschemdoc.sh | 6 +++---
gschem/src/a_zoom.c | 1 +
gschem/src/gschem_dialog.c | 5 +++++
gschem/src/i_basic.c | 4 ++--
gschem/src/o_copy.c | 11 ++++++++---
gschem/src/x_dialog.c | 3 +++
gschem/src/x_event.c | 5 +++--
gschem/src/x_fileselect.c | 22 ++++++++++++++++++++++
gschem/src/x_menus.c | 4 ++--
gsymcheck/configure.ac | 3 +++
libgeda/autogen.sh | 12 +++++++-----
libgeda/configure.ac | 3 +++
libgeda/include/prototype.h | 1 +
libgeda/src/o_arc_basic.c | 13 +------------
libgeda/src/o_attrib.c | 35 ++++++++++++++++++++++++++++++++---
libgeda/src/o_box_basic.c | 13 +------------
libgeda/src/o_bus_basic.c | 14 +-------------
libgeda/src/o_circle_basic.c | 15 ++-------------
libgeda/src/o_complex_basic.c | 28 ++--------------------------
libgeda/src/o_line_basic.c | 14 ++------------
libgeda/src/o_list.c | 24 +++++++++++++++++-------
libgeda/src/o_net_basic.c | 14 +-------------
libgeda/src/o_picture.c | 16 +++-------------
libgeda/src/o_pin_basic.c | 13 +------------
libgeda/src/s_clib.c | 1 +
libgeda/src/s_encoding.c | 14 +++++++++-----
libgeda/src/s_textbuffer.c | 1 +
utils/configure.ac | 3 +++
35 files changed, 164 insertions(+), 165 deletions(-)
=================
Commit Messages
=================
commit 0174a5b7fd726e3a10a73d81e731b7a990644ca4
Author: Ales Hvezda <ahvezda@xxxxxxxx>
Date: Sat Dec 29 09:52:29 2007 -0500
Commented out test which now no longer runs correctly because of slotting fix.
The slotting fix is commit 5852e531717ba947b7acca39e50f71edd5921f06.
(cherry picked from commit 9d3166d44b07da85ac1c4e0185daf0c67e7096ea)
:100644 100644 dfc9d69... 867c13c... M gnetlist/tests/spice-sdb/tests.list
commit 89aca624e9e1b4fd77ae785af372c9c734bdc6fe
Author: Ales Hvezda <ahvezda@xxxxxxxx>
Date: Sat Dec 29 09:49:46 2007 -0500
Fix problem where changing slot= would not update pins
Known to break spice-sdb's slotted component handling, however users
are much more likely to encounter the former breakage. Original patch
removed the offending code, but this patch just #if's it out for now.
(cherry picked from commit 5852e531717ba947b7acca39e50f71edd5921f06)
:100644 100644 104f2b9... 7b38a75... M libgeda/src/o_attrib.c
commit e083d30569fdca87c9aa07ca55b7440b85b7b125
Author: Peter Clifton <pcjc2@xxxxxxxxx>
Date: Wed Sep 5 17:39:55 2007 +0100
Fix loading of embedded images.
Various bugs in the base64 decoding function were preventing the correct
decoding of the embedded image. In addition, it was possible for this code
to access invalid memory - possibly leading to a crash.
Additionally removes extra \n inserted between lines of the base64 input.
:100644 100644 d334c21... a2d72fe... M libgeda/src/o_picture.c
:100644 100644 f92d742... c1df554... M libgeda/src/s_encoding.c
commit 805452b8ce8be5c85fdfc87ba3281192decdbcd9
Author: Peter Clifton <pcjc2@xxxxxxxxx>
Date: Wed Sep 5 12:46:57 2007 +0100
Fix memory corruption and possible segfault copying attributes
If an object (but not all its attributes) was selected and copied, dangling
pointers were left in the un-copied attributes. A subsequent copy operation
containing those missed attributes would attempt to reattach them to the
copy of their parent. If this had been deleted in the mean time, memory
corruption and a possible segfault would occur.
Consolidates the duplicated code which sets the ATTRIB property "copied_to"
into a helper function, o_attrib_list_copied_to(). This is also used to
clean up after copy operations.
:100644 100644 a78b810... 3253973... M gschem/src/o_copy.c
:100644 100644 8ecd553... ec9aa4f... M libgeda/include/prototype.h
:100644 100644 f750cb5... 060a773... M libgeda/src/o_arc_basic.c
:100644 100644 c9f5c58... 104f2b9... M libgeda/src/o_attrib.c
:100644 100644 d700aab... e1f9c22... M libgeda/src/o_box_basic.c
:100644 100644 83e97e4... 40ca803... M libgeda/src/o_bus_basic.c
:100644 100644 a2c0891... fcebc75... M libgeda/src/o_circle_basic.c
:100644 100644 03fa010... 175a231... M libgeda/src/o_complex_basic.c
:100644 100644 3ec08a8... d091284... M libgeda/src/o_line_basic.c
:100644 100644 bb1d7db... 64f7397... M libgeda/src/o_list.c
:100644 100644 89e34cf... 16f8148... M libgeda/src/o_net_basic.c
:100644 100644 6edff47... d334c21... M libgeda/src/o_picture.c
:100644 100644 64c8278... c5945b3... M libgeda/src/o_pin_basic.c
commit 17cd44a285993915e1ba73f0bcba7f6120df7a0a
Author: Peter TB Brett <peter@xxxxxxxxxxxxx>
Date: Sat Dec 22 21:46:25 2007 +0000
gschem: Don't lose close confirmation dialog behind window
It was possible to lose gschem's close confirmation dialog behind the
gschem main window, which could lead to data loss as it was then very
difficult to recover gracefully.
:100644 100644 1c1b910... 209012a... M gschem/src/x_dialog.c
commit da5151addbfba61fb36fffbdd4710244493964c8
Author: Peter TB Brett <peter@xxxxxxxxxxxxx>
Date: Wed Dec 12 19:19:13 2007 +0000
gschem: Warn before overwriting files. [1846593]
Also fixes a memory leak in the file save function.
:100644 100644 adc491f... b777376... M gschem/src/x_fileselect.c
commit 17aa737566e5a4198ef541a3f559b096277ce651
Author: Peter TB Brett <peter@xxxxxxxxxxxxx>
Date: Thu Nov 29 00:29:15 2007 +0000
gschem: Fix "failed to set sensitivity" log spam
A bad string in i_basic.c was making x_menus_sensitivity() spam error
messages to the log. Altered the log message to make it easier to fix
in the future.
Bug was introduced in commit 93199b2f50c31691722ed154fc42fd4c01a2dac5
by editing menu definitions in system-gschemrc without updating
i_basic.c.
:100644 100644 e0e8ab3... 34e8c09... M gschem/src/i_basic.c
:100644 100644 119a51d... a4dee4e... M gschem/src/x_menus.c
commit 3a59793aa6999fe233a8ad97acdeddecb1dd2df9
Author: Peter TB Brett <peter@xxxxxxxxxxxxx>
Date: Fri Nov 23 21:43:49 2007 +0000
gschemdoc: Quote variables in case they contain spaces. [1792986]
In the gschemdoc shell script, the variables $pdfreader and $browser
need quoting on lines 86, 113 and 128 (eg "${browser}"). Otherwise,
paths with spaces in, like "Program Files/Mozilla Firefox" commonly
used in Windows don't work.
Based on anonymous SourceForge patch.
:100644 100644 ee6c1cb... acae51c... M gschem/scripts/gschemdoc.sh
commit 9436a72692251d5fecadd8660cbc0ef4d7c5234f
Author: Tomaž Šolc <tomaz.solc@xxxxxxxxxx>
Date: Fri Nov 23 21:42:50 2007 +0000
Compilation fixes for Mac OS X 10.5 [1832417]
This patch contains changes to gEDA source tree that were necessary to
compile on Mac OS X (10.5 Leopard, PPC).
:100644 100644 1a8b060... f8feb22... M gattrib/configure.ac
:100644 100644 fe89f75... 1c9454e... M gnetlist/configure.ac
:100755 100755 ffefb13... b06a5b7... M gschem/autogen.sh
:100644 100644 c331141... 6a02506... M gschem/configure.ac.in
:100644 100644 f583994... 5af2cbe... M gsymcheck/configure.ac
:100755 100755 e29a856... fe4732a... M libgeda/autogen.sh
:100644 100644 6e4e1ce... 36e0701... M libgeda/configure.ac
:100644 100644 4a5d049... 700cb97... M utils/configure.ac
commit 2200b62ee03f118016358ed7b96c3e002cfb06c4
Author: Peter Clifton <pcjc2@xxxxxxxxx>
Date: Tue Nov 6 23:11:41 2007 +0000
Free gdk events obtained with gtk_event_get().
gtk_event_put() copies an event given to it, so if we retrieve an event
and re-push it into the event queue, we still need to free our copy.
:100644 100644 21d244d... 70fb0a8... M gschem/src/a_zoom.c
commit 19dfabcb4748aacb31b571a1d5db8cc3a49b287f
Author: Hamish Moffatt <hamish@xxxxxxxxxx>
Date: Thu Oct 4 18:40:05 2007 +0100
Fix install location of gattrib-menus.xml to $GEDADATADIR
:100644 100644 919c3db... 9aee358... M gattrib/lib/Makefile.am
commit f6769493448df1b107292ded42195c9e39b666d6
Author: Ales Hvezda <ahvezda@xxxxxxxx>
Date: Wed Sep 12 02:37:55 2007 -0400
Fixed a whole bunch of gtk+ 2.4.x and misc issues building on an older box
This is a fix for (Patch#) 1789290 libgeda-1.2.0 fprintf which supplied a
similar patch which fixes the issues in libgeda/src/s_clib.c and
libgeda/src/s_textbuffer.c. In the future, all releases will be built with
gtk+ 2.4.x so that these sorts of problems do not get released.
:100644 100644 bb4f18f... c65691e... M gattrib/src/x_window.c
:100644 100644 ec28037... 6751491... M gschem/src/gschem_dialog.c
:100644 100644 f7c00b6... 119a51d... M gschem/src/x_menus.c
:100644 100644 7bb4824... 082ff08... M libgeda/src/s_clib.c
:100644 100644 cb0f309... 5ce865e... M libgeda/src/s_textbuffer.c
commit 866c288c01765b038475baedede173ab29619d3a
Author: Peter Clifton <pcjc2@xxxxxxxxx>
Date: Sat Sep 8 23:54:12 2007 +0100
Fix grid snapping in "Edit->Mirror Mode"
Where the user selectes Edit->Mirror Mode, then clicks a point about which
to mirror, the snap operation on the mouse coordinates was not taking place
until after the mirror. Bug was introduced with noscreen changes.
:100644 100644 3202ec6... fa29bf1... M gschem/src/x_event.c
=========
Changes
=========
commit 0174a5b7fd726e3a10a73d81e731b7a990644ca4
Author: Ales Hvezda <ahvezda@xxxxxxxx>
Date: Sat Dec 29 09:52:29 2007 -0500
Commented out test which now no longer runs correctly because of slotting fix.
The slotting fix is commit 5852e531717ba947b7acca39e50f71edd5921f06.
(cherry picked from commit 9d3166d44b07da85ac1c4e0185daf0c67e7096ea)
diff --git a/gnetlist/tests/spice-sdb/tests.list b/gnetlist/tests/spice-sdb/tests.list
index dfc9d69..867c13c 100644
--- a/gnetlist/tests/spice-sdb/tests.list
+++ b/gnetlist/tests/spice-sdb/tests.list
@@ -33,4 +33,4 @@ JD_Sort_nomunge_longopt | LVDfoo.sch | gafrc models/openIP_5.cir sym/LVD.sym | -
# Tests for slotted parts
-SlottedOpamps | SlottedOpamps.sch | gafrc sym/LM324_slotted-1.sym | |
+#SlottedOpamps | SlottedOpamps.sch | gafrc sym/LM324_slotted-1.sym | |
commit 89aca624e9e1b4fd77ae785af372c9c734bdc6fe
Author: Ales Hvezda <ahvezda@xxxxxxxx>
Date: Sat Dec 29 09:49:46 2007 -0500
Fix problem where changing slot= would not update pins
Known to break spice-sdb's slotted component handling, however users
are much more likely to encounter the former breakage. Original patch
removed the offending code, but this patch just #if's it out for now.
(cherry picked from commit 5852e531717ba947b7acca39e50f71edd5921f06)
diff --git a/libgeda/src/o_attrib.c b/libgeda/src/o_attrib.c
index 104f2b9..7b38a75 100644
--- a/libgeda/src/o_attrib.c
+++ b/libgeda/src/o_attrib.c
@@ -2135,13 +2135,10 @@ void o_attrib_slot_update(TOPLEVEL *w_current, OBJECT *object)
OBJECT *o_slot_attrib;
OBJECT *o_pin_object;
OBJECT *o_pinnum_object;
- OBJECT *o_pinseq_object;
char *string;
char *slotdef;
int slot;
int pin_counter; /* Internal pin counter private to this fcn. */
- char *new_pinseq; /* New pinseq = (slot*(number of pins -1) + pin_count */
- int numpins; /* Total number of pins on this slot */
char* current_pin; /* text from slotdef= to be made into pinnumber= */
char* cptr; /* char pointer pointing to pinnumbers in slotdef=#:#,#,# string */
@@ -2221,6 +2218,13 @@ void o_attrib_slot_update(TOPLEVEL *w_current, OBJECT *object)
g_free(string);
}
+/* This block of code is commented out since it breaks slotting in general. */
+/* A better way should be found for spice-sdb's use. */
+#if 0
+ /* these variables are used in this block and should be moved above */
+ char *new_pinseq; /* New pinseq = (slot*(number of pins -1) + pin_count */
+ int numpins; /* Total number of pins on this slot */
+ OBJECT *o_pinseq_object;
/* Now update pinseq= attrib on this part. */
/* Algorithm:
@@ -2266,6 +2270,7 @@ void o_attrib_slot_update(TOPLEVEL *w_current, OBJECT *object)
if (string) {
g_free(string);
}
+#endif /* commented out since it breaks slotting */
pin_counter++;
} else {
commit e083d30569fdca87c9aa07ca55b7440b85b7b125
Author: Peter Clifton <pcjc2@xxxxxxxxx>
Date: Wed Sep 5 17:39:55 2007 +0100
Fix loading of embedded images.
Various bugs in the base64 decoding function were preventing the correct
decoding of the embedded image. In addition, it was possible for this code
to access invalid memory - possibly leading to a crash.
Additionally removes extra \n inserted between lines of the base64 input.
diff --git a/libgeda/src/o_picture.c b/libgeda/src/o_picture.c
index d334c21..a2d72fe 100644
--- a/libgeda/src/o_picture.c
+++ b/libgeda/src/o_picture.c
@@ -167,7 +167,6 @@ OBJECT *o_picture_read(TOPLEVEL *w_current, OBJECT *object_list,
if (g_strcasecmp(line, ".\n") != 0) {
encoded_picture=g_string_append (encoded_picture, line);
- encoded_picture=g_string_append (encoded_picture, "\n");
}
else {
finished = 1;
@@ -178,6 +177,7 @@ OBJECT *o_picture_read(TOPLEVEL *w_current, OBJECT *object_list,
pixdata_serialized_data=s_encoding_base64_decode(encoded_picture->str,
encoded_picture->len,
&pixdata_serialized_length);
+
if (pixdata_serialized_data == NULL) {
fprintf(stderr, "Error decoding picture.\n");
s_log_message ("Error decoding picture.\n");
diff --git a/libgeda/src/s_encoding.c b/libgeda/src/s_encoding.c
index f92d742..c1df554 100644
--- a/libgeda/src/s_encoding.c
+++ b/libgeda/src/s_encoding.c
@@ -204,13 +204,14 @@ gchar *s_encoding_base64_decode (gchar* src, guint srclen, guint* dstlenp)
dst = g_new(gchar, srclen+1);
*dstlenp = srclen+1;
- while (srclen-- > 0)
+ while (srclen > 0)
{
+ srclen--;
ch = *src++;
- if (s_encoding_Base64_rank[ch]==255) /* Skip any non-base64 anywhere */
- continue;
if (ch == s_encoding_Pad64)
break;
+ if (s_encoding_Base64_rank[ch]==255) /* Skip any non-base64 anywhere */
+ continue;
pos = s_encoding_Base64_rank[ch];
@@ -266,9 +267,11 @@ gchar *s_encoding_base64_decode (gchar* src, guint srclen, guint* dstlenp)
return NULL;
case 2: /* Valid, means one byte of info */
/* Skip any number of spaces. */
- while (srclen-- > 0)
+ while (srclen > 0)
{
+ srclen--;
ch = *src++;
+ if (ch == s_encoding_Pad64) break;
if (s_encoding_Base64_rank[ch] != 255) break;
}
/* Make sure there is another trailing = sign. */
@@ -284,8 +287,9 @@ gchar *s_encoding_base64_decode (gchar* src, guint srclen, guint* dstlenp)
* We know this char is an =. Is there anything but
* whitespace after it?
*/
- while (srclen-- > 0)
+ while (srclen > 0)
{
+ srclen--;
ch = *src++;
if (s_encoding_Base64_rank[ch] != 255)
{
commit 805452b8ce8be5c85fdfc87ba3281192decdbcd9
Author: Peter Clifton <pcjc2@xxxxxxxxx>
Date: Wed Sep 5 12:46:57 2007 +0100
Fix memory corruption and possible segfault copying attributes
If an object (but not all its attributes) was selected and copied, dangling
pointers were left in the un-copied attributes. A subsequent copy operation
containing those missed attributes would attempt to reattach them to the
copy of their parent. If this had been deleted in the mean time, memory
corruption and a possible segfault would occur.
Consolidates the duplicated code which sets the ATTRIB property "copied_to"
into a helper function, o_attrib_list_copied_to(). This is also used to
clean up after copy operations.
diff --git a/gschem/src/o_copy.c b/gschem/src/o_copy.c
index a78b810..3253973 100644
--- a/gschem/src/o_copy.c
+++ b/gschem/src/o_copy.c
@@ -405,9 +405,6 @@ void o_copy_end(TOPLEVEL *w_current)
w_current,
object->attached_to->copied_to);
#endif
-
- /* satisfied copy request */
- object->attached_to->copied_to = NULL;
}
}
@@ -449,6 +446,14 @@ void o_copy_end(TOPLEVEL *w_current)
s_current = s_current->next;
}
+ /* Clean up dangling ATTRIB.copied_to pointers */
+ s_current = geda_list_get_glist( w_current->page_current->selection_list );
+ while(s_current != NULL) {
+ object = s_current->data;
+ o_attrib_list_copied_to (object->attribs, NULL);
+ s_current = g_list_next (s_current);
+ }
+
/* This is commented out since it breaks the copy of objects. */
/* Required connection information is thrown away for some reason */
/* Of course, commenting this out, will probably break the rotation */
diff --git a/libgeda/include/prototype.h b/libgeda/include/prototype.h
index 8ecd553..ec9aa4f 100644
--- a/libgeda/include/prototype.h
+++ b/libgeda/include/prototype.h
@@ -205,6 +205,7 @@ int o_attrib_count_toplevel(TOPLEVEL *w_current, char *name);
char *o_attrib_search_toplevel_all(PAGE *page_head, char *name);
OBJECT **o_attrib_return_attribs(OBJECT *object_list, OBJECT *sel_object);
void o_attrib_free_returned(OBJECT **found_objects);
+void o_attrib_list_copied_to(ATTRIB *list, OBJECT *to_obj);
/* o_basic.c */
int inside_region(int xmin, int ymin, int xmax, int ymax, int x, int y);
diff --git a/libgeda/src/o_arc_basic.c b/libgeda/src/o_arc_basic.c
index f750cb5..060a773 100644
--- a/libgeda/src/o_arc_basic.c
+++ b/libgeda/src/o_arc_basic.c
@@ -150,7 +150,6 @@ OBJECT *o_arc_copy(TOPLEVEL *w_current, OBJECT *list_tail,
OBJECT *o_current)
{
OBJECT *new_obj;
- ATTRIB *a_current;
int color;
if (o_current->saved_color == -1) {
@@ -170,18 +169,8 @@ OBJECT *o_arc_copy(TOPLEVEL *w_current, OBJECT *list_tail,
o_current->line_length, o_current->line_space);
o_set_fill_options(w_current, new_obj,
FILLING_HOLLOW, -1, -1, -1, -1, -1);
-
- a_current = o_current->attribs;
- if (a_current) {
- while (a_current) {
- /* head attrib node has prev = NULL */
- if (a_current->prev != NULL) {
- a_current->copied_to = new_obj;
- }
- a_current = a_current->next;
- }
- }
+ o_attrib_list_copied_to (o_current->attribs, new_obj);
return(new_obj);
}
diff --git a/libgeda/src/o_attrib.c b/libgeda/src/o_attrib.c
index c9f5c58..104f2b9 100644
--- a/libgeda/src/o_attrib.c
+++ b/libgeda/src/o_attrib.c
@@ -2557,3 +2557,27 @@ void o_attrib_free_returned(OBJECT **found_objects)
g_free(found_objects);
}
+
+
+/*! \brief Set the copied_to property on a list of attributes
+ * \par Function Description
+ * Sets the copied_to property on a list of attributes.
+ * Used when copying objects with attributes.
+ *
+ * \param [in] list List of attributes to set
+ * \param [in] to_obj OBEJCT to set copied_to
+ */
+void o_attrib_list_copied_to(ATTRIB *list, OBJECT *to_obj)
+{
+ ATTRIB *a_current;
+
+ a_current = list;
+ while ( a_current ) {
+
+ /* head attrib node has prev = NULL */
+ if (a_current->prev != NULL) {
+ a_current->copied_to = to_obj;
+ }
+ a_current = a_current->next;
+ }
+}
diff --git a/libgeda/src/o_box_basic.c b/libgeda/src/o_box_basic.c
index d700aab..e1f9c22 100644
--- a/libgeda/src/o_box_basic.c
+++ b/libgeda/src/o_box_basic.c
@@ -142,7 +142,6 @@ OBJECT *o_box_add(TOPLEVEL *w_current, OBJECT *object_list,
OBJECT *o_box_copy(TOPLEVEL *w_current, OBJECT *list_tail, OBJECT *o_current)
{
OBJECT *new_obj;
- ATTRIB *a_current;
int color;
if (o_current->saved_color == -1) {
@@ -188,17 +187,7 @@ OBJECT *o_box_copy(TOPLEVEL *w_current, OBJECT *list_tail, OBJECT *o_current)
o_box_recalc(w_current, new_obj);
/* new_obj->attribute = 0;*/
- a_current = o_current->attribs;
- if (a_current) {
- while ( a_current ) {
-
- /* head attrib node has prev = NULL */
- if (a_current->prev != NULL) {
- a_current->copied_to = new_obj;
- }
- a_current = a_current->next;
- }
- }
+ o_attrib_list_copied_to (o_current->attribs, new_obj);
/* return the new tail of the object list */
return(new_obj);
diff --git a/libgeda/src/o_bus_basic.c b/libgeda/src/o_bus_basic.c
index 83e97e4..40ca803 100644
--- a/libgeda/src/o_bus_basic.c
+++ b/libgeda/src/o_bus_basic.c
@@ -245,7 +245,6 @@ void o_bus_translate_world(TOPLEVEL *w_current, int x1, int y1, OBJECT *object)
OBJECT *o_bus_copy(TOPLEVEL *w_current, OBJECT *list_tail, OBJECT *o_current)
{
OBJECT *new_obj;
- ATTRIB *a_current;
int color;
if (o_current->saved_color == -1) {
@@ -268,18 +267,7 @@ OBJECT *o_bus_copy(TOPLEVEL *w_current, OBJECT *list_tail, OBJECT *o_current)
new_obj->line->x[1] = o_current->line->x[1];
new_obj->line->y[1] = o_current->line->y[1];
- a_current = o_current->attribs;
-
- if (a_current) {
- while ( a_current ) {
-
- /* head attrib node has prev = NULL */
- if (a_current->prev != NULL) {
- a_current->copied_to = new_obj;
- }
- a_current = a_current->next;
- }
- }
+ o_attrib_list_copied_to (o_current->attribs, new_obj);
return(new_obj);
}
diff --git a/libgeda/src/o_circle_basic.c b/libgeda/src/o_circle_basic.c
index a2c0891..fcebc75 100644
--- a/libgeda/src/o_circle_basic.c
+++ b/libgeda/src/o_circle_basic.c
@@ -129,7 +129,6 @@ OBJECT *o_circle_copy(TOPLEVEL *w_current, OBJECT *list_tail,
OBJECT *o_current)
{
OBJECT *new_obj;
- ATTRIB *a_current;
int color;
if (o_current->saved_color == -1) {
@@ -172,18 +171,8 @@ OBJECT *o_circle_copy(TOPLEVEL *w_current, OBJECT *list_tail,
o_circle_recalc(w_current, new_obj);
/* new_obj->attribute = 0;*/
- a_current = o_current->attribs;
- if (a_current) {
- while ( a_current ) {
-
- /* head attrib node has prev = NULL */
- if (a_current->prev != NULL) {
- a_current->copied_to = new_obj;
- }
- a_current = a_current->next;
- }
- }
-
+ o_attrib_list_copied_to (o_current->attribs, new_obj);
+
return(new_obj);
}
diff --git a/libgeda/src/o_complex_basic.c b/libgeda/src/o_complex_basic.c
index 03fa010..175a231 100644
--- a/libgeda/src/o_complex_basic.c
+++ b/libgeda/src/o_complex_basic.c
@@ -944,7 +944,6 @@ OBJECT *o_complex_copy(TOPLEVEL *w_current, OBJECT *list_tail,
OBJECT *o_current)
{
OBJECT *new_obj=NULL;
- ATTRIB *a_current;
int color;
int selectable;
const CLibSymbol *clib = NULL;
@@ -979,18 +978,7 @@ OBJECT *o_complex_copy(TOPLEVEL *w_current, OBJECT *list_tail,
/* here you need to create a list of attributes which need to be
* connected to the new list, probably make an attribute list and
* fill it with sid's of the attributes */
- a_current = o_current->attribs;
- if (a_current) {
- while ( a_current ) {
-
- /* head attrib node has prev = NULL */
- if (a_current->prev != NULL) {
- a_current->copied_to = new_obj;
- }
-
- a_current = a_current->next;
- }
- }
+ o_attrib_list_copied_to (o_current->attribs, new_obj);
return(new_obj);
}
@@ -1004,7 +992,6 @@ OBJECT *o_complex_copy_embedded(TOPLEVEL *w_current, OBJECT *list_tail,
{
OBJECT *new_obj=NULL;
OBJECT *temp_list;
- ATTRIB *a_current;
int color;
int selectable;
@@ -1040,18 +1027,7 @@ OBJECT *o_complex_copy_embedded(TOPLEVEL *w_current, OBJECT *list_tail,
/* here you need to create a list of attributes which need to be
* connected to the new list, probably make an attribute list and
* fill it with sid's of the attributes */
- a_current = o_current->attribs;
- if (a_current) {
- while ( a_current ) {
-
- /* head attrib node has prev = NULL */
- if (a_current->prev != NULL) {
- a_current->copied_to = new_obj;
- }
-
- a_current = a_current->next;
- }
- }
+ o_attrib_list_copied_to (o_current->attribs, new_obj);
return(new_obj);
}
diff --git a/libgeda/src/o_line_basic.c b/libgeda/src/o_line_basic.c
index 3ec08a8..d091284 100644
--- a/libgeda/src/o_line_basic.c
+++ b/libgeda/src/o_line_basic.c
@@ -124,7 +124,6 @@ OBJECT *o_line_add(TOPLEVEL *w_current, OBJECT *object_list,
OBJECT *o_line_copy(TOPLEVEL *w_current, OBJECT *list_tail, OBJECT *o_current)
{
OBJECT *new_obj;
- ATTRIB *a_current;
int color;
if (o_current->saved_color == -1) {
@@ -170,17 +169,8 @@ OBJECT *o_line_copy(TOPLEVEL *w_current, OBJECT *list_tail, OBJECT *o_current)
o_line_recalc(w_current, o_current);
/* new_obj->attribute = 0;*/
- a_current = o_current->attribs;
- if (a_current) {
- while ( a_current ) {
- /* head attrib node has prev = NULL */
- if (a_current->prev != NULL) {
- a_current->copied_to = new_obj;
- }
- a_current = a_current->next;
- }
- }
-
+ o_attrib_list_copied_to (o_current->attribs, new_obj);
+
/* return the new tail of the object list */
return(new_obj);
}
diff --git a/libgeda/src/o_list.c b/libgeda/src/o_list.c
index bb1d7db..64f7397 100644
--- a/libgeda/src/o_list.c
+++ b/libgeda/src/o_list.c
@@ -219,16 +219,20 @@ OBJECT *o_list_copy_all(TOPLEVEL *w_current, OBJECT *src_list_head,
o_attrib_attach(w_current,
w_current->page_current->object_parent,
dest, src->attached_to->copied_to);
-
- /* satisfied copy request */
- src->attached_to->copied_to = NULL;
- }
+ }
}
}
src = src->next;
}
+ /* Clean up dangling ATTRIB.copied_to pointers */
+ src = src_list_head;
+ while(src != NULL) {
+ o_attrib_list_copied_to (src->attribs, NULL);
+ src = src->next;
+ }
+
w_current->ADDING_SEL = adding_sel_save;
w_current->page_current->object_parent = temp_parent;
@@ -336,9 +340,7 @@ OBJECT *o_list_copy_all_selection2(TOPLEVEL *w_current,
o_attrib_attach(w_current,
w_current->page_current->object_parent,
dest, object->attached_to->copied_to);
- /* satisfied copy request */
- object->attached_to->copied_to = NULL;
- }
+ }
}
}
@@ -348,6 +350,14 @@ OBJECT *o_list_copy_all_selection2(TOPLEVEL *w_current,
src = src->next;
}
+ /* Clean up dangling ATTRIB.copied_to pointers */
+ src = src_list_head;
+ while(src != NULL) {
+ object = src->data;
+ o_attrib_list_copied_to (object->attribs, NULL);
+ src = g_list_next (src);
+ }
+
w_current->ADDING_SEL = adding_sel_save;
w_current->page_current->object_parent = temp_parent;
diff --git a/libgeda/src/o_net_basic.c b/libgeda/src/o_net_basic.c
index 89e34cf..16f8148 100644
--- a/libgeda/src/o_net_basic.c
+++ b/libgeda/src/o_net_basic.c
@@ -258,7 +258,6 @@ OBJECT *o_net_copy(TOPLEVEL *w_current, OBJECT *list_tail,
OBJECT *o_current)
{
OBJECT *new_obj;
- ATTRIB *a_current;
int color;
if (o_current->saved_color == -1) {
@@ -280,18 +279,7 @@ OBJECT *o_net_copy(TOPLEVEL *w_current, OBJECT *list_tail,
new_obj->line->x[1] = o_current->line->x[1];
new_obj->line->y[1] = o_current->line->y[1];
- a_current = o_current->attribs;
-
- if (a_current) {
- while (a_current) {
-
- /* head attrib node has prev = NULL */
- if (a_current->prev != NULL) {
- a_current->copied_to = new_obj;
- }
- a_current = a_current->next;
- }
- }
+ o_attrib_list_copied_to (o_current->attribs, new_obj);
return (new_obj);
}
diff --git a/libgeda/src/o_picture.c b/libgeda/src/o_picture.c
index 6edff47..d334c21 100644
--- a/libgeda/src/o_picture.c
+++ b/libgeda/src/o_picture.c
@@ -759,7 +759,6 @@ OBJECT *o_picture_copy(TOPLEVEL *w_current, OBJECT *list_tail,
OBJECT *o_current)
{
OBJECT *new_obj;
- ATTRIB *a_current;
int color;
if (o_current->saved_color == -1) {
@@ -816,17 +815,8 @@ OBJECT *o_picture_copy(TOPLEVEL *w_current, OBJECT *list_tail,
o_picture_recalc(w_current, new_obj);
/* new_obj->attribute = 0;*/
- a_current = o_current->attribs;
- if (a_current) {
- while ( a_current ) {
- /* head attrib node has prev = NULL */
- if (a_current->prev != NULL) {
- a_current->copied_to = new_obj;
- }
- a_current = a_current->next;
- }
- }
-
+ o_attrib_list_copied_to (o_current->attribs, new_obj);
+
/* return the new tail of the object list */
return(new_obj);
}
diff --git a/libgeda/src/o_pin_basic.c b/libgeda/src/o_pin_basic.c
index 64c8278..c5945b3 100644
--- a/libgeda/src/o_pin_basic.c
+++ b/libgeda/src/o_pin_basic.c
@@ -269,7 +269,6 @@ void o_pin_translate_world(TOPLEVEL *w_current, int x1, int y1, OBJECT *object)
OBJECT *o_pin_copy(TOPLEVEL *w_current, OBJECT *list_tail, OBJECT *o_current)
{
OBJECT *new_obj;
- ATTRIB *a_current;
int color;
if (o_current->saved_color == -1) {
@@ -289,17 +288,7 @@ OBJECT *o_pin_copy(TOPLEVEL *w_current, OBJECT *list_tail, OBJECT *o_current)
new_obj->line->y[1] = o_current->line->y[1];
/* new_obj->attribute = 0;*/
- a_current = o_current->attribs;
- if (a_current) {
- while ( a_current ) {
-
- /* head attrib node has prev = NULL */
- if (a_current->prev != NULL) {
- a_current->copied_to = new_obj;
- }
- a_current = a_current->next;
- }
- }
+ o_attrib_list_copied_to (o_current->attribs, new_obj);
return(new_obj);
}
commit 17cd44a285993915e1ba73f0bcba7f6120df7a0a
Author: Peter TB Brett <peter@xxxxxxxxxxxxx>
Date: Sat Dec 22 21:46:25 2007 +0000
gschem: Don't lose close confirmation dialog behind window
It was possible to lose gschem's close confirmation dialog behind the
gschem main window, which could lead to data loss as it was then very
difficult to recover gracefully.
diff --git a/gschem/src/x_dialog.c b/gschem/src/x_dialog.c
index 1c1b910..209012a 100644
--- a/gschem/src/x_dialog.c
+++ b/gschem/src/x_dialog.c
@@ -4029,6 +4029,9 @@ x_dialog_close_window (TOPLEVEL *toplevel)
"unsaved-pages", unsaved_pages,
NULL));
+ gtk_window_set_transient_for (GTK_WINDOW (dialog),
+ GTK_WINDOW (toplevel->main_window));
+
g_list_free (unsaved_pages);
switch (gtk_dialog_run (GTK_DIALOG (dialog))) {
case GTK_RESPONSE_NO:
commit da5151addbfba61fb36fffbdd4710244493964c8
Author: Peter TB Brett <peter@xxxxxxxxxxxxx>
Date: Wed Dec 12 19:19:13 2007 +0000
gschem: Warn before overwriting files. [1846593]
Also fixes a memory leak in the file save function.
diff --git a/gschem/src/x_fileselect.c b/gschem/src/x_fileselect.c
index adc491f..b777376 100644
--- a/gschem/src/x_fileselect.c
+++ b/gschem/src/x_fileselect.c
@@ -273,12 +273,34 @@ x_fileselect_save (TOPLEVEL *toplevel)
gchar *filename =
gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (dialog));
+ /* If the file already exists, display a dialog box to check if
+ the user really wants to overwrite it. */
+ if ((filename != NULL) && g_file_test (filename, G_FILE_TEST_EXISTS)) {
+ GtkWidget *checkdialog =
+ gtk_message_dialog_new (GTK_WINDOW(dialog),
+ (GTK_DIALOG_MODAL |
+ GTK_DIALOG_DESTROY_WITH_PARENT),
+ GTK_MESSAGE_QUESTION,
+ GTK_BUTTONS_YES_NO,
+ _("The selected file `%s' already exists.\n\n"
+ "Would you like to overwrite it?"),
+ filename);
+ gtk_window_set_title (GTK_WINDOW (checkdialog), _("Overwrite file?"));
+ if (gtk_dialog_run (GTK_DIALOG (checkdialog)) != GTK_RESPONSE_YES) {
+ s_log_message (_("Save cancelled on user request\n"));
+ g_free (filename);
+ filename = NULL;
+ }
+ gtk_widget_destroy (checkdialog);
+ }
/* try saving current page of toplevel to file filename */
if (filename != NULL) {
x_window_save_page (toplevel,
toplevel->page_current,
filename);
}
+
+ g_free (filename);
}
gtk_widget_destroy (dialog);
commit 17aa737566e5a4198ef541a3f559b096277ce651
Author: Peter TB Brett <peter@xxxxxxxxxxxxx>
Date: Thu Nov 29 00:29:15 2007 +0000
gschem: Fix "failed to set sensitivity" log spam
A bad string in i_basic.c was making x_menus_sensitivity() spam error
messages to the log. Altered the log message to make it easier to fix
in the future.
Bug was introduced in commit 93199b2f50c31691722ed154fc42fd4c01a2dac5
by editing menu definitions in system-gschemrc without updating
i_basic.c.
diff --git a/gschem/src/i_basic.c b/gschem/src/i_basic.c
index e0e8ab3..34e8c09 100644
--- a/gschem/src/i_basic.c
+++ b/gschem/src/i_basic.c
@@ -422,7 +422,7 @@ void i_update_menus(TOPLEVEL *w_current)
x_menus_sensitivity(w_current, "Buffer/Cut into 5", TRUE);
x_menus_sensitivity(w_current, "Hierarchy/Down Schematic", TRUE);
x_menus_sensitivity(w_current, "Hierarchy/Down Symbol", TRUE);
- x_menus_sensitivity(w_current, "Hierarchy/Documentation", TRUE);
+ x_menus_sensitivity(w_current, "Hierarchy/Documentation...", TRUE);
x_menus_sensitivity(w_current, "Attributes/Attach", TRUE);
x_menus_sensitivity(w_current, "Attributes/Detach", TRUE);
x_menus_sensitivity(w_current, "Attributes/Show Value", TRUE);
@@ -469,7 +469,7 @@ void i_update_menus(TOPLEVEL *w_current)
x_menus_sensitivity(w_current, "Buffer/Cut into 5", FALSE);
x_menus_sensitivity(w_current, "Hierarchy/Down Schematic", FALSE);
x_menus_sensitivity(w_current, "Hierarchy/Down Symbol", FALSE);
- x_menus_sensitivity(w_current, "Hierarchy/Documentation", FALSE);
+ x_menus_sensitivity(w_current, "Hierarchy/Documentation...", FALSE);
x_menus_sensitivity(w_current, "Attributes/Attach", FALSE);
x_menus_sensitivity(w_current, "Attributes/Detach", FALSE);
x_menus_sensitivity(w_current, "Attributes/Show Value", FALSE);
diff --git a/gschem/src/x_menus.c b/gschem/src/x_menus.c
index 119a51d..a4dee4e 100644
--- a/gschem/src/x_menus.c
+++ b/gschem/src/x_menus.c
@@ -329,7 +329,7 @@ void x_menus_sensitivity (TOPLEVEL* w_current, const char *buf, int flag)
gtk_widget_set_sensitive(GTK_WIDGET(item), flag);
/* free(item); */ /* Why doesn't this need to be freed? */
} else {
- s_log_message(_("Tried to set the sensitivity on a non-existent menu item\n"));
+ s_log_message(_("Tried to set the sensitivity on non-existent menu item '%s'\n"), buf);
}
}
commit 3a59793aa6999fe233a8ad97acdeddecb1dd2df9
Author: Peter TB Brett <peter@xxxxxxxxxxxxx>
Date: Fri Nov 23 21:43:49 2007 +0000
gschemdoc: Quote variables in case they contain spaces. [1792986]
In the gschemdoc shell script, the variables $pdfreader and $browser
need quoting on lines 86, 113 and 128 (eg "${browser}"). Otherwise,
paths with spaces in, like "Program Files/Mozilla Firefox" commonly
used in Windows don't work.
Based on anonymous SourceForge patch.
diff --git a/gschem/scripts/gschemdoc.sh b/gschem/scripts/gschemdoc.sh
index ee6c1cb..acae51c 100644
--- a/gschem/scripts/gschemdoc.sh
+++ b/gschem/scripts/gschemdoc.sh
@@ -87,7 +87,7 @@ view_file_browser()
echo "Using browser and file: $file"
# NOTE: Mozilla and Netscape does not seem to support
# -- on the command line
- ${browser} "file://$file"
+ "${browser}" "file://$file"
exit
else
echo "Did not find a browser application."
@@ -102,7 +102,7 @@ go_look_for()
{
if test "${browser}" != "no" ; then
echo "Go look for: $1"
- ${browser} "http://www.google.com/search?q=$1%20filetype:pdf"
+ "${browser}" "http://www.google.com/search?q=$1%20filetype:pdf"
exit
else
echo "Did not find a browser application."
@@ -226,7 +226,7 @@ if test "${browser}" != "no"; then
if echo "$1" | grep -q "^$s:"; then
echo "Found ${browser}"
echo "Using browser and URL: $1"
- ${browser} "$1"
+ "${browser}" "$1"
exit
fi
done
commit 9436a72692251d5fecadd8660cbc0ef4d7c5234f
Author: Tomaž Šolc <tomaz.solc@xxxxxxxxxx>
Date: Fri Nov 23 21:42:50 2007 +0000
Compilation fixes for Mac OS X 10.5 [1832417]
This patch contains changes to gEDA source tree that were necessary to
compile on Mac OS X (10.5 Leopard, PPC).
diff --git a/gattrib/configure.ac b/gattrib/configure.ac
index 1a8b060..f8feb22 100644
--- a/gattrib/configure.ac
+++ b/gattrib/configure.ac
@@ -85,10 +85,13 @@ fi
# Guile 1.6 compatability
+CFLAGS_temp_save="$CFLAGS"
+CFLAGS="$CFLAGS $GUILE_CFLAGS"
AC_CHECK_DECLS([scm_is_string, scm_is_integer, scm_to_int,
scm_from_int, scm_is_true, scm_is_false,
scm_from_locale_string, scm_to_locale_string],,,
[#include <libguile.h>])
+CFLAGS="$CFLAGS_temp_save"
AH_VERBATIM(SCM_IS_STRING, [#if !HAVE_DECL_SCM_IS_STRING
# define scm_is_string(x) SCM_STRINGP(x)
diff --git a/gnetlist/configure.ac b/gnetlist/configure.ac
index fe89f75..1c9454e 100644
--- a/gnetlist/configure.ac
+++ b/gnetlist/configure.ac
@@ -164,10 +164,13 @@ fi
# Guile 1.6 compatability
+CFLAGS_temp_save="$CFLAGS"
+CFLAGS="$CFLAGS $GUILE_CFLAGS"
AC_CHECK_DECLS([scm_is_string, scm_is_integer, scm_to_int,
scm_from_int, scm_is_true, scm_is_false,
scm_from_locale_string, scm_to_locale_string],,,
[#include <libguile.h>])
+CFLAGS="$CFLAGS_temp_save"
AH_VERBATIM(SCM_IS_STRING, [#if !HAVE_DECL_SCM_IS_STRING
# define scm_is_string(x) SCM_STRINGP(x)
diff --git a/gschem/autogen.sh b/gschem/autogen.sh
index ffefb13..b06a5b7 100755
--- a/gschem/autogen.sh
+++ b/gschem/autogen.sh
@@ -8,6 +8,9 @@ srcdir=`dirname $0`
test -z "$srcdir" && srcdir=.
configure_script=configure.ac.in
+# Possible names for libtool/libtoolize
+libtoolize_candidates="libtoolize glibtoolize"
+
DIE=0
(test -f $srcdir/$configure_script) || {
@@ -25,7 +28,8 @@ DIE=0
}
(grep "^AM_PROG_LIBTOOL" $srcdir/$configure_script >/dev/null) && {
- (libtool --version) < /dev/null > /dev/null 2>&1 || {
+ LIBTOOLIZE=`which $libtoolize_candidates 2>/dev/null | head -n1`
+ (! test -z "$LIBTOOLIZE") || {
echo
echo "**Error**: You must have \`libtool' installed."
echo "You can get it from: ftp://ftp.gnu.org/pub/gnu/"
@@ -104,10 +108,8 @@ do
#mv -f $dr/po/Makevars.template $dr/po/Makevars
fi
if grep "^AM_PROG_LIBTOOL" $configure_script >/dev/null; then
- if test -z "$NO_LIBTOOLIZE" ; then
- echo "autogen.sh running: libtoolize ..."
- libtoolize --force --copy
- fi
+ echo "autogen.sh running: libtoolize ..."
+ $LIBTOOLIZE --force --copy
fi
echo "autogen.sh running: aclocal $aclocalinclude ..."
aclocal $aclocalinclude
diff --git a/gschem/configure.ac.in b/gschem/configure.ac.in
index c331141..6a02506 100644
--- a/gschem/configure.ac.in
+++ b/gschem/configure.ac.in
@@ -88,10 +88,13 @@ fi
# Guile 1.6 compatability
+CFLAGS_temp_save="$CFLAGS"
+CFLAGS="$CFLAGS $GUILE_CFLAGS"
AC_CHECK_DECLS([scm_is_string, scm_is_integer, scm_to_int,
scm_from_int, scm_is_true, scm_is_false,
scm_from_locale_string, scm_to_locale_string],,,
[#include <libguile.h>])
+CFLAGS="$CFLAGS_temp_save"
AH_VERBATIM(SCM_IS_STRING, [#if !HAVE_DECL_SCM_IS_STRING
# define scm_is_string(x) SCM_STRINGP(x)
diff --git a/gsymcheck/configure.ac b/gsymcheck/configure.ac
index f583994..5af2cbe 100644
--- a/gsymcheck/configure.ac
+++ b/gsymcheck/configure.ac
@@ -76,10 +76,13 @@ fi
# Guile 1.6 compatability
+CFLAGS_temp_save="$CFLAGS"
+CFLAGS="$CFLAGS $GUILE_CFLAGS"
AC_CHECK_DECLS([scm_is_string, scm_is_integer, scm_to_int,
scm_from_int, scm_is_true, scm_is_false,
scm_from_locale_string, scm_to_locale_string],,,
[#include <libguile.h>])
+CFLAGS="$CFLAGS_temp_save"
AH_VERBATIM(SCM_IS_STRING, [#if !HAVE_DECL_SCM_IS_STRING
# define scm_is_string(x) SCM_STRINGP(x)
diff --git a/libgeda/autogen.sh b/libgeda/autogen.sh
index e29a856..fe4732a 100755
--- a/libgeda/autogen.sh
+++ b/libgeda/autogen.sh
@@ -13,6 +13,9 @@ AM_1=1 # Major number
AM_2=6
AM_3=0 # Minor number
+# Possible names for libtool/libtoolize
+libtoolize_candidates="libtoolize glibtoolize"
+
DIE=0
(test -f $srcdir/$configure_script) || {
@@ -30,7 +33,8 @@ DIE=0
}
(grep "^AM_PROG_LIBTOOL" $srcdir/$configure_script >/dev/null) && {
- (libtool --version) < /dev/null > /dev/null 2>&1 || {
+ LIBTOOLIZE=`which $libtoolize_candidates 2>/dev/null | head -n1`
+ (! test -z "$LIBTOOLIZE") || {
echo
echo "**Error**: You must have \`libtool' installed."
echo "You can get it from: ftp://ftp.gnu.org/pub/gnu/"
@@ -134,10 +138,8 @@ do
#mv -f $dr/po/Makevars.template $dr/po/Makevars
fi
if grep "^AM_PROG_LIBTOOL" $configure_script >/dev/null; then
- if test -z "$NO_LIBTOOLIZE" ; then
- echo "autogen.sh running: libtoolize ..."
- libtoolize --force --copy
- fi
+ echo "autogen.sh running: libtoolize ..."
+ $LIBTOOLIZE --force --copy
fi
echo "autogen.sh running: aclocal $aclocalinclude ..."
aclocal $aclocalinclude
diff --git a/libgeda/configure.ac b/libgeda/configure.ac
index 6e4e1ce..36e0701 100644
--- a/libgeda/configure.ac
+++ b/libgeda/configure.ac
@@ -86,10 +86,13 @@ fi
# Guile 1.6 compatability
+CFLAGS_temp_save="$CFLAGS"
+CFLAGS="$CFLAGS $GUILE_CFLAGS"
AC_CHECK_DECLS([scm_is_string, scm_is_integer, scm_to_int,
scm_from_int, scm_is_true, scm_is_false,
scm_from_locale_string, scm_to_locale_string],,,
[#include <libguile.h>])
+CFLAGS="$CFLAGS_temp_save"
AH_VERBATIM(SCM_IS_STRING, [#if !HAVE_DECL_SCM_IS_STRING
# define scm_is_string(x) SCM_STRINGP(x)
diff --git a/utils/configure.ac b/utils/configure.ac
index 4a5d049..700cb97 100644
--- a/utils/configure.ac
+++ b/utils/configure.ac
@@ -115,10 +115,13 @@ fi
# Guile 1.6 compatability
+CFLAGS_temp_save="$CFLAGS"
+CFLAGS="$CFLAGS $GUILE_CFLAGS"
AC_CHECK_DECLS([scm_is_string, scm_is_integer, scm_to_int,
scm_from_int, scm_is_true, scm_is_false,
scm_from_locale_string, scm_to_locale_string],,,
[#include <libguile.h>])
+CFLAGS="$CFLAGS_temp_save"
AH_VERBATIM(SCM_IS_STRING, [#if !HAVE_DECL_SCM_IS_STRING
# define scm_is_string(x) SCM_STRINGP(x)
commit 2200b62ee03f118016358ed7b96c3e002cfb06c4
Author: Peter Clifton <pcjc2@xxxxxxxxx>
Date: Tue Nov 6 23:11:41 2007 +0000
Free gdk events obtained with gtk_event_get().
gtk_event_put() copies an event given to it, so if we retrieve an event
and re-push it into the event queue, we still need to free our copy.
diff --git a/gschem/src/a_zoom.c b/gschem/src/a_zoom.c
index 21d244d..70fb0a8 100644
--- a/gschem/src/a_zoom.c
+++ b/gschem/src/a_zoom.c
@@ -145,6 +145,7 @@ void a_zoom(TOPLEVEL *w_current, int dir, int selected_from, int pan_flags)
while( topEvent != NULL ) {
if( topEvent->type != GDK_SCROLL ) {
gdk_event_put( topEvent );
+ gdk_event_free( topEvent );
break;
}
gdk_event_free( topEvent );
commit 19dfabcb4748aacb31b571a1d5db8cc3a49b287f
Author: Hamish Moffatt <hamish@xxxxxxxxxx>
Date: Thu Oct 4 18:40:05 2007 +0100
Fix install location of gattrib-menus.xml to $GEDADATADIR
diff --git a/gattrib/lib/Makefile.am b/gattrib/lib/Makefile.am
index 919c3db..9aee358 100644
--- a/gattrib/lib/Makefile.am
+++ b/gattrib/lib/Makefile.am
@@ -1,6 +1,8 @@
rcdatadir = @GEDARCDIR@
-rcdata_DATA = system-gattribrc gattrib-menus.xml
+datadir = @GEDADATADIR@
+rcdata_DATA = system-gattribrc
+data_DATA = gattrib-menus.xml
EXTRA_DIST = system-gattribrc.in gattrib-menus.xml
commit f6769493448df1b107292ded42195c9e39b666d6
Author: Ales Hvezda <ahvezda@xxxxxxxx>
Date: Wed Sep 12 02:37:55 2007 -0400
Fixed a whole bunch of gtk+ 2.4.x and misc issues building on an older box
This is a fix for (Patch#) 1789290 libgeda-1.2.0 fprintf which supplied a
similar patch which fixes the issues in libgeda/src/s_clib.c and
libgeda/src/s_textbuffer.c. In the future, all releases will be built with
gtk+ 2.4.x so that these sorts of problems do not get released.
diff --git a/gattrib/src/x_window.c b/gattrib/src/x_window.c
index bb4f18f..c65691e 100644
--- a/gattrib/src/x_window.c
+++ b/gattrib/src/x_window.c
@@ -208,7 +208,11 @@ static const GtkActionEntry actions[] = {
/* Help menu */
{ "help", NULL, "_Help"},
+#if GTK_CHECK_VERSION (2,6,0)
{ "help-about", GTK_STOCK_ABOUT, "About", "", "", x_dialog_about_dialog},
+#else
+ { "help-about", NULL, "About", "", "", x_dialog_about_dialog},
+#endif
};
diff --git a/gschem/src/gschem_dialog.c b/gschem/src/gschem_dialog.c
index ec28037..6751491 100644
--- a/gschem/src/gschem_dialog.c
+++ b/gschem/src/gschem_dialog.c
@@ -19,9 +19,12 @@
*/
#include <config.h>
+#include <glib.h>
+#if GLIB_CHECK_VERSION(2,6,0)
#include <glib-object.h>
#include <glib/gstdio.h>
+#endif
#include <libgeda/libgeda.h>
#include <gtk/gtk.h>
@@ -382,6 +385,7 @@ static void gschem_dialog_class_init (GschemDialogClass *klass)
gschem_dialog_parent_class = g_type_class_peek_parent (klass);
+#if GLIB_CHECK_VERSION(2,6,0)
gschem_dialog_signals[ GEOMETRY_SAVE ] =
g_signal_new ("geometry-save",
G_OBJECT_CLASS_TYPE( gobject_class ),
@@ -409,6 +413,7 @@ static void gschem_dialog_class_init (GschemDialogClass *klass)
G_TYPE_POINTER,
G_TYPE_STRING
);
+#endif
g_object_class_install_property (
gobject_class, PROP_SETTINGS_NAME,
diff --git a/gschem/src/x_menus.c b/gschem/src/x_menus.c
index f7c00b6..119a51d 100644
--- a/gschem/src/x_menus.c
+++ b/gschem/src/x_menus.c
@@ -411,7 +411,7 @@ inline void x_menu_attach_recent_files_submenu(TOPLEVEL *w_current)
}
inline void recent_files_load() { }
-inline void recent_files_save() { }
+inline void recent_files_save(gpointer user_data) { }
inline void recent_files_add(const char *filename) { }
#else
diff --git a/libgeda/src/s_clib.c b/libgeda/src/s_clib.c
index 7bb4824..082ff08 100644
--- a/libgeda/src/s_clib.c
+++ b/libgeda/src/s_clib.c
@@ -112,6 +112,7 @@
#include <config.h>
+#include <stdio.h>
#include <glib.h>
#ifdef HAVE_STRING_H
diff --git a/libgeda/src/s_textbuffer.c b/libgeda/src/s_textbuffer.c
index cb0f309..5ce865e 100644
--- a/libgeda/src/s_textbuffer.c
+++ b/libgeda/src/s_textbuffer.c
@@ -20,6 +20,7 @@
#include <config.h>
+#include <stdio.h>
#include <glib.h>
#ifdef HAVE_STRING_H
commit 866c288c01765b038475baedede173ab29619d3a
Author: Peter Clifton <pcjc2@xxxxxxxxx>
Date: Sat Sep 8 23:54:12 2007 +0100
Fix grid snapping in "Edit->Mirror Mode"
Where the user selectes Edit->Mirror Mode, then clicks a point about which
to mirror, the snap operation on the mouse coordinates was not taking place
until after the mirror. Bug was introduced with noscreen changes.
diff --git a/gschem/src/x_event.c b/gschem/src/x_event.c
index 3202ec6..fa29bf1 100644
--- a/gschem/src/x_event.c
+++ b/gschem/src/x_event.c
@@ -447,11 +447,12 @@ gint x_event_button_pressed(GtkWidget *widget, GdkEventButton *event,
(int) event->x,
(int) event->y,
&w_x, &w_y );
+ w_x = snap_grid(w_current, w_x);
+ w_y = snap_grid(w_current, w_y);
+
o_mirror_world(w_current,
geda_list_get_glist( w_current->page_current->selection_list ),
w_x, w_y);
- w_x = snap_grid(w_current, w_x);
- w_y = snap_grid(w_current, w_y);
w_current->inside_action = 0;
i_set_state(w_current, SELECT);
_______________________________________________
geda-cvs mailing list
geda-cvs@xxxxxxxxxxxxxx
http://www.seul.org/cgi-bin/mailman/listinfo/geda-cvs