Originally Posted By: Khaled
Thanks for the video, I can see that the vertical scollbar is changing size, however this is actually normal in some situations. It does not indicate that the number of lines has changed. mIRC calculates the size of the vertical scrollbar on-the-fly.

For example, if you resize the status window to the smallest possible size and fill it with several hundred lines and then maximize the status window, when you scroll up, the size of the vertical scrollbar will change.

As mentioned in a previous post, to see the actual number of lines, you would need to use the $line() identifier.

Since there are many possible situations where a buffer can get cleared, eg. a script, parting and rejoining a channel, and so on, I am not sure how easy it would be for me to reproduce this or to even monitor for it. One possible approach would be to use a script that, once a second, counts the number of lines in every window, outputs the count to a debug file, and alerts you if the number of lines has suddenly decreased.


Hey Khaled, after running a custom script to compare $line() with the actual amount of lines that should be printed, I found out that the buffer does not get cleared but rather doesn't grow, sometimes it decreases a little. On some channels for example it remains at 701 lines consistently for days. The number of lines seems to go down a little and then increase in no clear pattern.

Additionally, the scrollbar actually reports the correct "expected" buffer size as if the lines were added.

Note that the tests were done on two blank, freshly installed mIRCs on two separate machines. (No other scripts, dlls, /parts, or /clear[all] calls)

Here are a few samples: (Note that the lines are indeed consecutive)

Quote:
Format:

network : #channel <$line()count>/<expected count> : event : $nick : $1-


freenode : ##c : 1674/2000 : join :
freenode : ##c : 1675/2001 : text :
freenode : ##c : 1676/2002 : text :
freenode : ##c : 1675/2003 : join :
freenode : ##c : 1675/2004 : text :
freenode : ##c : 1676/2005 : text :
freenode : ##c : 1675/2006 : text :
freenode : ##c : 1675/2007 : quit :


freenode : ##c++ : 872/2195 : join :
freenode : ##c++ : 873/2196 : join :
freenode : ##c++ : 872/2197 : text :
freenode : ##c++ : 873/2198 : text :
...
freenode : ##c++ : 872/2305 : text :
...
freenode : ##c++ : 913/3405 : text :
freenode : ##c++ : 912/3406 : text :
freenode : ##c++ : 912/3407 : text :

(I did remove $nick and $1- for convenience from here.)

This sort of behavior happens on every channel. On some more than other for no clear reason as far as I can see. Notice that the buffer size might go down a few lines and then increase again.

Last edited by Wiz126; 17/02/12 09:56 PM.