Hello Przemek

Przemyslaw Czerpak-2 wrote:
> 
>>   * harbour/contrib/gtwvg/tests/demowvg.prg
>>     + Added functionality of new classes.
>>     ; TOFIX: harbour/contrib/gtwvg/wvggui.c
>>              Przemek, can you please look into this stripped down
>>              version of gtwvg.c. It has memory leak in inkey() and 
>>              hb_gtInfo() functions. To test, just resize the window
>>              and exit, boooom, a big hb_out.log with above mem leak 
>>              entries. I am sure I just stripped some important loop
>>              but am unable to locate where.     
> 
> I tried to replicated it but I cannot.
> Can you create small self contain example with it?
> 

Please ignore. I did a silly mistake in WM_NOTIFY message.

Code before:

      case WM_NOTIFY:
      {
         PHB_ITEM pEvParams = hb_itemNew( NULL );
         LPNMMOUSE nmm = ( LPNMMOUSE ) lParam;
         NMHDR nmh = nmm->hdr;

         if( nmh.code == NM_CLICK )
         {
            hb_arrayNew( pEvParams, 5 );
            hb_arraySetNI( pEvParams, 1, ( int ) wParam );
            hb_arraySetNInt( pEvParams, 2, ( HB_PTRDIFF ) nmh.hwndFrom );
            hb_arraySetNI( pEvParams, 3, nmh.idFrom );
            hb_arraySetNI( pEvParams, 4, nmh.code );
            hb_arraySetNL( pEvParams, 5, nmm->dwItemSpec );

            hb_gt_wvt_FireEvent( pWVT, HB_GTE_NOTIFY, pEvParams );

            hb_itemRelease( pEvParams );
            return TRUE;
         }
         break;
      }

Code after:

      case WM_NOTIFY:
      {
         LPNMMOUSE nmm = ( LPNMMOUSE ) lParam;
         NMHDR nmh = nmm->hdr;

         if( nmh.code == NM_CLICK )
         {
            PHB_ITEM pEvParams = hb_itemNew( NULL );

            hb_arrayNew( pEvParams, 5 );
            hb_arraySetNI( pEvParams, 1, ( int ) wParam );
            hb_arraySetNInt( pEvParams, 2, ( HB_PTRDIFF ) nmh.hwndFrom );
            hb_arraySetNI( pEvParams, 3, nmh.idFrom );
            hb_arraySetNI( pEvParams, 4, nmh.code );
            hb_arraySetNL( pEvParams, 5, nmm->dwItemSpec );

            hb_gt_wvt_FireEvent( pWVT, HB_GTE_NOTIFY, pEvParams );

            hb_itemRelease( pEvParams );
            return TRUE;
         }
         break;
      }

And it took me 2 days to figureout. Poor me.

Regards
Pritpal Bedi
-- 
View this message in context: 
http://www.nabble.com/2008-11-30-23%3A05-UTC-0800-Pritpal-Bedi-%28pritpal%40vouchcac.com%29-tp20767241p20820540.html
Sent from the Harbour - Dev mailing list archive at Nabble.com.

_______________________________________________
Harbour mailing list
Harbour@harbour-project.org
http://lists.harbour-project.org/mailman/listinfo/harbour

Reply via email to