← Back to team overview

kicad-developers team mailing list archive

Re: KIDIALOG broken

 

Le 23/07/2018 à 18:29, Wayne Stambaugh a écrit :
> Orson,
> 
> On 7/23/2018 12:03 PM, Maciej Sumiński wrote:
>> Hi Wayne,
>>
>> On 07/23/2018 05:40 PM, Wayne Stambaugh wrote:
>>> In the process of fixing this bug
>>> https://bugs.launchpad.net/kicad/+bug/1782708 I discovered that the
>>> KIDIALOG object called when editing an externally defined environment
>>> variable will completely lock up kicad on windows.  Clicking the dialog
>>> OK button or hitting the escape keep does not close the dialog and I
>>> have to manually kill the running kicad process.  When I convert this
>>> code over to use wxRichMessageDialog directly, it works as expected.
>>> It's possible that wxRichMessageDialog::ShowModal() does not like being
>>> overridden.  Will someone check to see if this issue occurs on macos or
>>> linux?
>>
>> I have just tried to recreate the mentioned bug report on Linux, but it
>> works fine here. I have successfully changed the path, got the dialog
>> displayed and confirmed everything by clicking OK.
> 
> I confirmed with a debugger that it is definitely hanging on the
> wxRichMessageDialog::ShowModal() call.  This may not be a viable
> solution on windows.  Technically ShowModal() is implemented in
> wxDialog.  Calling wxDialog::ShowModal() doesn't work either.  I can
> change this to use wxRichMessageDialog rather than KIDIALOG to fix the
> bug but that doesn't fix every place else KIDIALOG is being used.
> 

Hi Wayne,

Only FYI, I can reproduce this hang on wxWidgets 3.0.4, but not on 3.1.1

It looks like a wxWidgets bug fixed in 3.1.1 version (I am using this version for my daily work on
Kicad on Windows when I do not need the wxPython support).

>>
>>> Also, what is the purpose of the "Do not show this message again"
>>> checkbox when it's only for the current session?  Generally speaking
>>> checking this option would not show the message forever.  This seems
>>> like it would be confusing to the user.
>>
>> It is the same kind of relief you get with wxWidgets asserts. If there
>> is a window that will keep nagging you because you have done something
>> wonky on purpose, then you have a choice to ignore a warning dialog
>> instead of straining your finger. I have added this option to handle
>> warnings about malformed polygons, as without do-not-show-again checkbox
>> you can spend a lot of time closing warnings before you even get a
>> chance to fix polygons.
> 
> This is fine but I think users will expect the dialog to be gone forever
> not just the current session.
> 
>>
>> Cheers,
>> Orson
>>
>>> Cheers,
>>>
>>> Wayne

-- 
Jean-Pierre CHARRAS


Follow ups

References