{"id":73,"date":"2011-07-26T14:02:04","date_gmt":"2011-07-26T18:02:04","guid":{"rendered":"http:\/\/blogsteve.sjs-studio.com\/?p=73"},"modified":"2025-06-10T14:01:51","modified_gmt":"2025-06-10T18:01:51","slug":"onlostdevice","status":"publish","type":"post","link":"https:\/\/sjs-studio.com\/?p=73","title":{"rendered":"OnLostDevice"},"content":{"rendered":"<p><!--:fr-->J&#8217;ai enfin r\u00e9gl\u00e9 un bug qui trainait depuis tr\u00e8s longtemps. Lorsqu&#8217;on d\u00e9pla\u00e7ait la fen\u00eatre ou si on la redimensionnait, il y avait un crash qui disait ceci :<br \/>\n<code><br \/>\n<span style=\"font-size: small;\">Direct3D9: (ERROR) :All user created D3DPOOL_DEFAULT surfaces must be freed before ResetEx can succeed. ResetEx Fails.<\/span><br \/>\n<span style=\"font-size: small;\"> Direct3D9: (ERROR) :ResetEx failed and ResetEx\/TestCooperativeLevel\/Release are the only legal APIs to be called subsequently<\/span><br \/>\n<span style=\"font-size: small;\"> D3D9 Helper: IDirect3DDevice9::Reset failed: D3DERR_INVALIDCALL<\/span><br \/>\n<\/code><br \/>\nJ&#8217;ai chercher longtemps avant de trouver c&#8217;\u00e9tait quoi. En fait, tout \u00e9tait correct exepter une chose. J&#8217;appelais 2 fois de suite cette s\u00e9rie de code :<br \/>\n<code><br \/>\nOnLostDevice();<br \/>\nHR(mpDevice-&gt;Reset(&amp;mD3dPresentParam));<br \/>\nOnResetDevice();<\/code><\/p>\n<p>J&#8217;ai enlever le doublon et mon crash a \u00e9t\u00e9 r\u00e9gl\u00e9 comme par magie. J&#8217;ai trouv\u00e9 l&#8217;indice qui me fallait en allant faire des recherches sur <a href=\"https:\/\/www.gamedev.net\/\">https:\/\/www.gamedev.net\/<\/a>\u00a0 \ud83d\ude1b<code><br \/>\n<\/code><!--:--><\/p>\n","protected":false},"excerpt":{"rendered":"<p>J&#8217;ai enfin r\u00e9gl\u00e9 un bug qui trainait depuis tr\u00e8s longtemps. Lorsqu&#8217;on d\u00e9pla\u00e7ait la fen\u00eatre ou si on la redimensionnait, il y avait un crash qui disait ceci : Direct3D9: (ERROR) :All user created D3DPOOL_DEFAULT surfaces must be freed before ResetEx can succeed. ResetEx Fails. Direct3D9: (ERROR) :ResetEx failed and ResetEx\/TestCooperativeLevel\/Release are the only legal APIs [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[87],"tags":[],"class_list":["post-73","post","type-post","status-publish","format-standard","hentry","category-general-fr"],"acf":[],"_links":{"self":[{"href":"https:\/\/sjs-studio.com\/index.php?rest_route=\/wp\/v2\/posts\/73","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sjs-studio.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sjs-studio.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sjs-studio.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/sjs-studio.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=73"}],"version-history":[{"count":5,"href":"https:\/\/sjs-studio.com\/index.php?rest_route=\/wp\/v2\/posts\/73\/revisions"}],"predecessor-version":[{"id":1304,"href":"https:\/\/sjs-studio.com\/index.php?rest_route=\/wp\/v2\/posts\/73\/revisions\/1304"}],"wp:attachment":[{"href":"https:\/\/sjs-studio.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=73"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sjs-studio.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=73"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sjs-studio.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=73"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}