[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

gEDA-bug: [Bug 700841] Re: gschem: during selection invisible attributes extend component bounding box



NACK attached patch -- o_recalc_single_object() should only be called
via o_world_get_single_object_bounds(), ideally. Yes, I know there's
still a lot of naughty code out there.

It smells to me like the problem is that, somewhere, the attributes'
OBJECT.visibility flag is being frobbed without clearing the
OBJECT.w_bounds_valid flag at the same time.

A brief glance suggests that the culprit is probably
o_complex_basic.c:336 in o_complex_promote_attribs().

Short, easy fix: add line to clear bounds_valid there.

Long, better fix: add o_is_visible(TOPLEVEL, OBJECT) and
o_set_visible(TOPLEVEL, OBJECT) accessors which do the housekeeping.
Remove all direct access to OBJECT.visibility other than via those
functions.

-- 
You received this bug notification because you are a member of gEDA Bug
Team, which is subscribed to gEDA.
https://bugs.launchpad.net/bugs/700841

Title:
  gschem: during selection invisible attributes extend component bounding box 

Status in GPL Electronic Design Automation tools:
  Incomplete

Bug description:
  Intermittently gschem gets into a state when promotable (visible) attributes within a component extend component's bounding box used for selection calculations.
In such cases component might not be selected even if selection rectangle encloses component's graphics and pins.
It is also possible to select the component by clicking on an empy space far away from it - because in the symbol file a visible attribute is located at that offset.

It is expected that components can be always selected by drawing a selection rectangle that encloses all graphical elements and pins.

When the bug occurs, toggling "show/hide invisible text" restores correct behavior.




_______________________________________________
geda-bug mailing list
geda-bug@xxxxxxxxxxxxxx
http://www.seul.org/cgi-bin/mailman/listinfo/geda-bug