MATLAB Answers

0

How to avoid rrbox to generate black root window?

Asked by Walter Zimmer on 4 Jan 2017
Latest activity Commented on by Walter Zimmer on 4 May 2017
Using the simple program
figure(1);
set(gcf,'Units','normalized')
k = waitforbuttonpress;
rect_pos = rbbox;
annotation('rectangle',rect_pos,'Color','red')
and press the mouse button in the figure, all above the cursor becomes black (sometimes some old figures and part of Matlab IDE is visible)
ones I release the button and move the mouse over black parts, they return back to normal.
I'm using 2016b on Windows 10
Some advice on how to proceed is appreciated

  2 Comments

I do have the same problem. This started after applying the windows update in December 2016. Currently I found not workaround...
Try uninstalling Windows updates KB3207752 and possibly KB3210131 (see my answer below).

Sign in to comment.

4 Answers

Answer by Swathi Iyer on 4 May 2017
Edited by Swathi Iyer on 4 May 2017
 Accepted Answer

  1 Comment

Microsoft updates removed the problem. I assume the MS bug was removed.

Sign in to comment.


Answer by Mudambi Srivatsa on 9 Jan 2017

The black screen appearance while using the "rbbox" functionality is reproducible on some Windows machines. Currently, there is no workaround available for Windows 10. However, on some Windows 7 machines, switching to 16-bit color might resolve the issue.

  2 Comments

Is Mathworks working on this?
Until then, which alternative for rbbox is Mathworks suggesting?
I have the same bug, but it has only cropped up recently (December 2016) on several Windows 7 machines, so I suspect something in a recent Windows update has caused this problem? The bug doesn't occur on a Windows 7 machine running 2015a that hasn't been updated in the last three months or so. For the other machines, the bug occurs both for 2015a and 2015b.
For what it's worth, this is the code I've tried (it's a snippet adapted from a more complex Matlab GUI we use extensively, so it would be nice if we can find the source of the problem):
testmat = ones(100,100);
figure(102)
imagesc(testmat)
t = waitforbuttonpress; % wait for mouse button to be pressed
point1 = get(gca,'CurrentPoint'); % button down detected
finalRect = rbbox; % return figure units
point2 = get(gca,'CurrentPoint'); % button up detected
Up until the last month, rbbox has posed no problems. Everything still works (you can just click on the Matlab command window and the screen goes back to normal), but it's annoying to be doing this all the time.

Sign in to comment.


Answer by Ana Rakonjac on 12 Jan 2017

I have found a workaround for Windows 7, but unfortunately I can't help with Windows 10! Perhaps a similar approach might work, however!
I looked through the list of updates for Windows 7 in the last month and uninstalled a couple that I suspected could be responsible. I have uninstalled the following two updates, which got rid of the problem: KB3207752 (security update) KB3210131 (some generic update)
I uninstalled KB3210131 first, which didn't help, and then I uninstalled KB3207752, which fixed the problem, so it's either the security update or both updates. I did not reinstall KB3210131 to confirm. Obviously, uninstalling security updates is not a good fix for a problem! I have no idea what's actually in these updates, so someone with more Windows knowledge might have more insight. I'm hoping that January's security updates won't cause an issue, so we can continue happily using rbbox.

  1 Comment

I'd just like to add that after the January security update from Microsoft, the problem with the screen going black has manifested itself again, so I have had to uninstall it. The update in question is KB3212646.
Any proper solutions to this problem would be most welcome!

Sign in to comment.


Answer by Song
on 4 Mar 2017

Hi guys, I have exactly the same problem with rbbox() on my window10 machine in MT2016a. Does anyone know a workaround for this? It is really a big issue for my application :(

  2 Comments

Hi guys, after trying a little, I think I get a workaround by myself.
I added a while endless loop, watching for the mousebuttonup event, and then let the program flow go further. At least this solve the issue with distorted screen and still give me the same functionality, even though now no box lines can be seen. :P
Hope that this helps other who have the same isse here.
Would you mind sharing the code you are using for this?

Sign in to comment.