Hi Pritpal,

The problem happens when 
   contrib\hbqt\qtgui\HBQPlainTextEdit.cpp
refers to:
   #include "../hbqt_hbqplaintextedit.h"

so, when you modify the latter, you should 
manually force a rebuild on 'qtgui' lib, 
otherwise you will get crashes. [ IOW this 
is the 2nd case from my original mail ]

There are many similar inclusions in hbqt 
code, so most probably all "require manual 
rebuild" situations can be traced back to 
this cause.

Viktor

On 2010 Apr 29, at 18:03, Viktor Szakáts wrote:

>> In continuation...
>> 
>> Whenever I change something in hbqt_hbqplainttextedit.h 
>> ( for this matter it could be any .h in hbqt ), and compile/link 
>> the application GPF certainly appears.
>> 
>> But if I build clean hbqt, application behaves properly.
>> 
>> So I suspect, because .h in hbQT are subject to "moc" application,
>> something gets weired with signal/slots addresses. It is corrected 
>> only if all moc_*.cpp's are included at once in the lib.
>> 
>> I am not sure if this points to real cause or not,
>> but am 100% sure that rebuild of hbQT after a change in .h 
>> ( no matter that change is only a blank line or any variable 
>> declaration which has never been used in the code ) 
>> GPF happens. After clean build, I can make any changes to 
>> .cpp without GPF's.
>> 
>> Someone can confirm this behavior on their setup ?
>> Or I have something terrifically mis-configured environment 
>> on my machine ?
> 
> One problem may be that when you change a 
> HBQT header, the related moc_*.cpp file will 
> be rebuilt and compiled, but the related .cpp 
> file will not be recompiled.
> 
> Also, if you update an #include-d header, 
> like hbqt.h, a full rebuild is always necessary.
> 
> The fact that moc_*.cpp files are included in 
> lib at once or one-by-one should never make any 
> difference. They are fully independent sources.
> 
> If this happened just now, there is a change to 
> find out the exact reason: make a full rebuild 
> with HBQT r14412, then update to latest source, 
> do an incremental build, make a backup of 
> all generated files (moc_*.cpp and objects), 
> then make a rebuild and compare generated 
> files if there is a difference.
> 
> Viktor
> 

_______________________________________________
Harbour mailing list (attachment size limit: 40KB)
Harbour@harbour-project.org
http://lists.harbour-project.org/mailman/listinfo/harbour

Reply via email to