miranda-ng / miranda-ng

Miranda NG: Next Generation of Miranda IM
https://miranda-ng.org
GNU General Public License v2.0
480 stars 126 forks source link

StdMsg/SmileyAdd: Does not always completely scroll to the bottom when adding message #811

Open sagamusix opened 7 years ago

sagamusix commented 7 years ago

I am using SmileyAdd with a smiley set that is slightly taller than the text's line height.

When I write (or receive) a message containing a smiley, the StdMsg view seems to only scroll down by the amount of pixels that would be sufficient for a normal text line, so the lowest few rows of smiley pixels are not visible. If you wait for a second or so, it scrolls down a second time, now revealing the smiley completely.

However, this becomes problematic if a second message arrvies between those two scroll actions: Miranda does not scroll the message view at all if it's not already at the very bottom, so if it didn't scroll sufficiently in the first step because the message contained a smiley, it will now stop scrolling altogether until I manually scroll to the bottom.

LoneBoco commented 7 years ago

That might explain an issue I've been seeing recently where loading up a Jabber chat room will pull in the previous history and then fail to scroll all the way to the bottom, leaving you to have to manually scroll every window to the end. If the history is streamed in a message at a time, it might hit a smiley and break the scroll.

LoneBoco commented 7 years ago

Actually, I don't think SmileyAdd is the reason why my Jabber message log won't scroll to the bottom. I disabled smileys for the protocol and it still failed to scroll.

sagamusix commented 7 years ago

I might be understanding better now what's happening there. For the split of a second I can sometimes see the new message being added, but with plaintext smileys. Only after that split of a second, the plaintext is replaced by the smiley graphics, and the scroll position is not compensated for the increased height.

georgehazan commented 7 years ago

should be fixed by commit 5a6d410

sagamusix commented 7 years ago

I'm afraid that commit did not solve the problem. It still does not scroll down completely and instantly when adding smileys and when adding another message before it scrolls down a second time, the scroll position will change no more.