Created attachment 7002 patch I've noticed, that the xfce4-weather-plugin always shows local times in UTC instead of my local timezone. The reason is in function my_timegm() (weather-parsers.c). This function attempts to keep a current timezone, obtained with a call to g_getenv(), changes a timezone to UTC via g_setenv(), and then restores a current timezone to early saved one. But at least on FreeBSD there is a problem: g_getenv returns a pointer to the area, where system stores the environment. So my_timegm() keeps for a later use a pointer to current value of the TZ environment variable. A subsequent call to g_setenv() changes value of the TZ variable in-place, so now the saved pointer refers to a value which was set by g_setenv(), but not to a previous timezone. As result an attempt to restore current timezone does nothing. The attached patch resolves a problem.
This seems fine, thanks for the patch. I'll test it and also try to find some other FreeBSD user(s) to test it and if there is no negative feedback, apply this before releasing the next version.
I've pushed this to git master, so it will be included in the next release. Thanks for your patch. https://git.xfce.org/panel-plugins/xfce4-weather-plugin/commit/?id=701222e668699b192f7109d917851c69f4e6efb8