Kaydet (Commit) 8b65a617 authored tarafından Noel Grandin's avatar Noel Grandin

fix intermittent crash in make check

The original crash was in GtkSalMenu::Active, triggered from
RefreshMenusUnity and it looked like the refresh method was accessing
already freed memory.

Change-Id: Ib07d839a976869eb8719e71e0653f1a72e3b0e80
üst b3f4709d
......@@ -450,9 +450,18 @@ void GtkSalMenu::SetSubMenu( SalMenuItem* pSalMenuItem, SalMenu* pSubMenu, unsig
pItem->mpSubMenu = pGtkSubMenu;
}
class GdkThreadLock
{
public:
GdkThreadLock() { gdk_threads_enter(); }
~GdkThreadLock() { gdk_threads_leave(); }
};
static bool bInvalidMenus = false;
static gboolean RefreshMenusUnity(gpointer)
{
GdkThreadLock aLock;
SalDisplay* pSalDisplay = GetGenericData()->GetSalDisplay();
std::list< SalFrame* >::const_iterator pSalFrame = pSalDisplay->getFrames().begin();
std::list< SalFrame* >::const_iterator pEndSalFrame = pSalDisplay->getFrames().end();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment