2015-11-24 1 views
0

J'ai un navigateur sans tête qui affiche le contenu. Je capture le navigateur créé dans la méthode OnAfterCreated(). Quand je trouve l'hôte du navigateur et que je veux envoyer des événements souris, j'obtiens une erreur de segmentation. Aucune suggestion?défaut de segmentation sur le cadre intégré de chrome (CEF) SendMouseMoveEvent

CefMouseEvent mouseEvent; 
    mouseEvent.modifiers = eventFlags; 
    mouseEvent.x = mouseX; 
    mouseEvent.y = mouseY; 

    if (BrowserHandlerSingleton::CurrentBrowser != NULL) 
    { 
     CefBrowserHost * host = BrowserHandlerSingleton::CurrentBrowser->GetHost(); 
     // host->Invalidate(BrowserHandlerSingleton::PaintElementType::PET_VIEW); 
     host->SendMouseMoveEvent(mouseEvent, false); 
    } 
+0

Quelle version de 'CEF' utilisez-vous? Quel système d'exploitation? – amaitland

+0

Ignorer la partie du système d'exploitation. Fait que votre utilisation «bras» vous pourriez être dans des eaux non testées. – amaitland

+0

Je construis la version 2526 de CEF et je suis sur un CuBox-i 4x4 courant l'armbian 4.5 (Debian Jessie Desktop) –

Répondre

0

Lorsque j'utilise le CefRefPtr pour déclarer l'hôte tout va bien!

CefRefPtr<CefBrowserHost> host = BrowserHandlerSingleton::CurrentBrowser->GetHost(); 

La numérotation de référence est importante.