IDirectFB-> GetDisplayLayer () аварийно завершает работу с использованием Qt 5.10.1 и работает поверх DirectFB 1.7.7 - PullRequest
0 голосов
/ 15 октября 2019

Почему происходит сбой IDirectFB-> GetDisplayLayer ()? Я пропускаю какие-либо шаги здесь?

 IDirectFB * dfb = (IDirectFB*)m_app->platformNativeInterface();
    if(dfb){
        std::cerr << "######## New resolution is " << width << "x" << height << std::endl;

    IDirectFBDisplayLayer *layer = NULL;
    DFBDisplayLayerConfig config;

    std::cerr << "######## Getting primary IDirectFBDisplayLayer" << std::endl;
    /* Get an interface to the primary layer. */
    dfb->GetDisplayLayer(dfb, DLID_PRIMARY, &layer);  // Crashes here..
    if(layer){
        DFBResult dres;
        std::cerr << "######## Got the primary display layer, setting admin" << std::endl;
        // This level allows window stack mode switches
        dres = layer->SetCooperativeLevel(layer, DLSCL_ADMINISTRATIVE);
        if(dres != DFB_OK){
            std::cerr << "######## Error: " << DirectFBErrorString(dres) << std::endl;
        }

Код падает на GetDisplayLayer (), и я не уверен, в чем здесь проблема. Мой directfbrc выглядит так -

cat /etc/directfbrc 
system=fbdev
fbdev=/dev/fb0
no-cursor
module-dir=/usr/local/lib/directfb-1.7-7/
pixelformat=ARGB
no-hardware
bg-color=00000000
desktop-buffer-mode=backvideo
module-dir=/usr/lib/directfb-1.7-7

Я не вижу ничего плохого в запуске directfb.

...