webengine/widgetengine/src/Menu.cpp
changeset 13 10e98eab6f85
parent 0 dd21522fd290
equal deleted inserted replaced
8:7c90e6132015 13:10e98eab6f85
    58 // JSMenu::JSMenu
    58 // JSMenu::JSMenu
    59 // Default contructor
    59 // Default contructor
    60 //
    60 //
    61 //
    61 //
    62 // ----------------------------------------------------------------------------
    62 // ----------------------------------------------------------------------------
    63 JSMenu::JSMenu(MJSMenuCallbacks* aMenuCallbacks)
    63 JSMenu::JSMenu(MJSMenuCallbacks* aMenuCallbacks, MJSObjectProtector* aProtector)
    64         : JSObject(), 
    64         : JSObject(), 
    65         d(new MenuPrivate(aMenuCallbacks,0,0))
    65         d(new MenuPrivate(aMenuCallbacks, aProtector, 0,0))
    66 {  
    66 {  
    67 }
    67 }
    68 
    68 
    69 
    69 
    70 // ----------------------------------------------------------------------------
    70 // ----------------------------------------------------------------------------
   112     if (d->m_rightKeyCallback)
   112     if (d->m_rightKeyCallback)
   113         d->m_rightKeyCallback->Delete();
   113         d->m_rightKeyCallback->Delete();
   114     
   114     
   115     d->m_rightKeyCallback = NULL;
   115     d->m_rightKeyCallback = NULL;
   116     if ( value && !value->isNull() ) {        
   116     if ( value && !value->isNull() ) {        
   117         d->m_rightKeyCallback = new WidgetEventHandler(value, exec->lexicalInterpreter()->globalExec());
   117         d->m_rightKeyCallback = new WidgetEventHandler(value, exec->lexicalInterpreter()->globalExec(), d->m_protector);
   118     }
   118     }
   119 }
   119 }
   120 
   120 
   121 // ----------------------------------------------------------------------------
   121 // ----------------------------------------------------------------------------
   122 // JSMenu::setRightKeyObserver
   122 // JSMenu::setRightKeyObserver
   129     if (d->m_leftKeyCallback)
   129     if (d->m_leftKeyCallback)
   130         d->m_leftKeyCallback->Delete();
   130         d->m_leftKeyCallback->Delete();
   131     
   131     
   132     d->m_leftKeyCallback = NULL;
   132     d->m_leftKeyCallback = NULL;
   133     if ( value && !value->isNull() ) {        
   133     if ( value && !value->isNull() ) {        
   134         d->m_leftKeyCallback = new WidgetEventHandler(value, exec->lexicalInterpreter()->globalExec());
   134         d->m_leftKeyCallback = new WidgetEventHandler(value, exec->lexicalInterpreter()->globalExec(), d->m_protector);
   135     }
   135     }
   136 }
   136 }
   137 
   137 
   138 
   138 
   139 // ----------------------------------------------------------------------------
   139 // ----------------------------------------------------------------------------
   242         switch ( entry->value )
   242         switch ( entry->value )
   243         {
   243         {
   244             case OnShow: {
   244             case OnShow: {
   245                 delete d->m_onShowCallback;
   245                 delete d->m_onShowCallback;
   246                 d->m_onShowCallback = NULL;
   246                 d->m_onShowCallback = NULL;
   247                 d->m_onShowCallback = new WidgetEventHandler(value, exec->lexicalInterpreter()->globalExec());
   247                 d->m_onShowCallback = new WidgetEventHandler(value, exec->lexicalInterpreter()->globalExec(), d->m_protector);
   248                 break;
   248                 break;
   249             }
   249             }
   250             default:
   250             default:
   251                 break;
   251                 break;
   252         }
   252         }