Since we are asking users to run debug builds (something I'm not 100%
comfortable with but it is what it is), I went ahead and committed your
patch.  Thanks.

On 9/14/2015 1:46 PM, Chris Pavlina wrote:
> Well, personally, I don't like it - as developers looking for things to 
> refactor aren't the only people who use debug builds. But I also see your 
> point about not wanting it to get lost in the noise, and I'm not sure how 
> else to manage that. I really think we ought to have a proper place to triage 
> things like "refactor OnOrient", but that's a discussion for another time.
> 
> So, I guess, do it however you like.
> 
> On Mon, Sep 14, 2015 at 01:39:27PM -0400, Wayne Stambaugh wrote:
>> How about leaving the assert rather than the fail in there as a reminder
>> to developers in case it gets lost in the noise (which these things tend
>> to do).  It will compile away on release builds which is the desired
>> behavior.
>>
>> On 9/14/2015 1:35 PM, Chris Pavlina wrote:
>>> Oh, indeed. It's begging to be refactored. But as it stands, kicad crashes 
>>> (well, throws up a dialog asking the user if they would like it to crash ;) 
>>> if you press X or Y whilst holding a label. I hoped to get at least _that_ 
>>> fixed before the release, because that's quite broken.
>>>
>>>
>>> On Mon, Sep 14, 2015 at 01:26:07PM -0400, Wayne Stambaugh wrote:
>>>> On 9/14/2015 1:03 PM, Chris Pavlina wrote:
>>>>> Well, you're welcome to try to find a non-hackish way to ensure that 
>>>>> OnOrient is not called for nonorientable objects even when the user has 
>>>>> selected one. I failed to do so.
>>>>>
>>>>> Why should that be a failure, anyway? It's not illegal to attempt to 
>>>>> orient a non-orientable object. I can still press Y and X over anything I 
>>>>> like. The user interface just silently does nothing when I do that.
>>>>>
>>>>> In "proper" object-oriented code, OnOrient wouldn't have the switch() in 
>>>>> there at all, it would simply call an Orient method of the SCH_ITEM and 
>>>>> then labels and other items that do not orient would just do nothing. 
>>>>> What is wrong with that behavior?
>>>>
>>>> Nothing.  That would be my preference.  It would require some surgery on
>>>> all items derived from SCH_ITEM and SCH_ITEM itself because OnOrient is
>>>> not defined as a virtual member of SCH_ITEM.  Only SCH_COMPONENT has an
>>>> OnOrient member.  This code is screaming "refactor me".  Do I have any
>>>> takers for a "fun" task for after the stable release? ;)
>>>>
>>>>>
>>>>> On Mon, Sep 14, 2015 at 01:00:40PM -0400, Wayne Stambaugh wrote:
>>>>>> This should probably be a wxASSERT rather than a wxFAIL_MSG so in
>>>>>> release builds it would not fail.  The assertion was put there so that
>>>>>> who ever wrote the code that allowed objects that cannot be oriented to
>>>>>> be passed to OnOrient would get a reminder of there error.  I would
>>>>>> prefer that OnOrient not get called for objects that cannot be oriented
>>>>>> rather than removing the assert.
>>>>>>
>>>>>> On 9/14/2015 10:26 AM, Chris Pavlina wrote:
>>>>>>> SCH_EDIT_FRAME::OnOrient uses SCH_COLLECTOR to filter for only 
>>>>>>> orientable items. The problem is that it only does this for an 
>>>>>>> unselected item. If the item is returned by SCH_SCREEN::GetCurItem 
>>>>>>> it'll skip that part and go ahead trying to orient it. Then an 
>>>>>>> assertion failure "Schematic object type %s cannot be oriented." is 
>>>>>>> tripped.
>>>>>>>
>>>>>>> The assertion is totally unnecessary; if the object cannot be oriented 
>>>>>>> it should just silently not be oriented. This patch removes the 
>>>>>>> assertion.
>>>>>>>
>>>>>>> --
>>>>>>> Chris
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> Mailing list: https://launchpad.net/~kicad-developers
>>>>>>> Post to     : [email protected]
>>>>>>> Unsubscribe : https://launchpad.net/~kicad-developers
>>>>>>> More help   : https://help.launchpad.net/ListHelp
>>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> Mailing list: https://launchpad.net/~kicad-developers
>>>>>> Post to     : [email protected]
>>>>>> Unsubscribe : https://launchpad.net/~kicad-developers
>>>>>> More help   : https://help.launchpad.net/ListHelp
>>>>>
>>>>> _______________________________________________
>>>>> Mailing list: https://launchpad.net/~kicad-developers
>>>>> Post to     : [email protected]
>>>>> Unsubscribe : https://launchpad.net/~kicad-developers
>>>>> More help   : https://help.launchpad.net/ListHelp
>>>>>
>>>>
>>>> _______________________________________________
>>>> Mailing list: https://launchpad.net/~kicad-developers
>>>> Post to     : [email protected]
>>>> Unsubscribe : https://launchpad.net/~kicad-developers
>>>> More help   : https://help.launchpad.net/ListHelp
>>>
>>> _______________________________________________
>>> Mailing list: https://launchpad.net/~kicad-developers
>>> Post to     : [email protected]
>>> Unsubscribe : https://launchpad.net/~kicad-developers
>>> More help   : https://help.launchpad.net/ListHelp
>>>
>>
>> _______________________________________________
>> Mailing list: https://launchpad.net/~kicad-developers
>> Post to     : [email protected]
>> Unsubscribe : https://launchpad.net/~kicad-developers
>> More help   : https://help.launchpad.net/ListHelp
> 
> _______________________________________________
> Mailing list: https://launchpad.net/~kicad-developers
> Post to     : [email protected]
> Unsubscribe : https://launchpad.net/~kicad-developers
> More help   : https://help.launchpad.net/ListHelp
> 

_______________________________________________
Mailing list: https://launchpad.net/~kicad-developers
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~kicad-developers
More help   : https://help.launchpad.net/ListHelp

Reply via email to