Pritpal Bedi 3e549d0027 2012-06-19 21:29 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbqt/qtcore/hbqt_bind.cpp
    + Implemented: Events, Slots, Destroyers on thread level.
        Previously those were created per object level. This greatly 
        decreased the os-resource count and also simplifies the code.
        Thanks to Przemek for the tip.

    + Implemented: release of all objects per thread level.
        hbQT employs internal counter to identify threads.
        All widgets are created in one global list which has 
        made it possible to use Qt's blocking widgets, like 
        QMessageBox, in Harbour MT applications. It seems that 
        Qt looks for the event processing only in main appln
        thread and hence these widgets were not usable in 
        other threads. The testbed is hbqt/tests/demoqt.prg 
        which is now multithreaded. You check it with 
        menu option <Dialog><Another Dialog>.

    + Formatting: in tracelog entries.

  * contrib/hbqt/qtcore/hbqt_hbqevents.cpp
    - Commented out: a hack where QClosEvent was being treated 
      differently then other events.

  * contrib/hbqt/tests/demoqt.prg
    * Parented: QMessageBox() ( Read below )

  * contrib/hbide/idedocks.prg
    - Removed: one hack which at begining was there to activate 
       QMainWindow's docking area resizable.

  * contrib/hbide/idemain.prg
    + Changed: ::cWrkCodec to be "EN" by default.
       It fixes recent regression in hbIDE for certain users.

  * contrib/hbide/idemisc.prg
    * Parented: QMessageBox() should always be constructed with a 
       parent because of special handelling of blocking dialog 
       where parent is treated slightly different than other 
       Qt widgets. This fixes a long-standing bug in hbIDE where
       appnl was rendered in indefinite loop when "X" button 
       was employed to terminate and confirm dialog would 
       not be terminated internally.
         So for QMessageBox() and, to be on the safer side, all 
         widets derived from QDialog() should be constructed 
         with a parent and at the end be reparented with a 
         just-to-be-deleted-QWidget(), like:
           oMB := QMessageBox( oParent )
            ...
           oMB:setParent( QWidget() )
           RETURN something
2012-06-20 05:03:46 +00:00
Description
Harbour Core — Reference source for Five development
172 MiB
Languages
C 80.3%
xBase 17.8%
Makefile 0.6%
C++ 0.4%
Harbour 0.4%
Other 0.3%