Bug 19178

Summary: purple network callbacks don't work properly on Windows
Product: Telepathy Reporter: Sunil Mohan Adapa <sunil>
Component: hazeAssignee: Telepathy bugs list <telepathy-bugs>
Status: RESOLVED MOVED QA Contact: Telepathy bugs list <telepathy-bugs>
Severity: normal    
Priority: medium Keywords: patch
Version: unspecified   
Hardware: All   
OS: Windows (All)   
Whiteboard:
i915 platform: i915 features:
Attachments: Patch to fix the problem

Description Sunil Mohan Adapa 2008-12-19 02:46:58 UTC
Created attachment 21312 [details] [review]
Patch to fix the problem

We had problem connecting to ICQ and AIM on Spicebird with telepathy-haze. I traced back the problem to network socket data ready callback not back getting called sometimes even when there is data available on the socket. Haze is using g_io_channel_unix_new on all platforms and this seems to be causing the problem. Pidgin was using its own Windows wrapper for on Windows. Similar code for haze indeed fixed the problem.
Comment 1 Simon McVittie 2013-09-17 17:52:16 UTC
Comment on attachment 21312 [details] [review]
Patch to fix the problem

Review of attachment 21312 [details] [review]:
-----------------------------------------------------------------

::: src/main.c
@@ +106,5 @@
> +    static int use_glib_io_channel = -1;
> +        
> +    if (use_glib_io_channel == -1)
> +        use_glib_io_channel = (g_getenv("HAZE_GLIB_IO_CHANNEL") != NULL) ? 1 : 0;
> +#endif

If this is necessary to use Haze on Windows, why would you ever want to go back to g_io_channel_unix_new()?

@@ +118,5 @@
>          cond |= PURPLE_GLIB_WRITE_COND;
>  
> +#ifdef _WIN32
> +        if (use_glib_io_channel == 0)
> +                channel = wpurple_g_io_channel_win32_new_socket(fd);

Does this do something that g_io_channel_win32_new_socket() doesn't?
Comment 2 GitLab Migration User 2019-12-03 20:05:06 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/telepathy/telepathy-haze/issues/14.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.