mirror of
git://git.code.sf.net/p/cdesktopenv/code
synced 2025-03-09 15:50:02 +00:00
dtsession: fix VU#497553
This commit is contained in:
parent
b4f3efb692
commit
9526740ddd
3 changed files with 47 additions and 8 deletions
|
@ -2215,6 +2215,7 @@ InitializeSpecificSession (
|
||||||
{
|
{
|
||||||
char *session_dir = (char *) XtMalloc(MAXPATHLEN);
|
char *session_dir = (char *) XtMalloc(MAXPATHLEN);
|
||||||
char *alt_dir = (char *) XtMalloc(MAXPATHLEN);
|
char *alt_dir = (char *) XtMalloc(MAXPATHLEN);
|
||||||
|
int len;
|
||||||
struct stat buf;
|
struct stat buf;
|
||||||
|
|
||||||
if (!InternSessionDir (session_option, disp))
|
if (!InternSessionDir (session_option, disp))
|
||||||
|
@ -2283,6 +2284,16 @@ InitializeSpecificSession (
|
||||||
|
|
||||||
if ((home = getenv ("HOME")) == 0)
|
if ((home = getenv ("HOME")) == 0)
|
||||||
home = "";
|
home = "";
|
||||||
|
|
||||||
|
/* JET - VU#497553 */
|
||||||
|
len = strlen(home) +
|
||||||
|
strlen(DtPERSONAL_CONFIG_DIRECTORY) +
|
||||||
|
strlen(DtSM_SESSION_DIRECTORY) +
|
||||||
|
strlen(SM_HOME_DIRECTORY);
|
||||||
|
|
||||||
|
if (len > MAXPATHLEN)
|
||||||
|
alt_dir = XtRealloc(alt_dir, len + 1);
|
||||||
|
|
||||||
(void) sprintf (alt_dir, "%s/%s/%s/%s",
|
(void) sprintf (alt_dir, "%s/%s/%s/%s",
|
||||||
home,
|
home,
|
||||||
DtPERSONAL_CONFIG_DIRECTORY,
|
DtPERSONAL_CONFIG_DIRECTORY,
|
||||||
|
@ -2325,6 +2336,16 @@ InitializeSpecificSession (
|
||||||
*/
|
*/
|
||||||
if ((home = getenv ("HOME")) == 0)
|
if ((home = getenv ("HOME")) == 0)
|
||||||
home = "";
|
home = "";
|
||||||
|
|
||||||
|
/* JET - VU#497553 */
|
||||||
|
len = strlen(home) +
|
||||||
|
strlen(DtPERSONAL_CONFIG_DIRECTORY) +
|
||||||
|
strlen(DtSM_SESSION_DIRECTORY) +
|
||||||
|
strlen(SM_HOME_DIRECTORY);
|
||||||
|
|
||||||
|
if (len > MAXPATHLEN)
|
||||||
|
alt_dir = XtRealloc(alt_dir, len + 1);
|
||||||
|
|
||||||
(void) sprintf (alt_dir, "%s/%s/%s/%s",
|
(void) sprintf (alt_dir, "%s/%s/%s/%s",
|
||||||
home,
|
home,
|
||||||
DtPERSONAL_CONFIG_DIRECTORY,
|
DtPERSONAL_CONFIG_DIRECTORY,
|
||||||
|
|
|
@ -2116,6 +2116,7 @@ PostXSMPFailureDialog (
|
||||||
Dimension width, height;
|
Dimension width, height;
|
||||||
Position x, y;
|
Position x, y;
|
||||||
XEvent next;
|
XEvent next;
|
||||||
|
int len;
|
||||||
|
|
||||||
pch1 = strdup ((char *) GETMESSAGE(40, 1,
|
pch1 = strdup ((char *) GETMESSAGE(40, 1,
|
||||||
"A session cannot be started because of the\nfollowing error:"));
|
"A session cannot be started because of the\nfollowing error:"));
|
||||||
|
@ -2171,13 +2172,26 @@ PostXSMPFailureDialog (
|
||||||
|
|
||||||
error_file = XtMalloc(MAXPATHLEN+1);
|
error_file = XtMalloc(MAXPATHLEN+1);
|
||||||
strcpy (error_file, "");
|
strcpy (error_file, "");
|
||||||
if (check_errorlog) {
|
|
||||||
|
/* JET - VU#497553 */
|
||||||
|
if (check_errorlog)
|
||||||
|
{
|
||||||
char *home;
|
char *home;
|
||||||
|
|
||||||
if (home = getenv ("HOME"))
|
if (home = getenv ("HOME"))
|
||||||
sprintf (error_file, "%s/%s/%s", home, DtPERSONAL_CONFIG_DIRECTORY,
|
{
|
||||||
|
len = strlen(home) +
|
||||||
|
strlen(DtPERSONAL_CONFIG_DIRECTORY) +
|
||||||
|
strlen(DtERRORLOG_FILE);
|
||||||
|
|
||||||
|
if (len > MAXPATHLEN)
|
||||||
|
error_file = XtRealloc(error_file, len + 1);
|
||||||
|
|
||||||
|
sprintf (error_file, "%s/%s/%s", home,
|
||||||
|
DtPERSONAL_CONFIG_DIRECTORY,
|
||||||
DtERRORLOG_FILE);
|
DtERRORLOG_FILE);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
pch5 = XtMalloc (strlen (pch1) + strlen (pch2) + strlen (pch3) + strlen (pch4) +
|
pch5 = XtMalloc (strlen (pch1) + strlen (pch2) + strlen (pch3) + strlen (pch4) +
|
||||||
strlen (error_file) + 15);
|
strlen (error_file) + 15);
|
||||||
|
|
|
@ -91,13 +91,17 @@ void
|
||||||
SmXdefMerge(Display *display)
|
SmXdefMerge(Display *display)
|
||||||
{
|
{
|
||||||
char *xdefaults;
|
char *xdefaults;
|
||||||
|
char *home;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Load .Xdefaults
|
* Load .Xdefaults
|
||||||
*/
|
*/
|
||||||
if( (xdefaults = (char *)malloc(strlen(getenv("HOME"))+12)) != NULL)
|
if ((home = getenv("HOME")) == NULL)
|
||||||
|
home = "";
|
||||||
|
|
||||||
|
if( (xdefaults = (char *)malloc(strlen(home)+12)) != NULL)
|
||||||
{
|
{
|
||||||
sprintf(xdefaults,"%s/%s",getenv("HOME"),".Xdefaults");
|
sprintf(xdefaults,"%s/%s",home,".Xdefaults");
|
||||||
if(access(xdefaults,R_OK) == 0)
|
if(access(xdefaults,R_OK) == 0)
|
||||||
{
|
{
|
||||||
FILE *fp;
|
FILE *fp;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue