Hello!

This problem has been solved by setting a callback dedicated to loading the 
channels during the context initialisation.
Indeed the main change from 2.11 to 3.8 is that a client common context has 
been created to provide channels callbacks and to avoid having to handle these 
manually.

In our case as we implemented our own callbacks for the context initialisation, 
we had to declare an extra "client->LoadChannels" callback. An example on how 
to declare the LoadChannels callback and how it is implemented is availble in 
the  freerdp_client_common_new(freerdp* instance, rdpContext* context) method 
of the client/common/client.c file.

Wish it had been documented in the freerdp migration guide.

Fabrice FRANCOIS
R&D Engineer
[Access Manager]
ffranc...@wallix.com
250 bis rue du Faubourg Saint-Honoré • 75008 Paris

________________________________
De : Fabrice FRANCOIS via FreeRDP-devel <freerdp-devel@lists.sourceforge.net>
Envoyé : mardi 8 octobre 2024 16:51
À : freerdp-devel@lists.sourceforge.net <freerdp-devel@lists.sourceforge.net>
Objet : [FreeRDP-devel] Clipboard issues in migration from 2.11 to 3.8

⚠ EXTERNAL EMAIL: This mail comes from outside the company.. When in doubt, 
contact the IT 
Helpdesk<https://fra01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fhelpdesk.wallix.com%2F&data=05%7C02%7Cffrancois%40wallix.com%7Cef2f1bd4d54b4e32478c08dce7b6104b%7Cf6bb2bd8b6f14c268e2b61c79722df19%7C1%7C0%7C638640016353176517%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=LARW6nTWxGAXK8ATfMQr%2F4a3jpEO5vX06nHGTyIDPDc%3D&reserved=0<https://helpdesk.wallix.com/>>.


Hi,

I have been working for several days on migrating our rdpclient implementation 
from a freerdp 2.11.7 to 3.8.0 code basis.
Our current implementation was working fine but upgrading have become a 
necessity.

As part of the migration process I've managed to compile freerdp for the use of 
our client implementation. I have now come to a point where  I struggle 
triggering the callbacks that are supposed to be called when the clipboard 
channel is connected.

Our rdpclient implementation is simply a reuse of the samples available in the 
source code in previous versions and I managed to make it work without too many 
changes. I have been looking to all the recent samples but I cannot find out 
why freerdp 3.8.0 prevents me to use the clipboard channel as it was working 
with 2.11.7.

So far, we've been using the PubSub_SubscribeChannelConnected() method in our 
preConnect() callback as it is used in many samples, but the call to 
utils_reload_channels(instance->context) in 
core/freerdp.c:freerdp_connect_begin() seems to destroy the channels pointer 
and prevents the freerdp_channels_post_connect() method to enter the loop that 
triggers the OnChannelConnected event.

Do I need to make a specific call somewhere outside my PreConnect() callback or 
do I need to open a ticket ?

Fabrice FRANCOIS

Fabrice FRANCOIS
R&D Engineer
[Access Manager]
ffranc...@wallix.com
250 bis rue du Faubourg Saint-Honoré • 75008 Paris
[twitter]<https://fra01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fsignature.wallix.com%2Fl%2FVDhvdkxwV0dJNmt4S1d0VDlrbjJ3dz09-VjFWNTBIYlNCUDdIbXlxKzJyRzFPUT09&data=05%7C02%7Cffrancois%40wallix.com%7Cef2f1bd4d54b4e32478c08dce7b6104b%7Cf6bb2bd8b6f14c268e2b61c79722df19%7C1%7C0%7C638640016353193790%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=aItb8ufQ4wiA%2BS4EVjdohIxoP5msGymly%2F1eSAc58t0%3D&reserved=0>
     [youtube] 
<https://fra01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fsignature.wallix.com%2Fl%2FVDhvdkxwV0dJNmt4S1d0VDlrbjJ3dz09-VHU5ZDFDM3h6QXJ6Qm9jSUVjb2Ftdz09&data=05%7C02%7Cffrancois%40wallix.com%7Cef2f1bd4d54b4e32478c08dce7b6104b%7Cf6bb2bd8b6f14c268e2b61c79722df19%7C1%7C0%7C638640016353208305%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=cIRW9BfCx6ycpdN4S09sw8Vx24ZrtJplMIDOmMm1yK0%3D&reserved=0<https://signature.wallix.com/l/VDhvdkxwV0dJNmt4S1d0VDlrbjJ3dz09-VHU5ZDFDM3h6QXJ6Qm9jSUVjb2Ftdz09>>
    [linkedin] 
<https://fra01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fsignature.wallix.com%2Fl%2FVDhvdkxwV0dJNmt4S1d0VDlrbjJ3dz09-eFZMaExNZWZGQjMvaVVJaDArTTl6Zz09&data=05%7C02%7Cffrancois%40wallix.com%7Cef2f1bd4d54b4e32478c08dce7b6104b%7Cf6bb2bd8b6f14c268e2b61c79722df19%7C1%7C0%7C638640016353219414%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=rCiKDmrG0a7xb7I1cYMt0jo0Pe7%2BMlYK1%2FbZawOKwdA%3D&reserved=0<https://signature.wallix.com/l/VDhvdkxwV0dJNmt4S1d0VDlrbjJ3dz09-eFZMaExNZWZGQjMvaVVJaDArTTl6Zz09>>
   [web] 
<https://fra01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fsignature.wallix.com%2Fl%2FVDhvdkxwV0dJNmt4S1d0VDlrbjJ3dz09-VzNGNG5oU1pWYjZRMTVQMUxBZ2xJZz09&data=05%7C02%7Cffrancois%40wallix.com%7Cef2f1bd4d54b4e32478c08dce7b6104b%7Cf6bb2bd8b6f14c268e2b61c79722df19%7C1%7C0%7C638640016353230271%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=Y%2Fe324pObeXWidqKeRoSHmuPXr5PfheHjrjJyywYLss%3D&reserved=0<https://signature.wallix.com/l/VDhvdkxwV0dJNmt4S1d0VDlrbjJ3dz09-VzNGNG5oU1pWYjZRMTVQMUxBZ2xJZz09>>

_______________________________________________
FreeRDP-devel mailing list
FreeRDP-devel@lists.sourceforge.net
https://fra01.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.sourceforge.net%2Flists%2Flistinfo%2Ffreerdp-devel&data=05%7C02%7Cffrancois%40wallix.com%7Cef2f1bd4d54b4e32478c08dce7b6104b%7Cf6bb2bd8b6f14c268e2b61c79722df19%7C1%7C0%7C638640016353240666%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=nCXQBf88EFriuSHV%2BbjMuQhpjRCZSu0ZsZD9BlXF0cA%3D&reserved=0<https://lists.sourceforge.net/lists/listinfo/freerdp-devel>

_______________________________________________
FreeRDP-devel mailing list
FreeRDP-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freerdp-devel

Reply via email to