David Arturo Macias Corona wrote:
> 
> Pritpal:
> 
>  >Try changing idetools.prg#135:
> 
>  >         oAct:setMenu( QMenu():new() )
>  >=>
>  >         oAct:setMenu( QMenu():new( oAct ) )
> 
>  >I am not sure, but let's try.
> 
> I changed:
> 
>        //DAVID: oAct:setMenu( QMenu():new() )
>        oAct:setMenu( QMenu():new( oAct ) )
> 
> so line moved to 136
> 
> New GPF is:
> 
> -------------------------
> Exception c0000005 at address 0x1d15c37a
> 
>      Exception Code:C0000005
>      Exception Address:1D15C37A
>      EAX:02EF42BC  EBX:00000008  ECX:00000000  EDX:1D0ACC48
>      ESI:00A36B60  EDI:02F3D3A4  EBP:0062FA08
>      CS:EIP:005B:1D15C37A  SS:ESP:0053:0062F9D0
>      DS:0053  ES:0053  FS:150B  GS:0000
>      Flags:00010202
> Called from QT_QMENU(0)
> Called from QMENU:NEW(0) in ../../../TQMenu.prg
> Called from IDETOOLSMANAGER:CREATE(136) in idetools.prg
> Called from HBIDE:CREATE(412) in hbide.prg
> Called from MAIN(102) in hbide.prg
> 
> Killed by SIGSEGV
> pid=0x004f ppid=0x004c tid=0x0001 slot=0x008f pri=0x0200 mc=0x0001
> E:\HARBOUR105\HARBOUR\CONTRIB\HBIDE\HBIDE.EXE
> QTGUI4 0:000bc37a
> cs:eip=005b:1d15c37a      ss:esp=0053:0062f9d0      ebp=0062fa08
>   ds=0053      es=0053      fs=150b      gs=0000     efl=00010202
> eax=02ef42bc ebx=00000008 ecx=00000000 edx=1d0acc48 edi=02f3d3a4 
> esi=00a36b60
> Process dumping was disabled, use DUMPPROC / PROCDUMP to enable it.
> -------------------------
> 
> 
> Previous was:
> 
> Called from QACTION:SETMENU(0) in ../../../TQAction.prg
> Called from IDETOOLSMANAGER:CREATE(135) in idetools.prg
> 

My assertion was wrong.

QMenu():new() somehow is broken.

Can you try changing hbqt/qtgui/QMenu.cpp

HB_FUNC( QT_QMENU )
{
   QMenu * pObj = NULL;

   if( hb_pcount() >= 1 && HB_ISCHAR( 1 ) )
   {
      pObj =  new QMenu( hbqt_par_QString( 1 ), hbqt_par_QWidget( 2 ) ) ;
   }
   else
   {
      pObj =  new QMenu( hbqt_par_QWidget( 1 ) ) ;
   }

   hb_retptrGC( hbqt_gcAllocate_QMenu( ( void * ) pObj, true ) );
}


=>


HB_FUNC( QT_QMENU )
{
   QMenu * pObj = NULL;

   if( hb_pcount() >= 1 && HB_ISCHAR( 1 ) )
   {
      pObj =  new QMenu( hbqt_par_QString( 1 ), hbqt_par_QWidget( 2 ) ) ;
   }
   else if( hb_pcount() >= 1 && HB_ISPOINTER( 1 ) )
   {
      pObj =  new QMenu( hbqt_par_QWidget( 1 ) ) ;
   }
   else
   {
      pObj =  new QMenu() ;
   }

   hb_retptrGC( hbqt_gcAllocate_QMenu( ( void * ) pObj, true ) );
}

Also remove previous try. I hope it should work.

-----
     enjoy hbIDEing...
        Pritpal Bedi 
http://hbide.vouch.info/
-- 
View this message in context: 
http://harbour-devel.1590103.n2.nabble.com/OS-2-Harbour-14525-hbqt-tp5078729p5079677.html
Sent from the harbour-devel mailing list archive at Nabble.com.
_______________________________________________
Harbour mailing list (attachment size limit: 40KB)
Harbour@harbour-project.org
http://lists.harbour-project.org/mailman/listinfo/harbour

Reply via email to