1
0
Fork 0
mirror of git://git.code.sf.net/p/cdesktopenv/code synced 2025-02-15 04:32:24 +00:00

Merge branch 'master' into update-with-master

Resync one last time with master for 2.3 release tomorrow.
This commit is contained in:
Jon Trulson 2018-07-05 14:18:07 -06:00
commit 87ad4219da
3 changed files with 36 additions and 5 deletions

View file

@ -14,9 +14,10 @@ DEPEND_DEFINES = $(CXXDEPENDINCLUDES) $(DEPENDDEFINES)
#include "../tooltalk.tmpl"
DEFINES =
DEFINES = $(TIRPC_DEFINES)
INCLUDES = $(TIRPCINC) -I. -I../lib
SRCS = \
mp_ce_attrs.C mp_observer.C mp_observer_utils.C \
mp_otype.C mp_otype_utils.C mp_ptype.C \

View file

@ -158,9 +158,32 @@ init(void (*service_fn)(struct svc_req *, SVCXPRT *))
_tt_syslog(0, LOG_ERR, "setsockopt(SO_SNDBUF): %m");
}
_transp = svctcp_create(_socket, buffersize, buffersize);
if (_transp == (SVCXPRT *)0) {
return(0);
}
#if defined(OPT_TIRPC)
/* JET: HACK WARNING 7/1/18
*
* With earlier versions of RPC and TIRPC it seems that
* svctcp_create() calles listen() on the socket (as seen by
* debugger and strace). This is the expected behavior in TT.
*
* However, with newer systems (ArchLinux 5/18+ and similar
* bleeding edge versions of SuSE's equivalent: Tumbleweed),
* this behavior seems to have changed.
*
* ttsession goes into an infinite loop trying to accept() a
* connection in the TIRPC library. It appears listen() is no
* longer called on the socket via svctcp_create(). The hack
* below, always causes listen() to be called on the socket.
* We do not care if it fails, or is called twice on the same
* socket.
*/
listen(_socket, 5);
#endif
if ( !svc_register(_transp, _program, _version,
(SERVICE_FN_TYPE)service_fn, IPPROTO_TCP)
|| !svc_register(_transp, _program, 1,

View file

@ -4316,11 +4316,18 @@ MakeAppearanceResources (WmScreenData *pSD, AppearanceData *pAData, Boolean make
if (! XmeRenderTableGetDefaultFont(pAData->fontList, &(pAData->font)))
{
sprintf((char *)wmGD.tmpBuffer, ((char *)GETMESSAGE(62, 23, "failed to load font: %.100s\0")), (char*) pAData->fontList);
Warning((char *)wmGD.tmpBuffer);
#if 0
/* This always prints garbage on failure, which seems to
* always happen at least 1-3 times on startup.
*/
sprintf((char *)wmGD.tmpBuffer,
((char *)GETMESSAGE(62, 23, "failed to load font: %.100s\0")), (char*) pAData->fontList);
#endif
Warning("XmeRenderTableGetDefaultFont() failed, trying a fixed font");
#if defined(CSRG_BASED) || defined(__linux__)
/* HACK to try get _some_ font anyway (fontList seems to end up as an empty list on
* some modern systems; investigate) */
/* HACK to try get _some_ font anyway (fontList seems to end
* up as an empty list on some modern systems; investigate) */
pAData->font = XLoadQueryFont(wmGD.display, "fixed");
if (pAData->font == NULL)
{