[cairo] gtkmm on Win32

Mohith Manoj mohithmanoj at gmail.com
Wed Nov 5 00:15:41 PST 2008


Hello,I am developing a gtkmm (2.4) cross-platform application on Win32
using MSVC2008 (v 9). My app has dependency on cairomm (installed version
1.0). There is no problem compiling the application, however once run in
debug mode the application encounters a breakpoint as described below

this is the code snippet where I create a cairo context for my custom
widget.

void CNumParam::on_size_allocate(Gtk::Allocation &refAlloc)
{
        Cairo::RefPtr<Cairo::Context> refCairo;
Glib::RefPtr<Pango::Layout> refPango;

//Set allocation
set_allocation(refAlloc);

//Do the rest only if a windows is available
if (m_refWnd) {
//Get the cairo context of the window
refCairo = m_refWnd->create_cairo_context();

//Create a pango layout attatched to the cairo context
refPango = Pango::Layout::create(refCairo);

OnSizeAllocate(refPango, refAlloc);
}
}

As the Cairo::RefPtr variable goes out of scope, it begins to get
deallocated since it is not been referenced from anywhere else, and thats
when my program crashes. The assertion is encountered within "dbgdel.cpp"
(an MSVC file).

void operator delete(void *pUserData)
{
        _CrtMemBlockHeader * pHead;

        RTCCALLBACK(_RTC_Free_hook, (pUserData, 0));

        if (pUserData == NULL)
            return;

        _mlock(_HEAP_LOCK);  /* block other threads */
        __TRY

            /* get a pointer to memory block header */
            pHead = pHdr(pUserData);

             /* verify block type */
            _ASSERTE(_BLOCK_TYPE_IS_VALID(pHead->nBlockUse)); /*This is
where my app gets stuck*/

            _free_dbg( pUserData, pHead->nBlockUse );

        __FINALLY
            _munlock(_HEAP_LOCK);  /* release other threads */
        __END_TRY_FINALLY

        return;
}

There are no problems when I compile in Release mode. Also I tried compiling
the same code from Linux (FC9) using gcc no issues at all.

Am I using an old version of cairomm or are there any compatibility issues??

Thanks in advance
Mohith
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.cairographics.org/archives/cairo/attachments/20081105/d1902832/attachment.html 


More information about the cairo mailing list