From c60404125c92ac38dde36497466bd553c1ae33c0 Mon Sep 17 00:00:00 2001 From: yyagi Date: Sat, 9 Jul 2011 12:43:27 +0000 Subject: [PATCH] =?utf8?q?#none=20[DTXC]=20=E3=82=BD=E3=83=BC=E3=82=B9?= =?utf8?q?=E3=82=92=E6=A4=9C=E8=A8=BC=E3=83=84=E3=83=BC=E3=83=AB=E3=81=AB?= =?utf8?q?=E6=8E=9B=E3=81=91=E3=81=A6=E6=8C=87=E6=91=98=E3=81=95=E3=82=8C?= =?utf8?q?=E3=81=9F=E5=95=8F=E9=A1=8C=E3=81=AB=E5=AF=BE=E5=87=A6=E3=81=97?= =?utf8?q?=E3=81=9F=E3=80=82(Brush=E3=81=AEDispose=E6=BC=8F=E3=82=8C?= =?utf8?q?=E3=80=81null=E3=83=81=E3=82=A7=E3=83=83=E3=82=AF=E6=BC=8F?= =?utf8?q?=E3=82=8C=E3=81=AA=E3=81=A9)?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit git-svn-id: http://svn.osdn.jp/svnroot/dtxmania/trunk@224 16f42ceb-6dc6-49c8-ba94-f2d53467949d --- .../コード/00.全体/Cバージョン情報.cs | 1 + .../コード/00.全体/Cメインフォーム.cs | 50 ++++++++++++---------- .../Cチップパレット.cs | 13 +++--- .../コード/05.譜面/C選択モード管理.cs | 13 +++--- 4 files changed, 44 insertions(+), 33 deletions(-) diff --git a/DTXCreatorプロジェクト/コード/00.全体/Cバージョン情報.cs b/DTXCreatorプロジェクト/コード/00.全体/Cバージョン情報.cs index 02510b77..272a6d57 100644 --- a/DTXCreatorプロジェクト/コード/00.全体/Cバージョン情報.cs +++ b/DTXCreatorプロジェクト/コード/00.全体/Cバージョン情報.cs @@ -34,6 +34,7 @@ namespace DTXCreator Brush brush = new SolidBrush( Color.FromArgb( 0xff, 220, 220, 220 ) ); Rectangle layoutRectangle = new Rectangle( 330, 220, 150, 20 ); e.Graphics.DrawString( "Release " + Resources.DTXC_VERSION, font, brush, layoutRectangle ); + brush.Dispose(); font.Dispose(); } //----------------- diff --git a/DTXCreatorプロジェクト/コード/00.全体/Cメインフォーム.cs b/DTXCreatorプロジェクト/コード/00.全体/Cメインフォーム.cs index 87e53242..05670656 100644 --- a/DTXCreatorプロジェクト/コード/00.全体/Cメインフォーム.cs +++ b/DTXCreatorプロジェクト/コード/00.全体/Cメインフォーム.cs @@ -283,7 +283,8 @@ namespace DTXCreator // 反復要素とか足りなかったりしてもリセットする。 - if( this.appアプリ設定.SoundListColumnWidth.Length != 5 + if( this.appアプリ設定 == null + || this.appアプリ設定.SoundListColumnWidth.Length != 5 || this.appアプリ設定.GraphicListColumnWidth.Length != 4 || this.appアプリ設定.MovieListColumnWidth.Length != 3 || !this.appアプリ設定.bSameVersion() ) @@ -1203,28 +1204,31 @@ namespace DTXCreator #region [ その小節が持っているチップを全て削除する。チップの削除作業は、Undo/Redoリストに記録する。] //----------------- - - while( c削除する小節.listチップ.Count > 0 ) - { - #region [ UndoRedo リストにこの操作(チップ削除)を記録する。] - //----------------- - var cc = new Cチップ(); - cc.tコピーfrom( c削除する小節.listチップ[ 0 ] ); - var redo = new Cチップ配置用UndoRedo( c削除する小節.n小節番号0to3599, cc ); - - this.mgrUndoRedo管理者.tノードを追加する( - new CUndoRedoセル( - null, - new DGUndoを実行する( this.mgr譜面管理者.tチップ削除のUndo ), - new DGRedoを実行する( this.mgr譜面管理者.tチップ削除のRedo ), - redo, redo ) ); - //----------------- - #endregion - - // 小節からチップを削除する。 - c削除する小節.listチップ.RemoveAt( 0 ); - } + if (c削除する小節 != null) + { + while ( c削除する小節.listチップ.Count > 0 ) + { + #region [ UndoRedo リストにこの操作(チップ削除)を記録する。] + //----------------- + var cc = new Cチップ(); + cc.tコピーfrom( c削除する小節.listチップ[0] ); + var redo = new Cチップ配置用UndoRedo(c削除する小節.n小節番号0to3599, cc); + + this.mgrUndoRedo管理者.tノードを追加する( + new CUndoRedoセル( + null, + new DGUndoを実行する(this.mgr譜面管理者.tチップ削除のUndo), + new DGRedoを実行する(this.mgr譜面管理者.tチップ削除のRedo), + redo, redo ) ); + //----------------- + #endregion + + // 小節からチップを削除する。 + + c削除する小節.listチップ.RemoveAt( 0 ); + } + } //----------------- #endregion @@ -2146,7 +2150,7 @@ namespace DTXCreator private void Cメインフォーム_DragDrop( object sender, DragEventArgs e ) { string[] data = (string[]) e.Data.GetData( DataFormats.FileDrop ); - if( data.Length >= 1 ) + if( data != null && data.Length >= 1 ) { this.tシナリオ・DragDropされたファイルを開く( data ); } diff --git a/DTXCreatorプロジェクト/コード/04.チップパレット関連/Cチップパレット.cs b/DTXCreatorプロジェクト/コード/04.チップパレット関連/Cチップパレット.cs index 5cd88fa2..231e9616 100644 --- a/DTXCreatorプロジェクト/コード/04.チップパレット関連/Cチップパレット.cs +++ b/DTXCreatorプロジェクト/コード/04.チップパレット関連/Cチップパレット.cs @@ -112,11 +112,14 @@ namespace DTXCreator.チップパレット関連 if( e.Data.GetDataPresent( typeof( Cチップパレット向けDragDropデータ ) ) ) { Cチップパレット向けDragDropデータ data = (Cチップパレット向けDragDropデータ) e.Data.GetData( typeof( Cチップパレット向けDragDropデータ ) ); - ListViewItem item = new ListViewItem( new string[] { data.strラベル名, C変換.str数値を36進数2桁に変換して返す( data.n番号1to1295 ), data.strファイル名 } ); - item.ImageIndex = data.n種類; - item.ForeColor = data.col文字色; - item.BackColor = data.col背景色; - this.listViewチップリスト.Items.Add( item ); + if (data != null) + { + ListViewItem item = new ListViewItem(new string[] { data.strラベル名, C変換.str数値を36進数2桁に変換して返す(data.n番号1to1295), data.strファイル名 }); + item.ImageIndex = data.n種類; + item.ForeColor = data.col文字色; + item.BackColor = data.col背景色; + this.listViewチップリスト.Items.Add(item); + } } } private void Cチップパレット_FormClosing( object sender, FormClosingEventArgs e ) diff --git a/DTXCreatorプロジェクト/コード/05.譜面/C選択モード管理.cs b/DTXCreatorプロジェクト/コード/05.譜面/C選択モード管理.cs index 82688a85..94210d92 100644 --- a/DTXCreatorプロジェクト/コード/05.譜面/C選択モード管理.cs +++ b/DTXCreatorプロジェクト/コード/05.譜面/C選択モード管理.cs @@ -23,8 +23,12 @@ namespace DTXCreator.譜面 } public void t個別選択解除( Cチップ cc ) { - Cチップ位置用UndoRedo redo = new Cチップ位置用UndoRedo( this.mgr譜面管理者ref.pチップの存在する小節を返す( cc ).n小節番号0to3599, cc.nレーン番号0to, cc.n位置grid, cc.n値・整数1to1295 ); - this._Form.mgrUndoRedo管理者.tノードを追加する( new CUndoRedoセル( null, new DGUndoを実行する( this.mgr譜面管理者ref.tチップ選択解除のUndo ), new DGRedoを実行する( this.mgr譜面管理者ref.tチップ選択解除のRedo ), redo, redo ) ); + C小節 c = this.mgr譜面管理者ref.pチップの存在する小節を返す( cc ); + if ( c != null ) + { + Cチップ位置用UndoRedo redo = new Cチップ位置用UndoRedo( c.n小節番号0to3599, cc.nレーン番号0to, cc.n位置grid, cc.n値・整数1to1295 ); + this._Form.mgrUndoRedo管理者.tノードを追加する( new CUndoRedoセル( null, new DGUndoを実行する( this.mgr譜面管理者ref.tチップ選択解除のUndo ), new DGRedoを実行する( this.mgr譜面管理者ref.tチップ選択解除のRedo ), redo, redo ) ); + } this._Form.tUndoRedo用GUIの有効・無効を設定する(); cc.b確定選択中 = false; } @@ -232,11 +236,10 @@ namespace DTXCreator.譜面 if( num < 0 ) { int num2 = csチップのある小節.n小節番号0to3599; - C小節 c小節 = null; + C小節 c小節 = null; while( num < 0 ) { - num2--; - c小節 = this.mgr譜面管理者ref.p小節を返す( num2 ); + c小節 = this.mgr譜面管理者ref.p小節を返す( --num2 ); if( c小節 == null ) { return; -- 2.11.0