You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@guacamole.apache.org by "corentin-soriano (via GitHub)" <gi...@apache.org> on 2024/11/04 20:36:48 UTC
[PR] GUACAMOLE-1997: Fix issue on screen resize with freerdp >= 3.8.0. [guacamole-server]
corentin-soriano opened a new pull request, #563:
URL: https://github.com/apache/guacamole-server/pull/563
With freerdp >= 3.8.0, we can't resize with "display-update":
```
guacd[609180]: DEBUG: Display update channel will be used for display size changes.
guacd[609180]: DEBUG: {Microsoft::Windows::RDS::DisplayControl:16} OnOpen=(nil), OnClose=0x7f40b610b150
guacd[609180]: DEBUG: Server resized display to 768x583
GUAC_ASSERT in guac_rdp_gdi_end_paint() failed at gdi.c:102.
guacd[609080]: INFO: Connection "$3ec11dae-60d9-4820-9028-01a10f4e95f4" removed.
guacd[609080]: DEBUG: Unable to request termination of client process: No such process
guacd[609080]: DEBUG: All child processes for connection "$3ec11dae-60d9-4820-9028-01a10f4e95f4" have been terminated.
```
Caused by this bugfix in freerdp: https://github.com/FreeRDP/FreeRDP/pull/10488
Freerdp triggers EndPaint first when resizing to ensure there are no unfinished BeginPaints.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: dev-unsubscribe@guacamole.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] GUACAMOLE-1997: Fix issue on screen resize with freerdp >= 3.8.0. [guacamole-server]
Posted by "mike-jumper (via GitHub)" <gi...@apache.org>.
mike-jumper merged PR #563:
URL: https://github.com/apache/guacamole-server/pull/563
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: dev-unsubscribe@guacamole.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] GUACAMOLE-1997: Fix issue on screen resize with freerdp >= 3.8.0. [guacamole-server]
Posted by "mike-jumper (via GitHub)" <gi...@apache.org>.
mike-jumper commented on PR #563:
URL: https://github.com/apache/guacamole-server/pull/563#issuecomment-2455824677
> Freerdp triggers EndPaint first when resizing to ensure there are no unfinished BeginPaints.
I'm a little concerned about that fix in FreeRDP/FreeRDP#10488. Triggering an `EndPaint` without a corresponding `BeginPaint` sounds like broken behavior. I see a check in the FreeRDP PR that verifies whether `BeginPaint` was called, but that check doesn't happen until _after_ `EndPaint` has been called.
I'll read through the surrounding code on our end a bit deeper, but my main concern is that this change in behavior could cause a race condition in the handling of "Display Update" vs. GDI updates.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: dev-unsubscribe@guacamole.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] GUACAMOLE-1997: Fix issue on screen resize with freerdp >= 3.8.0. [guacamole-server]
Posted by "corentin-soriano (via GitHub)" <gi...@apache.org>.
corentin-soriano commented on code in PR #563:
URL: https://github.com/apache/guacamole-server/pull/563#discussion_r1828851728
##########
src/protocols/rdp/gdi.c:
##########
@@ -99,7 +99,10 @@ BOOL guac_rdp_gdi_end_paint(rdpContext* context) {
guac_display_layer* default_layer = guac_display_default_layer(rdp_client->display);
guac_display_layer_raw_context* current_context = rdp_client->current_context;
- GUAC_ASSERT(current_context != NULL);
+
+ /* Handle the case where EndPaint was called without BeginPaint */
Review Comment:
Documentation added!
Is this clear enough?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: dev-unsubscribe@guacamole.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] GUACAMOLE-1997: Fix issue on screen resize with freerdp >= 3.8.0. [guacamole-server]
Posted by "mike-jumper (via GitHub)" <gi...@apache.org>.
mike-jumper commented on code in PR #563:
URL: https://github.com/apache/guacamole-server/pull/563#discussion_r1828444483
##########
src/protocols/rdp/gdi.c:
##########
@@ -99,7 +99,10 @@ BOOL guac_rdp_gdi_end_paint(rdpContext* context) {
guac_display_layer* default_layer = guac_display_default_layer(rdp_client->display);
guac_display_layer_raw_context* current_context = rdp_client->current_context;
- GUAC_ASSERT(current_context != NULL);
+
+ /* Handle the case where EndPaint was called without BeginPaint */
Review Comment:
We should document that case here such that a developer reading the code will understand why we're doing this.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: dev-unsubscribe@guacamole.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] GUACAMOLE-1997: Fix issue on screen resize with freerdp >= 3.8.0. [guacamole-server]
Posted by "mike-jumper (via GitHub)" <gi...@apache.org>.
mike-jumper commented on code in PR #563:
URL: https://github.com/apache/guacamole-server/pull/563#discussion_r1835318399
##########
src/protocols/rdp/gdi.c:
##########
@@ -99,7 +99,10 @@ BOOL guac_rdp_gdi_end_paint(rdpContext* context) {
guac_display_layer* default_layer = guac_display_default_layer(rdp_client->display);
guac_display_layer_raw_context* current_context = rdp_client->current_context;
- GUAC_ASSERT(current_context != NULL);
+
+ /* Handle the case where EndPaint was called without BeginPaint */
Review Comment:
Yep - much better. Many thanks.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: dev-unsubscribe@guacamole.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org