OSDN Git Service

AutoD3DDeviceLock で IntPtr が解放されていなかったミスを修正。
authorくまかみ工房 <kumakamikoubou@gmail.com>
Tue, 20 Sep 2016 06:34:07 +0000 (15:34 +0900)
committerくまかみ工房 <kumakamikoubou@gmail.com>
Tue, 20 Sep 2016 06:34:07 +0000 (15:34 +0900)
FDK24/メディア/デバイスリソース.cs
FDK24/メディア/画像.cs
FDK24/同期/AutoD3DDeviceLock.cs
StrokeStyleT/StrokeStyleT.cs
StrokeStyleT/ステージ/選曲/選曲ステージ.cs

index 628afac..eb206dd 100644 (file)
@@ -44,6 +44,7 @@ namespace FDK.メディア
                public SharpDX.Direct3D11.Texture2D D3DDepthStencil => this.bs_D3DDepthStencil;
                public SharpDX.Direct3D11.DepthStencilView D3DDepthStencilView => this.bs_D3DDepthStencilView;
                public SharpDX.Direct3D11.DepthStencilState D3DDepthStencilState => this.bs_D3DDepthStencilState;
+               public SharpDX.Direct3D11.DeviceDebug D3DDeviceDebug => this.bs_D3DDeviceDebug;
                public SharpDX.Direct2D1.Factory2 D2DFactory2 => this.bs_D2DFactory2;
                public SharpDX.DirectWrite.Factory DWriteFactory => this.bs_DWriteFactory;
                public SharpDX.WIC.ImagingFactory2 WicImagingFactory2 => this.bs_WicImagingFactory2;
index c7d1a03..b93ed74 100644 (file)
@@ -29,6 +29,9 @@ namespace FDK.メディア
                protected override void Onデバイス依存リソースの解放( デバイスリソース dr )
                {
                        FDK.Utilities.解放する( ref this.Bitmap );
+
+                       string 変数付きファイルパス = フォルダ.絶対パスをフォルダ変数付き絶対パスに変換して返す( this.画像ファイルパス );
+                       Log.Info( $"{Utilities.現在のメソッド名}: 画像を解放しました。[{変数付きファイルパス}]" );
                }
 
                /// <summary>
index 646c0fb..c7e9f35 100644 (file)
@@ -32,7 +32,7 @@ namespace FDK.同期
                                typeof( SharpDX.Direct3D11.Device ).GUID,
                                true );   // Lockできるまでブロックする
 
-                       d3dDevice = new SharpDX.Direct3D11.Device( dev );
+                       d3dDevice = SharpDX.Direct3D11.Device.FromPointer<SharpDX.Direct3D11.Device>( dev );
                }
                private void デバイスを解放しロックを解除する()
                {
index 158d125..5824e68 100644 (file)
@@ -341,13 +341,13 @@ namespace SST
                protected override void OnSizeChanged( EventArgs e )
                {
                        // すべてのサイズ依存リソースを解放する。
-                       this.現在のステージ?.非活性化する( this.デバイスリソース );
+                       this.現在のステージ?.デバイス依存リソースを解放する( this.デバイスリソース );
 
                        // デバイス等の変更処理を行う。
                        base.OnSizeChanged( e );
 
                        // すべてのサイズ依存リソースを作成し直す。
-                       this.現在のステージ?.活性化する( this.デバイスリソース );
+                       this.現在のステージ?.デバイス依存リソースを作成する( this.デバイスリソース );
                }
 
                // 各ステージの、唯一のインスタンス。
index cbf2ca4..d24f8a7 100644 (file)
@@ -31,7 +31,7 @@ namespace SST.ステージ.選曲
                        this.背景動画.ループ再生する = true;
                        this.現在のフェーズ = フェーズ.表示中;
 
-                       this.子リスト.Add( StrokeStyleT.曲ツリー管理 );
+                       this.子リスト.Add( StrokeStyleT.曲ツリー管理 );       // コンストラクタで追加したら static への直接参照がずっと子リストに残る。
                }
                protected override void On非活性化( デバイスリソース dr )
                {