Overview
Examples
Screenshots
Comparisons
Applications
Download
Documentation
Tutorials
Bazaar
Status & Roadmap
FAQ
Authors & License
Forums
Funding Ultimate++
Search on this site
Search in forums












SourceForge.net Logo
Home » Community » Coffee corner » U++ bug (freezed screen) related to Dual Display
U++ bug (freezed screen) related to Dual Display [message #60552] Sun, 28 April 2024 04:57 Go to next message
Lance is currently offline  Lance
Messages: 542
Registered: March 2007
Contributor
Sorry but I cannot find a proper category/topic to put it.

It has been bothering me for quite a while. Today I did a test with theide, the same problem happened.

Environment: Ubuntu Linux 22.04.04 LTS
Settings: Dual display with "Join Displays", i.e., as if two displays butt each other side by side.
Trigering: I don't know exactly. But just open theide with some package. Then go to do something else, like web browsing and completely forget about theide. After a while of like a few minutes, go back to theide, test if it happened. If not, go do something else and come back to test it again. And yes, it will happen.

Observation: The menu responds; resizing window, moving window all function properly. But the window fails to update itself.

See attached video for an idea.

BR,
Lance

[Updated on: Sun, 28 April 2024 05:03]

Report message to a moderator

Re: U++ bug (freezed screen) related to Dual Display [message #60607 is a reply to message #60552] Sun, 02 June 2024 17:51 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 14000
Registered: November 2005
Ultimate Member
Hi,

sorry for the delay... Finally got to connecting 2 displays... Smile Anyway, everything seems fine so far.

Are your displays of the same size?

Mirek
Re: U++ bug (freezed screen) related to Dual Display [message #60610 is a reply to message #60607] Sun, 02 June 2024 22:10 Go to previous messageGo to next message
Lance is currently offline  Lance
Messages: 542
Registered: March 2007
Contributor
Hi Mirek,

Thank you for your attention to this matter.

Yes, both my displays are of the same size.

I updated theide to version 17135 and did like half hour test, the problem seemed to disappear. I will keep testing to see if it come back again and if yes, what exactly triggers it.

BR,

Lance
Re: U++ bug (freezed screen) related to Dual Display [message #60611 is a reply to message #60610] Mon, 03 June 2024 04:45 Go to previous messageGo to next message
Lance is currently offline  Lance
Messages: 542
Registered: March 2007
Contributor
The problem remains. I cannot tell what exactly triggers it though. My application and some random project(bluebar this time) opened in theide were fine after left in background for hours. Then my laptop was put to suspension. As its resumed a while ago, theide was freezed, while my application remained functional.

See screenshot below.
Re: U++ bug (freezed screen) related to Dual Display [message #60612 is a reply to message #60611] Mon, 03 June 2024 11:15 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 14000
Registered: November 2005
Ultimate Member
What if you maximize/minimize/resize the window? Anything changes?
Re: U++ bug (freezed screen) related to Dual Display [message #60613 is a reply to message #60612] Mon, 03 June 2024 14:12 Go to previous messageGo to next message
Lance is currently offline  Lance
Messages: 542
Registered: March 2007
Contributor
Minimize and maximize restore its previous drawings. Whatever visible comeback, whatever blurred remain blurred.

I had one more occurence, but this time the screencast file is too big to upload (5.1M) with full screen size.
Re: U++ bug (freezed screen) related to Dual Display [message #60614 is a reply to message #60613] Mon, 03 June 2024 14:14 Go to previous messageGo to next message
Lance is currently offline  Lance
Messages: 542
Registered: March 2007
Contributor
Same story. It happens when my laptop restored from suspension. Surprisingly my own application remains functional again.
Re: U++ bug (freezed screen) related to Dual Display [message #60615 is a reply to message #60614] Mon, 03 June 2024 16:43 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 14000
Registered: November 2005
Ultimate Member
Lance wrote on Mon, 03 June 2024 14:14
Same story. It happens when my laptop restored from suspension. Surprisingly my own application remains functional again.


Maybe it is rather related to suspension instead of multimonitor?

Mirek
Re: U++ bug (freezed screen) related to Dual Display [message #60616 is a reply to message #60615] Mon, 03 June 2024 18:20 Go to previous messageGo to next message
Lance is currently offline  Lance
Messages: 542
Registered: March 2007
Contributor
No.

Without dual monitors, it never occurs; with dual monitors, if I play long enough, it occurs without being put to suspension.

That's my observations from previous experience.
Re: U++ bug (freezed screen) related to Dual Display [message #60619 is a reply to message #60616] Tue, 04 June 2024 14:51 Go to previous messageGo to next message
Lance is currently offline  Lance
Messages: 542
Registered: March 2007
Contributor
Today after I restored my computer from suspension, both my applicaiton and theide w/bluebar are functional. My application has survived like 10 suspension/resume and lasted 3-4 days with dual monitors, never as persistent before. Then I played around, moving theide w/bluebar between monitors, etc. It remains fine, but my application suddenly failed. theide it runs from remains functional.


Update June 5 10:49EST: both theidew/BlueBar and my application survived multiple suspensions/restorations without issues. It's significantly stabler than it used to be(before my recent update to upp ver 17135).

[Updated on: Wed, 05 June 2024 16:52]

Report message to a moderator

Re: U++ bug (freezed screen) related to Dual Display [message #60621 is a reply to message #60619] Sun, 09 June 2024 01:52 Go to previous messageGo to next message
Lance is currently offline  Lance
Messages: 542
Registered: March 2007
Contributor
I likely find a definite way to lead to a dual-monitor bug.

Get the second monitor ready, but don't actually plug it in yet. Make sure the dual display setting is set to join displays though.

1. Open theide, open an main package that will enable ScrollBar in the code editor, e.g., BlueBar.

2. Plug in the second monitor (e.g., through HDMI), wait until the second monitor is up;

3. Go back the theide with BlueBar, try to play with the ScrollBar on the code editor, say, click on upper, click on bottom, dragging, click on upper and hold, click on bottom and hold. One will observe the ScrollBar no longer functions normally.

PS: restarted my computer and confirmed the above procedure will break the ScrollBar. Not sure if it's the root cause of my problem but may well be related.

[Updated on: Sun, 09 June 2024 02:00]

Report message to a moderator

Re: U++ bug (freezed screen) related to Dual Display [message #60636 is a reply to message #60621] Sun, 16 June 2024 19:39 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 14000
Registered: November 2005
Ultimate Member
Well, adding / removing monitor while app is running leads me here:

CtrlCore/GtkWnd.cpp:221

Rect Ctrl::GetVirtualWorkArea()
{
	GuiLock __;
	static Rect r;
	if(r.right == 0) {
		r = GetPrimaryWorkArea();
		Array<Rect> rc;
		GetWorkArea(rc);
		for(int i = 0; i < rc.GetCount(); i++)
			r |= rc[i];
	}
	return r;
}

Rect Ctrl::GetVirtualScreenArea()
{
	GuiLock __;
	static Rect r;
	if(r.right == 0) {
		gint x, y, width, height;
		gdk_window_get_geometry(gdk_screen_get_root_window(gdk_screen_get_default()),
	                            &x, &y, &width, &height);
	    r = SCL(x, y, width, height);
	}
	return r;
}


- we only load geometry once

pls try to replace it with

Rect Ctrl::GetVirtualWorkArea()
{
	GuiLock __;
	Rect r;
		r = GetPrimaryWorkArea();
		Array<Rect> rc;
		GetWorkArea(rc);
		for(int i = 0; i < rc.GetCount(); i++)
			r |= rc[i];
	return r;
}

Rect Ctrl::GetVirtualScreenArea()
{
	GuiLock __;
	Rect r;
		gint x, y, width, height;
		gdk_window_get_geometry(gdk_screen_get_root_window(gdk_screen_get_default()),
	                            &x, &y, &width, &height);
	    r = SCL(x, y, width, height);
	return r;
}

Re: U++ bug (freezed screen) related to Dual Display [message #60640 is a reply to message #60636] Mon, 17 June 2024 21:04 Go to previous messageGo to next message
Lance is currently offline  Lance
Messages: 542
Registered: March 2007
Contributor
@Mirek Great, thanks! I will make the above modification and test again.
Re: U++ bug (freezed screen) related to Dual Display [message #60641 is a reply to message #60636] Mon, 17 June 2024 21:13 Go to previous message
Lance is currently offline  Lance
Messages: 542
Registered: March 2007
Contributor
Works like a charm! Highly suspect that it's the culprit for app freezing but I will keep watching. Thanks for the help!

July 2, 2024: I haven't tested it thoroughly or use it really extensively, but I haven't encounter a freeze ever since I adopted the changes provided by Mirek. I believe the problem is solved thereby.

[Updated on: Wed, 03 July 2024 03:42]

Report message to a moderator

Previous Topic: [PROPOSAL]2Archive?
Goto Forum:
  


Current Time: Sat Jul 27 06:50:46 CEST 2024

Total time taken to generate the page: 0.02596 seconds