【问题标题】:segmentation fault on chromium embedded framework (CEF) SendMouseMoveEvent铬嵌入式框架(CEF)SendMouseMoveEvent上的分段错误
【发布时间】:2016-02-26 21:35:38
【问题描述】:

我有一个显示内容的无头浏览器。我在 OnAfterCreated() 方法中捕获创建的浏览器。当我获取浏览器主机并且我想发送鼠标事件时,我遇到了分段错误。有什么建议?

    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);
    }

【问题讨论】:

  • 您使用的是哪个版本的CEF?什么操作系统?
  • 忽略操作系统部分。事实上,您使用arm 可能是在未经测试的水域。
  • 我构建了 CEF Release 2526,并且我在运行 armbian 4.5(Debian Jessie 桌面)的 CuBox-i 4x4 上
  • 您可能需要在magpcss.org/ceforum/index.php 上提问,您的代码看起来不错。
  • 在 OnPaint 方法 (OSR) 中调用 SendMouseEvent 有效!

标签: linux arm chromium chromium-embedded headless


【解决方案1】:

当我使用 CefRefPtr 声明主机时,一切都很好!

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

引用计数很重要。

【讨论】:

    猜你喜欢
    • 2019-02-15
    • 1970-01-01
    • 2014-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多