Skip to content

Commit

Permalink
Attempted to fix memory issues
Browse files Browse the repository at this point in the history
  • Loading branch information
habjoc committed Aug 17, 2018
1 parent 1cc0257 commit 33cb842
Show file tree
Hide file tree
Showing 9 changed files with 52 additions and 50 deletions.
1 change: 1 addition & 0 deletions src/lw_common/parse/parsers/log_parser_base.cs
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,7 @@ internal util.void_func on_aliases_changed {

public void Dispose() {
disposed_ = true;
settings.on_changed -= on_settings_changed;
}

}
Expand Down
1 change: 1 addition & 0 deletions src/lw_common/readers/text_reader.cs
Original file line number Diff line number Diff line change
Expand Up @@ -158,6 +158,7 @@ public void Dispose() {
on_dispose();
if (parser_ != null)
parser_.on_text_reader_dispose();
settings.on_changed -= on_settings_changed;
}

public static log_type type(text_reader reader) {
Expand Down
2 changes: 1 addition & 1 deletion src/lw_common/ui/log_view/log_view.cs
Original file line number Diff line number Diff line change
Expand Up @@ -259,7 +259,7 @@ private void edit_aliases() {
}

public void update_column_names() {
if (filter.log == null) {
if (filter == null || filter.log == null) {
// wait until the log is set
util.postpone(update_column_names, 100);
return;
Expand Down
6 changes: 6 additions & 0 deletions src/lw_common/ui/snoop/snoop_around_expander_ctrl.cs
Original file line number Diff line number Diff line change
Expand Up @@ -172,5 +172,11 @@ private void refreshIcons_Tick(object sender, EventArgs e) {
}
prev_close_by_vertically_ = close_by_vertically;
}

new public void Dispose() {
parent_ = null;
base.Dispose();
}

}
}
5 changes: 5 additions & 0 deletions src/lw_common/ui/snoop/snoop_around_form.cs
Original file line number Diff line number Diff line change
Expand Up @@ -203,6 +203,11 @@ public void clear() {
list.Items.Clear();
}

new public void Dispose() {
expander_.Dispose();
base.Dispose();
}

private bool can_apply_filter() {
if (list.GetItemCount() < 1)
return false; // nothing to filter
Expand Down
16 changes: 8 additions & 8 deletions src/lw_common/ui/snoop/snoop_filter.cs
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ public void clear() {
}

private Dictionary<info_type, snoop_form_info> snoops_ = new Dictionary<info_type, snoop_form_info>();
private List<snoop_form_info> unused_ = new List<snoop_form_info>();
//private List<snoop_form_info> unused_ = new List<snoop_form_info>();
private bool disposed_ = false;

private log_view view_;
Expand Down Expand Up @@ -220,17 +220,17 @@ public snoop_around_form snoop_for(info_type type) {
Debug.Assert(info_type_io.is_snoopable(type));
lock (this) {
if (!snoops_.ContainsKey(type)) {
if(unused_.Count > 0) {
/*if(unused_.Count > 0) {
var use_now = unused_[0];
unused_.RemoveAt(0);
use_now.clear();
snoops_.Add(type, use_now);
} else {
} else {*/
var form = new snoop_around_form();
form.on_apply = on_apply;
form.on_snoop = on_snoop;
snoops_.Add(type, new snoop_form_info { form = form });
}
//}
}
return snoops_[type].form;
}
Expand All @@ -247,7 +247,7 @@ public void on_aliases(aliases aliases) {
if (snoops_.ContainsKey(type)) {
var unuse_now = snoops_[type];
snoops_.Remove(type);
unused_.Add(unuse_now);
//unused_.Add(unuse_now);
unuse_now.form.is_visible = false;
}
}
Expand All @@ -261,11 +261,11 @@ public void Dispose() {
disposed_ = true;
foreach ( var snoop in snoops_.Values)
snoop.form.Dispose();
foreach (var snoop in unused_)
snoop.form.Dispose();
/*foreach (var snoop in unused_)
snoop.form.Dispose();*/

snoops_.Clear();
unused_.Clear();
//unused_.Clear();
}
}
}
45 changes: 11 additions & 34 deletions src/ui/log_wizard.Designer.cs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

23 changes: 19 additions & 4 deletions src/ui/log_wizard.cs
Original file line number Diff line number Diff line change
Expand Up @@ -1456,7 +1456,7 @@ private void refresh_Tick(object sender, EventArgs ea) {
if (exception_keeper.inst.is_fatal || exception_keeper.inst.too_many_errors) {
if (!status.is_showing_error)
set_status((exception_keeper.inst.is_fatal ? "A <b>Fatal</b> error occured" : "Too many errors happened lately") + ". Please open " +
"an issue on <a https://github.com/jtorjo/logwizard/issues>github</a>.", status_ctrl.status_type.err);
"an issue on <a https://github.com/habjoc/logwizard/issues>github</a>.", status_ctrl.status_type.err);
}
}

Expand Down Expand Up @@ -3528,6 +3528,8 @@ private void do_open_log(string initial_settings_str, string config_file) {
set_status("Select a log file to open!", status_ctrl.status_type.err, 1000);
return;
}
/*msg_details_ = null;
description = null;*/
if (is_log_in_history(ref settings)) {
// we already have this in history
create_text_reader(settings);
Expand Down Expand Up @@ -3792,20 +3794,33 @@ private void exitToolStripMenuItem_Click(object sender, EventArgs e) {
Close();
}

private Dictionary<string, EventHandler> actions = new Dictionary<string, EventHandler>();

private void fill_open_recent(List<history> history) {
var MAX_OPEN_RECENT = 5;
foreach (ToolStripMenuItem item in openRecentToolStripMenuItem.DropDownItems) {
item.Click -= actions[item.Text];
}
openRecentToolStripMenuItem.DropDownItems.Clear();
actions.Clear();

var items = new List<ToolStripMenuItem>();
for (var i = history.Count - 1; i >= 0 && i >= history.Count - MAX_OPEN_RECENT; i--) {
var entry = history[i];
var item = new ToolStripMenuItem(entry.ui_short_friendly_name);
var iteration = i;
item.Click += (o, args) => {
/*item.Click += (o, args) => {
logHistory.SelectedIndex = iteration;
logHistory_SelectedIndexChanged(null, null);
};
};*/
actions.Add(entry.ui_short_friendly_name, new EventHandler((o, args) => {
logHistory.SelectedIndex = iteration;
logHistory_SelectedIndexChanged(null, null);
}));
item.Click += actions[entry.ui_short_friendly_name];
items.Add(item);
}
openRecentToolStripMenuItem.DropDownItems.Clear();

openRecentToolStripMenuItem.DropDownItems.AddRange(items.ToArray());
}

Expand Down
Loading

0 comments on commit 33cb842

Please sign in to comment.