Nullabfrage hinzugefügt
This commit is contained in:
@@ -46,6 +46,7 @@
|
||||
<HintPath>..\PrototypChat\packages\RestSharp.105.2.3\lib\net45\RestSharp.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Configuration" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.Web" />
|
||||
|
||||
@@ -319,7 +319,7 @@ namespace ChatController
|
||||
_ContainingWindow.Activate();
|
||||
|
||||
var selectedContact = _ContactList?.FirstOrDefault(f => f?.Contact.GroupId == pGroupId);
|
||||
if(!(selectedContact is null))
|
||||
if(!(selectedContact?.Contact is null))
|
||||
{
|
||||
SelectContact(selectedContact.Contact);
|
||||
}
|
||||
@@ -374,13 +374,16 @@ namespace ChatController
|
||||
return;
|
||||
}
|
||||
|
||||
if(Clientlist?.SelectedItem is ContactDependencyObject selectedContactDependencyObject)
|
||||
if(Clientlist?.SelectedItem is ContactDependencyObject selectedContactDependencyObject && !(selectedContactDependencyObject.Contact is null))
|
||||
{
|
||||
SelectContact(selectedContactDependencyObject.Contact);
|
||||
}
|
||||
}
|
||||
|
||||
// ToDo: Hier kommt es immer wieder zu einer NullPointerException
|
||||
private void SelectContact(Contact contact)
|
||||
{
|
||||
try
|
||||
{
|
||||
if(contact is null)
|
||||
{
|
||||
@@ -391,6 +394,7 @@ namespace ChatController
|
||||
|
||||
ShouldInterruptContactsThread = true;
|
||||
|
||||
// Zeigt die Warteanimation (das Rädchen)
|
||||
StartWaitingImmediately();
|
||||
|
||||
_ScrollPrueferAktivieren = false;
|
||||
@@ -399,11 +403,12 @@ namespace ChatController
|
||||
{
|
||||
contact.HasUnreadMessages = false;
|
||||
|
||||
Clientlist.Items.Refresh();
|
||||
Clientlist?.Items.Refresh();
|
||||
OnPropertyChanged(nameof(ContactList));
|
||||
}
|
||||
|
||||
var currentContact = contact;
|
||||
|
||||
contact.IsNewMessage = false;
|
||||
|
||||
var shouldChangeIcon = _ContactList.Any(contactDependencyObject => contactDependencyObject.Contact.IsNewMessage);
|
||||
@@ -452,6 +457,11 @@ namespace ChatController
|
||||
});
|
||||
});
|
||||
}
|
||||
catch(Exception exception)
|
||||
{
|
||||
throw;
|
||||
}
|
||||
}
|
||||
|
||||
private void SetContextHandler()
|
||||
{
|
||||
|
||||
@@ -925,11 +925,17 @@ namespace ChatController.HauptKlassen
|
||||
|
||||
private static List<ChatMessage> AddSeparators(List<ChatMessage> chatMessages)
|
||||
{
|
||||
if(chatMessages is null)
|
||||
{
|
||||
chatMessages = new List<ChatMessage>();
|
||||
}
|
||||
|
||||
var messagesWithoutSeparators = chatMessages.Where(message => !message.IsSeparator).OrderBy(message => message.SendTime).ToList();
|
||||
|
||||
var separators = new List<ChatMessage>();
|
||||
|
||||
var previousMessage = messagesWithoutSeparators.OrderBy(message => message.SendTime).FirstOrDefault();
|
||||
|
||||
foreach(var message in messagesWithoutSeparators.OrderBy(message => message.SendTime))
|
||||
{
|
||||
if(!message.Equals(previousMessage) && !(previousMessage is null))
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// Allgemeine Informationen über eine Assembly werden über die folgenden
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="ClrHeapAllocationAnalyzer" version="3.0.0" targetFramework="net45" />
|
||||
<package id="RestSharp" version="105.2.3" targetFramework="net45" />
|
||||
</packages>
|
||||
@@ -7,6 +7,7 @@ namespace ownChat
|
||||
public ExceptionWindow(Exception exception)
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
ExceptionViewControl.Exception = exception;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user