My code is written as follow: ()

//...
   ret = s_layer->CreateWindow(s_layer, &wdsc, &s_window);
   if(ret != DFB_OK){
       printf("Window Create Error:%s\n", DirectFBErrorString(ret));
   }

//...
   sdsc.flags  = DSDESC_CAPS |
                       DSDESC_WIDTH |
                       DSDESC_HEIGHT |
                       DSDESC_PIXELFORMAT |
                       DSDESC_PREALLOCATED;
   sdsc.caps   = DSCAPS_SYSTEMONLY;
   sdsc.preallocated[0].data   = underlay_osb.pBits;
   sdsc.preallocated[0].pitch   = underlay_osb.nStride;

   ret = s_dfb->CreateSurface( s_dfb, &sdsc, &s_osbSurface );
   if ( ret != DFB_OK )
   {
       // chrischien
       printf("Create second surface ERROR:%s", DirectFBErrorString(ret));
       DBG(("Couldn't create secondary surface: %d\n", ret));
       target_fb_closedown();
       return -1;
   }

When I run my application, the debug message shows "Ceate seconf surface
ERROR: Invalid argument".
Can I create a surface after I create a window or using layer?
Because if I don't create window, the error will not happen.
Someone help me!!

Best Regards,
Chris Chien
_______________________________________________
directfb-dev mailing list
[email protected]
http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-dev

Reply via email to