Solaris wxGTK 2.6.3 or wxGTK 2.8.4: Application hangs on exit.

Lothar Behrens lothar.behrens at lollisoft.de
Sat Jun 16 02:32:57 PDT 2007


On Jun 15, 11:33 pm, Lothar Behrens <lothar.behr... at lollisoft.de>
wrote:

> // Clear all tables
> void wxEventHashTable::ClearAll()
> {
>     wxEventHashTable* table = sm_first;
>
>     while (table)
>     {
>         table->Clear();
>         table = table->m_next;
>
>         if (table == sm_first) { // Detect a loop doesn't help
>                 wxASSERT_MSG( true,
>                   wxT("Fatal: Event hash table loop detected.") );
>                   return;
>         }

Hi,

I have at least a working detection code for now. I don't compare
against sm_first, but I check the validness of - I think -
general condition of doubly linked lists:

if (table->m_next != NULL)
  if (table->m_next->m_previous != table)
    // Error doubly linked list is corrupted
    return;

This way I get rid of the problem that my application doesn't exit and
loops here. But I still do not know where this comes from.
It was actually a loop because I have confirmed that with the contents
of some m_next pointer values.

Regards, Lothar

>     }
>
> }
>
> Are there some specific pittfalls on Solaris ?








More information about the wx-users mailing list