Michael Gerz wrote:
Abdelrazak Younes wrote:

But let me advice you to use the step by step debugger. It helps a lot in finding bugs like this. OK, I grant you that I knew in advance that it was a matter of redundant update() calls but knowing where this call was was easy to find out: I just had to put a break point at the beginning of updateMetrics() just before resizing and voila! Backstepping through the debugger told me that workAreaResize() was the culprit.

if a redundant update() call was the problems, do you intend to check all update() calls systematically?

I have done that already last time I touched at this method. I reckon they are correct calls to update() but I might have missed something.


BTW: Could you please tell in simple words what the difference is between update() and updateMetrics()?

update() is really update(Update::FitCursor | Update::Force). This more or less means the following:

updateMetrics(false);
if (FitCursor)
        updateMetrics(false);

The term "update" suggests that it doesn't hurt to call this function redundantly...

Indeed but this is wrong. we should probably replace all these calls with update(Update::FitCursor | Update::Force) to make the intent clear.

Abdel.

Reply via email to