   Why isn't that working without a breakpoint?
  Hello!Another mysterious thing happened to me: When I put a breakpoint over a line of code, it works. When this breakpoint isn't there, it does not. :(  Here is the function where that happens:void UI_TexturePreview::Notify(UINT msg, WPARAM wParam, LPARAM lParam ){POINT pos;switch(msg){case WM_LBUTTONUP:GetCursorPos(&pos);ScreenToClient(ItemInput->MyWindow,&pos);if(Img->MouseInMe(&pos)) //Check if the click was in me{bSelected=!bSelected; //Toggle selected state //WHEN I PUT A BREAKPOINT HERE, IT WORKS!NeedsRedraw();//Tell the window, that something changed//InfoBox(L"Clicked!");  //<------- WHEN I UNCOMMENT THIS IT WORKS, TOO!}break;case WM_LBUTTONDBLCLK: //THIS WORKS WITHOUT ANY PROBLEMSGetCursorPos(&pos);ScreenToClient(ItemInput->MyWindow,&pos);if(MouseInMe(&pos)) //Check if the click was in me{ItemInput->BaseWnd->WndProc(this,WWM_BUTTON_PRESSED); //Send the msg to the BaseWindowProcif(Parent){Parent->ParentNotify(this,WWM_BUTTON_PRESSED); //Notify the Parent about the click}}break;}}Strange, isn't it?   
  Could it be a timing issue? Another possibilty is if your Notify function was called twice in quick succession normally. With the breakpoint or message box the input thread is probably suspended or the input is lost/delayed until the next frame. It could be toggling back before you can tell when such a delay isn't present.It might be interesting to put a print statement with the value of bSelected and possiblt the frame number, a timestamp or even a static integer that is incremented every time bSelected toggles so you can monitor this in a less intrusive fashion.Sometimes I find it easier to replace the window text caption for such debugging, it gives instant feedback without needing to rig up a console or something.   ;  I've made a Toggle-Counter, and somehow it says 2...   ;  Ah. The UI_Item was doubled in my Item-list. I don't know why it worked with a breakpoint set, but hey! It works now :)   