netease-im / NIM_Duilib_Framework

网易云信Windows应用开发框架。
MIT License
2.09k stars 834 forks source link

bool ScrollableBox::IsAtEnd() 在特定情况下返回值不准的问题 #500

Open cloud14k opened 6 months ago

cloud14k commented 6 months ago

问题现象

当我把一个session_box放到session_form中时,我把滚动条拉到最下,在SessionBox::AddNewMsg这个函数中,bool at_end = msglist->IsAtEnd(); at_end返回false。 session_box在plugin_page中时,这个函数正常,不知道什么问题。 出现异常时,GetScrollRange().cy 比GetScrollPos().cy大。

预期结果

希望在任何情况下,IsAtEnd()都能返回正确的值。

重现步骤

nmgwddj commented 5 months ago

该项目为通用的 duilib 框架,与业务场景无关。您可以基于 NIM duilib 框架提供与业务无关的重现代码。避免业务场景上的混淆,这样更容易排查问题。