crash fix when accessing owner form

This commit is contained in:
MattNL
2022-08-18 16:01:23 -04:00
parent 497d7e8327
commit 7f88f09344
3 changed files with 49 additions and 46 deletions

View File

@@ -300,6 +300,7 @@ namespace PckStudio.Forms.Editor
this.Theme = MetroFramework.MetroThemeStyle.Dark;
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.AudioEditor_FormClosing);
this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.AudioEditor_FormClosed);
this.Shown += new System.EventHandler(this.AudioEditor_Shown);
this.contextMenuStrip1.ResumeLayout(false);
this.menuStrip.ResumeLayout(false);
this.menuStrip.PerformLayout();

View File

@@ -21,13 +21,12 @@ namespace PckStudio.Forms.Editor
{
public bool saved = false;
public string defaultType = "yes";
private string DataDirectory = "";
string tempDir = "";
PCKAudioFile audioFile = null;
PCKFile.FileData audioPCK;
LOCFile loc;
bool _isLittleEndian = false;
MainForm parent; // Parent Form
MainForm parent = null;
public static readonly List<string> Categories = new List<string>
{
@@ -82,7 +81,6 @@ namespace PckStudio.Forms.Editor
// so the Creative songs aren't combined until after the forms are closed.
// this will prevent potential problems with editing the categories after merging.
this.saveToolStripMenuItem1.Click += (sender, e) => saveToolStripMenuItem1_Click(sender, e, false);
parent = Owner.Owner as MainForm;
loc = locFile;
tempDir = Path.Combine(Directory.GetCurrentDirectory(), "temp");
_isLittleEndian = isLittleEndian;
@@ -121,7 +119,6 @@ namespace PckStudio.Forms.Editor
treeNode.Tag = category;
treeView1.Nodes.Add(treeNode);
}
playOverworldInCreative.Enabled = audioFile.HasCategory(PCKAudioFile.AudioCategory.EAudioType.Creative);
}
@@ -172,7 +169,7 @@ namespace PckStudio.Forms.Editor
var entry = treeView2.SelectedNode;
if (!parent.CreateDataFolder()) return;
string FileName = Path.Combine(DataDirectory, entry.Text + ".binka");
string FileName = Path.Combine(parent.GetDataPath(), entry.Text + ".binka");
if (File.Exists(FileName)) MessageBox.Show("\"" + entry.Text + ".binka\" exists in the \"Data\" folder", "File found");
else MessageBox.Show("\"" + entry.Text + ".binka\" does not exist in the \"Data\" folder. The game will crash when attempting to load this track.", "File missing");
@@ -269,7 +266,7 @@ namespace PckStudio.Forms.Editor
{
if (Path.GetExtension(file) == ".binka" || Path.GetExtension(file) == ".wav")
{
string new_loc = Path.Combine(DataDirectory, Path.GetFileNameWithoutExtension(file) + ".binka");
string new_loc = Path.Combine(parent.GetDataPath(), Path.GetFileNameWithoutExtension(file) + ".binka");
bool duplicate_song = false; // To handle if a file already in the pack is dropped back in
if (File.Exists(new_loc))
{
@@ -316,8 +313,8 @@ namespace PckStudio.Forms.Editor
else if (!duplicate_song)
{
Console.WriteLine(Path.GetFileName(file));
File.Delete(Path.Combine(DataDirectory, Path.GetFileName(file)));
File.Copy(file, Path.Combine(DataDirectory, Path.GetFileName(file)));
File.Delete(Path.Combine(parent.GetDataPath(), Path.GetFileName(file)));
File.Copy(file, Path.Combine(parent.GetDataPath(), Path.GetFileName(file)));
}
var songName = Path.GetFileNameWithoutExtension(file);
@@ -427,7 +424,7 @@ namespace PckStudio.Forms.Editor
if (!parent.CreateDataFolder()) return;
int totalDeleted = 0;
foreach (string song in Directory.GetFiles(DataDirectory, "*.binka"))
foreach (string song in Directory.GetFiles(parent.GetDataPath(), "*.binka"))
{
if (!totalSongList.Contains(Path.GetFileNameWithoutExtension(song)))
{
@@ -486,7 +483,12 @@ namespace PckStudio.Forms.Editor
private void openDataFolderToolStripMenuItem_Click(object sender, EventArgs e)
{
if (!parent.CreateDataFolder()) return;
Process.Start("explorer.exe", DataDirectory);
Process.Start("explorer.exe", parent.GetDataPath());
}
private void AudioEditor_Shown(object sender, EventArgs e)
{
parent = this.Owner.Owner as MainForm;
}
}
}

View File

@@ -410,42 +410,6 @@
<data name="menuStrip.AutoSize" type="System.Boolean, mscorlib">
<value>False</value>
</data>
<data name="fileToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>37, 20</value>
</data>
<data name="fileToolStripMenuItem.Text" xml:space="preserve">
<value>File</value>
</data>
<data name="creditsEditorToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>192, 22</value>
</data>
<data name="creditsEditorToolStripMenuItem.Text" xml:space="preserve">
<value>Credits Editor</value>
</data>
<data name="deleteUnusedBINKAsToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>192, 22</value>
</data>
<data name="deleteUnusedBINKAsToolStripMenuItem.Text" xml:space="preserve">
<value>Delete Unused BINKAs</value>
</data>
<data name="openDataFolderToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>192, 22</value>
</data>
<data name="openDataFolderToolStripMenuItem.Text" xml:space="preserve">
<value>Open Data Folder</value>
</data>
<data name="toolsToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>46, 20</value>
</data>
<data name="toolsToolStripMenuItem.Text" xml:space="preserve">
<value>Tools</value>
</data>
<data name="helpToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>44, 20</value>
</data>
<data name="helpToolStripMenuItem.Text" xml:space="preserve">
<value>Help</value>
</data>
<data name="menuStrip.Location" type="System.Drawing.Point, System.Drawing">
<value>20, 60</value>
</data>
@@ -470,6 +434,12 @@
<data name="&gt;&gt;menuStrip.ZOrder" xml:space="preserve">
<value>7</value>
</data>
<data name="fileToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>37, 20</value>
</data>
<data name="fileToolStripMenuItem.Text" xml:space="preserve">
<value>File</value>
</data>
<data name="saveToolStripMenuItem1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
@@ -486,6 +456,30 @@
<data name="saveToolStripMenuItem1.Text" xml:space="preserve">
<value>Save</value>
</data>
<data name="toolsToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>46, 20</value>
</data>
<data name="toolsToolStripMenuItem.Text" xml:space="preserve">
<value>Tools</value>
</data>
<data name="creditsEditorToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>192, 22</value>
</data>
<data name="creditsEditorToolStripMenuItem.Text" xml:space="preserve">
<value>Credits Editor</value>
</data>
<data name="deleteUnusedBINKAsToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>192, 22</value>
</data>
<data name="deleteUnusedBINKAsToolStripMenuItem.Text" xml:space="preserve">
<value>Delete Unused BINKAs</value>
</data>
<data name="helpToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>44, 20</value>
</data>
<data name="helpToolStripMenuItem.Text" xml:space="preserve">
<value>Help</value>
</data>
<data name="howToAddSongsToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>245, 22</value>
</data>
@@ -653,6 +647,12 @@
<data name="&gt;&gt;metroLabel1.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="openDataFolderToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>192, 22</value>
</data>
<data name="openDataFolderToolStripMenuItem.Text" xml:space="preserve">
<value>Open Data Folder</value>
</data>
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>