← Back to team overview

kicad-developers team mailing list archive

Re: new bug? related to wxwidgets?


Dick Hollenbeck wrote:
> I have not looked at it, but it sounds like your idea might lead to a 
> windows specific workaround. And that might make somebody happy and
> get you an "atta-boy". :)
> If your focus directing idea works, please be sure that we don't goof
> up the linux behavior.
> Thanks.

Given your previous report that there is no problem with the Linux 
version, I had already figured that there is a good chance that any 
changes to the existing code would need to be of a version-specific 

And in the event that I can track down where I would need to make any 
changes, I fully intend to provide comments indicating that any focus-
changing code is of a workaround nature (given that there is no problem 
in the Linux version).

But while I had a regrettable lapse in some files which I committed 
relatively recently (revision 354), it's certainly not my intention to 
willfully break the Linux version :-) , so you can be assured that if I 
do make any changes, then I will be specifically checking that there 
will be no detrimental impact upon that version.

For your information, as far as the problem with the eelayer.cpp and 
eelayer.h files was concerned, I had used DialogBlocks to design an 
updated dialog box - but one which contained only *some* of the items 
contained within the "real" dialog (partly because the freeware version 
of DialogBlocks supports no more than 30 items per dialog, and partly 
because most of the items within the "real" dialog are effectively 
implemented at "run time" rather than during "design time"). And I 
subsequently used the annotate_dialog.cpp and annotate_dialog.h files 
as role models for any additional changes that needed to be made to the 
eelayer.cpp and eelayer.h files (after they had first been created by 
DialogBlocks). I'm picking that I was probably distracted while I was 
editing the eelayer.h file, because I didn't change the line of:

pragma interface "annotate_dialog.cpp"

(originally pasted into that file after being copied from 
annotate_dialog.h) to

pragma interface "eelayer.cpp"

prior to first committing that file. And very perversely, that 
previously unchanged line didn't break the Windows version, but did 
break the Linux version. :-(

(I spent somewhere between 1 and 2 hours investigating other possible 
causes for the eelayer.o failing to link properly before I eventually 
discovered that particular line, but I was still very relieved when I 
subsequently established that nothing else needed to be changed to get 
eelayer.o to link satisfactorily.)

There are some instances when the Linux compiler issues warnings while 
the Windows compiler is silent, with one example being:

zones.cpp:251: warning: comparison between signed and unsigned integer 

However I can't think of any previous occasion when one of those 
compilers has fully accepted the source code (i.e. generated no errors) 
while the other hasn't. For all that though, it still goes to show that 
you can't be too careful.

Geoff Harland.

Follow ups