src/video/directfb/SDL_DirectFB_window.c
changeset 3038 c73a5f8a03d2
parent 3037 490f3e4fe753
child 3039 829043b363d1
equal deleted inserted replaced
3037:490f3e4fe753 3038:c73a5f8a03d2
   418     if (cw != windata->size.w || ch != windata->size.h) {
   418     if (cw != windata->size.w || ch != windata->size.h) {
   419         adjust = 1;
   419         adjust = 1;
   420     }
   420     }
   421 
   421 
   422     if (adjust) {
   422     if (adjust) {
   423 #if DFB_VERSION_ATLEAST(1,2,0)
   423 #if DFB_VERSION_ATLEAST(1,2,1)
   424        SDL_DFB_CHECKERR(windata->window->ResizeSurface(windata->window,
   424        SDL_DFB_CHECKERR(windata->window->ResizeSurface(windata->window,
   425                                                         windata->size.w,
   425                                                         windata->size.w,
   426                                                         windata->size.h));
   426                                                         windata->size.h));
   427        SDL_DFB_CHECKERR(windata->surface->MakeSubSurface(windata->surface,
   427        SDL_DFB_CHECKERR(windata->surface->MakeSubSurface(windata->surface,
   428                                                           windata->
   428                                                           windata->
   429                                                           window_surface,
   429                                                           window_surface,
   430                                                           &windata->client));
   430                                                           &windata->client));
   431 #else
   431 #else
   432        /* recreate subsurface */
   432        /* recreate subsurface */
   433        windata->surface->ReleaseSource(windata->surface);
       
   434        windata->window_surface->ReleaseSource(windata->window_surface);
       
   435        SDL_DFB_RELEASE(windata->surface);
   433        SDL_DFB_RELEASE(windata->surface);
   436        windata->surface = NULL;
       
   437        SDL_DFB_CHECKERR(windata->window->ResizeSurface(windata->window,
   434        SDL_DFB_CHECKERR(windata->window->ResizeSurface(windata->window,
   438                                                        windata->size.w,
   435                                                        windata->size.w,
   439                                                        windata->size.h));
   436                                                        windata->size.h));
   440        SDL_DFB_CHECKERR(windata->window_surface->
   437        SDL_DFB_CHECKERR(windata->window_surface->
   441                         GetSubSurface(windata->window_surface, &windata->client,
   438                       GetSubSurface(windata->window_surface, &windata->client,
   442                                       &windata->surface));
   439                                   &windata->surface));
   443 #endif
   440 #endif
   444        DirectFB_WM_RedrawLayout(window);
   441        DirectFB_WM_RedrawLayout(window);
   445     }
   442     }
   446   error:
   443   error:
   447     return;
   444     return;