It amazes me again and again when you didn’t change anything, but things started to work differently.
That what happened to me recently. Few days ago, I realized that in many places’ popup menu popped up to the left from mouse pointer like on the picture:

This was picture from Outlook, but other Office applications works the same.
At first it looked strange and unusual. I didn’t pay much attention but with time it became a bit annoying. My muscle memory tells me that something is wrong, but brain continues and clicks on menu in unusual place.
Then I started to see it on my work PC. And finally, I decided to
[...Read More]
This is interesting story about problem I was able to solve and how correlation does not always imply causation.
Ok, sometime ago my wife dropped her iPhone and broke screen. Initially I thought to repair it via 3rd party service but at the end I went to Apple and for $120 they did replace screen. And as story unfold you will see that it was totally worth it.
Few days later after Apple fixed screen (and it took only one hour) my wife started to complain that phone is started to freeze for few seconds. And after few days it became quite bad. So, I did backup phone and my wife went to Apple and they simply replace phone to
[...Read More]
At the beginning I would like to clarify on details of Windows message queue. Many people believe that InvalidateRect function (or any other action that makes your window have update region) will actually post WM_PAINT message into message queue. Similarly, they believe that any mouse movement will leads to insert of WM_MOUSEMOVE (and corresponding messages like WM_HCHITTEST). But in reality, it is quite different (unless there is call to PeekMessage with PM_NOREMOVE). It is not important from processing these messages but very important to understand these details to troubleshoot any problems.
When part of window is invalidated Windows will simply set flag that indicates that window needs painting and that’s it. There is nothing inserted at message queue at all.
[...Read More]