webkit_web_view_get_snapshot_finish не может вернуть поверхность и возвращается к ошибке - PullRequest
0 голосов
/ 02 июня 2019

Я пытаюсь получить снимок WebKitWebView.

Вызывается GAsyncReadyCallback, но cairo_surface_t * возвращается, а GError *, переданный webkit_web_view_get_snapshot_finish, становится нулевым после вызова.

//.cpp
void ExampleProgram::TakeSnapshot()
{
    webkit_web_view_get_snapshot (m_webView,
                                  WEBKIT_SNAPSHOT_REGION_FULL_DOCUMENT,
                                  WEBKIT_SNAPSHOT_OPTIONS_NONE,
                                  NULL,
                                  (GAsyncReadyCallback)onTakeWebviewSnapshotFinished,
                                  NULL);
}

void ExampleProgram::onTakeWebviewSnapshotFinished(WebKitWebView* webView, GParamSpec* pspec)
{
   GAsyncResult * result;
   GError *error = NULL;
   cairo_surface_t * surface = webkit_web_view_get_snapshot_finish(webView, result, &error);
}

//.h
void TakeSnapshot();
static void onCaptureFullWebviewFinished(WebKitWebView* webView, GParamSpec* pspec);
...