[smuxi/stable] Frontend-GNOME: handle ChatTreeView.FindChatIter() returning Zero
- From: Mirco M. M. Bauer <mmmbauer src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [smuxi/stable] Frontend-GNOME: handle ChatTreeView.FindChatIter() returning Zero
- Date: Sun, 11 Jun 2017 06:49:31 +0000 (UTC)
commit 0c059ee388a35b38b84b1d919fbd8ef74cdbe59a
Author: Mirco Bauer <meebey meebey net>
Date: Sun Jun 11 14:38:35 2017 +0800
Frontend-GNOME: handle ChatTreeView.FindChatIter() returning Zero
FindChatIter() can return Gtk.TreeIter.Zero if it couldn't find the iter for the
passed ChatView. Instead of ignoring this situation in
ChatTreeView.set_CurrentChatView() and continuing with Gtk-CRITICAL messages
this is now correctly handled with a warning message logged by Smuxi.
src/Frontend-GNOME/Views/ChatTreeView.cs | 12 ++++++++++++
1 files changed, 12 insertions(+), 0 deletions(-)
---
diff --git a/src/Frontend-GNOME/Views/ChatTreeView.cs b/src/Frontend-GNOME/Views/ChatTreeView.cs
index aad567a..e51b4d3 100644
--- a/src/Frontend-GNOME/Views/ChatTreeView.cs
+++ b/src/Frontend-GNOME/Views/ChatTreeView.cs
@@ -25,6 +25,9 @@ namespace Smuxi.Frontend.Gnome
{
public class ChatTreeView : Gtk.TreeView
{
+#if LOG4NET
+ private static readonly log4net.ILog f_Logger =
log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
+#endif
public Gtk.TreeStore TreeStore { get; private set; }
ThemeSettings ThemeSettings { get; set; }
int f_CurrentChatNumber;
@@ -43,6 +46,15 @@ namespace Smuxi.Frontend.Gnome
TreeStore.GetIterFirst(out iter);
} else {
iter = FindChatIter(value);
+ if (Gtk.TreeIter.Zero.Equals(iter)) {
+#if LOG4NET
+ f_Logger.ErrorFormat(
+ "set_CurrentChatView(): FindChatIter({0}) " +
+ "returned Gtk.TreeIter.Zero, ignoring...", value
+ );
+#endif
+ return;
+ }
}
var path = TreeStore.GetPath(iter);
// we have to ensure we can make the new selection
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]