static DFBResult IDirectFBWindow_SetDstGeometry( IDirectFBWindow *thiz, const DFBWindowGeometry *geometry ) { DFBResult ret; CoreWindowConfig config; DIRECT_INTERFACE_GET_DATA(IDirectFBWindow) D_DEBUG_AT( IDirectFB_Window, "%s()\n", __FUNCTION__ ); ret = CheckGeometry( geometry ); if (ret) return ret; if (data->destroyed) return DFB_DESTROYED; config.dst_geometry = *geometry; return dfb_window_set_config( data->window, &config, CWCF_DST_GEOMETRY ); }
DFBResult IWindow_Real::SetConfig( const CoreWindowConfig *config, const DFBInputDeviceKeySymbol *keys, u32 num_keys, CoreWindowConfigFlags flags ) { CoreWindowConfig config_copy; D_DEBUG_AT( Core_Window, "IWindow_Real::%s( %p )\n", __FUNCTION__, obj ); D_MAGIC_ASSERT( obj, CoreWindow ); D_ASSERT( config != NULL ); if ((flags & DWCONF_ASSOCIATION) && config->association) { DFBResult ret; CoreWindow *parent; ret = dfb_core_get_window( core, config->association, &parent ); if (ret) return ret; if (fusion_object_check_owner( &parent->object, Core_GetIdentity(), false )) { dfb_window_unref( parent ); return DFB_ACCESSDENIED; } dfb_window_unref( parent ); } config_copy = *config; config_copy.keys = (DFBInputDeviceKeySymbol*) keys; config_copy.num_keys = num_keys; return dfb_window_set_config( obj, &config_copy, flags ); }