import motif-2.3.4-17.el8
This commit is contained in:
commit
7b9e87e324
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
SOURCES/motif-2.3.4-src.tgz
|
1
.motif.metadata
Normal file
1
.motif.metadata
Normal file
@ -0,0 +1 @@
|
||||
49ecfe2a0939232ca78ce318d938044e7f751b6d SOURCES/motif-2.3.4-src.tgz
|
815
SOURCES/motif-2.3.4-Fix-issues-with-Werror-format-security.patch
Normal file
815
SOURCES/motif-2.3.4-Fix-issues-with-Werror-format-security.patch
Normal file
@ -0,0 +1,815 @@
|
||||
From 4783fb4cec8624311bb87b2eb4a2ac94a5c7d849 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Petr=20=C5=A0abata?= <contyk@redhat.com>
|
||||
Date: Thu, 8 Jun 2017 12:12:04 +0200
|
||||
Subject: [PATCH] Fix issues with -Werror=format-security
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Signed-off-by: Petr Šabata <contyk@redhat.com>
|
||||
---
|
||||
lib/Mrm/Mrmhier.c | 4 +-
|
||||
lib/Mrm/Mrmicon.c | 4 +-
|
||||
lib/Mrm/Mrmlread.c | 2 +-
|
||||
lib/Mrm/Mrmwcrw.c | 4 +-
|
||||
tools/wml/wmldbcreate.c | 2 +-
|
||||
tools/wml/wmlouth.c | 128 ++++++++++++++++++++++++------------------------
|
||||
tools/wml/wmloutkey.c | 10 ++--
|
||||
tools/wml/wmloutmm.c | 16 +++---
|
||||
tools/wml/wmlresolve.c | 26 +++++-----
|
||||
9 files changed, 98 insertions(+), 98 deletions(-)
|
||||
|
||||
diff --git a/lib/Mrm/Mrmhier.c b/lib/Mrm/Mrmhier.c
|
||||
index 2712742..2a8703c 100644
|
||||
--- a/lib/Mrm/Mrmhier.c
|
||||
+++ b/lib/Mrm/Mrmhier.c
|
||||
@@ -264,10 +264,10 @@ Urm__OpenHierarchy (MrmCount num_files,
|
||||
case MrmSUCCESS:
|
||||
break;
|
||||
case MrmNOT_VALID:
|
||||
- sprintf (err_stg, _MrmMMsg_0113);
|
||||
+ sprintf (err_stg, "%s", _MrmMMsg_0113);
|
||||
break;
|
||||
default:
|
||||
- sprintf (err_stg, _MrmMMsg_0114);
|
||||
+ sprintf (err_stg, "%s", _MrmMMsg_0114);
|
||||
break;
|
||||
}
|
||||
}
|
||||
diff --git a/lib/Mrm/Mrmicon.c b/lib/Mrm/Mrmicon.c
|
||||
index 95d4086..191e2d2 100644
|
||||
--- a/lib/Mrm/Mrmicon.c
|
||||
+++ b/lib/Mrm/Mrmicon.c
|
||||
@@ -1176,7 +1176,7 @@ Urm__RealizeColorTable (Screen *screen,
|
||||
}
|
||||
break;
|
||||
default:
|
||||
- sprintf(err_msg, _MrmMMsg_0040);
|
||||
+ sprintf(err_msg, "%s", _MrmMMsg_0040);
|
||||
return Urm__UT_Error ("Urm__RelizeColorTable",
|
||||
err_msg, NULL, NULL, MrmFAILURE) ;
|
||||
}
|
||||
@@ -1252,7 +1252,7 @@ Urm__RealizeColorTable (Screen *screen,
|
||||
break;
|
||||
default:
|
||||
result = MrmFAILURE;
|
||||
- sprintf (err_msg, _MrmMMsg_0040);
|
||||
+ sprintf (err_msg, "%s", _MrmMMsg_0040);
|
||||
Urm__UT_Error ("Urm__RelizeColorTable",
|
||||
err_msg, NULL, NULL, MrmFAILURE) ;
|
||||
}
|
||||
diff --git a/lib/Mrm/Mrmlread.c b/lib/Mrm/Mrmlread.c
|
||||
index c2fd94c..be433a3 100644
|
||||
--- a/lib/Mrm/Mrmlread.c
|
||||
+++ b/lib/Mrm/Mrmlread.c
|
||||
@@ -698,7 +698,7 @@ MrmFetchColorLiteral (MrmHierarchy hierarchy_id,
|
||||
XBlackPixelOfScreen(XDefaultScreenOfDisplay(display)));
|
||||
break;
|
||||
default:
|
||||
- sprintf(err_msg, _MrmMMsg_0040);
|
||||
+ sprintf(err_msg, "%s", _MrmMMsg_0040);
|
||||
result = Urm__UT_Error ("MrmFetchColorLiteral",
|
||||
err_msg, NULL, NULL, MrmFAILURE) ;
|
||||
_MrmAppUnlock(app);
|
||||
diff --git a/lib/Mrm/Mrmwcrw.c b/lib/Mrm/Mrmwcrw.c
|
||||
index fe3db52..3c5857f 100644
|
||||
--- a/lib/Mrm/Mrmwcrw.c
|
||||
+++ b/lib/Mrm/Mrmwcrw.c
|
||||
@@ -1390,7 +1390,7 @@ Urm__CW_CreateArglist (Widget parent,
|
||||
}
|
||||
break;
|
||||
default:
|
||||
- sprintf (err_msg, _MrmMMsg_0040);
|
||||
+ sprintf (err_msg, "%s", _MrmMMsg_0040);
|
||||
result = Urm__UT_Error ("Urm__CW_ConvertValue",
|
||||
err_msg, NULL, NULL, MrmFAILURE) ;
|
||||
};
|
||||
@@ -2426,7 +2426,7 @@ Urm__CW_ConvertValue (Widget parent,
|
||||
}
|
||||
break;
|
||||
default:
|
||||
- sprintf(err_msg, _MrmMMsg_0040);
|
||||
+ sprintf(err_msg, "%s", _MrmMMsg_0040);
|
||||
return Urm__UT_Error ("Urm__CW_ConvertValue",
|
||||
err_msg, NULL, NULL, MrmFAILURE) ;
|
||||
};
|
||||
diff --git a/tools/wml/wmldbcreate.c b/tools/wml/wmldbcreate.c
|
||||
index 07c0a3c..6de585a 100644
|
||||
--- a/tools/wml/wmldbcreate.c
|
||||
+++ b/tools/wml/wmldbcreate.c
|
||||
@@ -425,7 +425,7 @@ int table_id;
|
||||
{
|
||||
fprintf (afile, "%d, ", entry_vec[j]);
|
||||
}
|
||||
- fprintf (afile, "\n");
|
||||
+ fprintf (afile, "%s", "\n");
|
||||
}
|
||||
}
|
||||
}
|
||||
diff --git a/tools/wml/wmlouth.c b/tools/wml/wmlouth.c
|
||||
index d2330e3..a52843f 100644
|
||||
--- a/tools/wml/wmlouth.c
|
||||
+++ b/tools/wml/wmlouth.c
|
||||
@@ -225,12 +225,12 @@ if ( outfil == (FILE *) NULL )
|
||||
printf ("\nCouldn't open UilSymGen.h");
|
||||
return;
|
||||
}
|
||||
-fprintf (outfil, canned_warn);
|
||||
+fprintf (outfil, "%s", canned_warn);
|
||||
|
||||
/*
|
||||
* Write the sym_k..._object literals
|
||||
*/
|
||||
-fprintf (outfil, canned1);
|
||||
+fprintf (outfil, "%s", canned1);
|
||||
for ( ndx=0 ; ndx<wml_obj_class_ptr->cnt ; ndx++ )
|
||||
{
|
||||
clsobj = (WmlClassDefPtr) wml_obj_class_ptr->hvec[ndx].objptr;
|
||||
@@ -244,7 +244,7 @@ for ( ndx=0 ; ndx<wml_obj_class_ptr->cnt ; ndx++ )
|
||||
/*
|
||||
* Define the sym_k_..._reason literals
|
||||
*/
|
||||
-fprintf (outfil, canned3);
|
||||
+fprintf (outfil, "%s", canned3);
|
||||
for ( ndx=0 ; ndx<wml_obj_reason_ptr->cnt ; ndx++ )
|
||||
{
|
||||
resobj = (WmlResourceDefPtr) wml_obj_reason_ptr->hvec[ndx].objptr;
|
||||
@@ -258,7 +258,7 @@ for ( ndx=0 ; ndx<wml_obj_reason_ptr->cnt ; ndx++ )
|
||||
/*
|
||||
* Define the sym_k_..._arg literals
|
||||
*/
|
||||
-fprintf (outfil, canned4);
|
||||
+fprintf (outfil, "%s", canned4);
|
||||
for ( ndx=0 ; ndx<wml_obj_arg_ptr->cnt ; ndx++ )
|
||||
{
|
||||
resobj = (WmlResourceDefPtr) wml_obj_arg_ptr->hvec[ndx].objptr;
|
||||
@@ -272,7 +272,7 @@ for ( ndx=0 ; ndx<wml_obj_arg_ptr->cnt ; ndx++ )
|
||||
/*
|
||||
* Define the sym_k_..._enumset structs and literals
|
||||
*/
|
||||
-fprintf (outfil, canned5);
|
||||
+fprintf (outfil, "%s", canned5);
|
||||
for ( ndx=0 ; ndx<wml_obj_enumset_ptr->cnt ; ndx++ )
|
||||
{
|
||||
enumsetobj = (WmlEnumSetDefPtr) wml_obj_enumset_ptr->hvec[ndx].objptr;
|
||||
@@ -286,7 +286,7 @@ for ( ndx=0 ; ndx<wml_obj_enumset_ptr->cnt ; ndx++ )
|
||||
/*
|
||||
* Define the sym_k_..._enumval literals
|
||||
*/
|
||||
-fprintf (outfil, canned6);
|
||||
+fprintf (outfil, "%s", canned6);
|
||||
for ( ndx=0 ; ndx<wml_obj_enumval_ptr->cnt ; ndx++ )
|
||||
{
|
||||
enumvalobj = (WmlEnumValueDefPtr) wml_obj_enumval_ptr->hvec[ndx].objptr;
|
||||
@@ -301,7 +301,7 @@ for ( ndx=0 ; ndx<wml_obj_enumval_ptr->cnt ; ndx++ )
|
||||
* Define the sym_k_..._charsize literals
|
||||
* Define the sym_k_..._charset literals
|
||||
*/
|
||||
-fprintf (outfil, canned7);
|
||||
+fprintf (outfil, "%s", canned7);
|
||||
for ( ndx=0 ; ndx<wml_obj_charset_ptr->cnt ; ndx++ )
|
||||
{
|
||||
charsetobj = (WmlCharSetDefPtr) wml_obj_charset_ptr->hvec[ndx].objptr;
|
||||
@@ -315,7 +315,7 @@ for ( ndx=0 ; ndx<wml_obj_charset_ptr->cnt ; ndx++ )
|
||||
/*
|
||||
* Define the sym_k_..._child literals
|
||||
*/
|
||||
-fprintf (outfil, canned8);
|
||||
+fprintf (outfil, "%s", canned8);
|
||||
for ( ndx=0 ; ndx<wml_obj_child_ptr->cnt ; ndx++ )
|
||||
{
|
||||
childobj = (WmlChildDefPtr) wml_obj_child_ptr->hvec[ndx].objptr;
|
||||
@@ -379,12 +379,12 @@ if ( outfil == (FILE *) NULL )
|
||||
printf ("\nCouldn't open UilSymChCL.h");
|
||||
return;
|
||||
}
|
||||
-fprintf (outfil, canned_warn);
|
||||
+fprintf (outfil, "%s", canned_warn);
|
||||
|
||||
/*
|
||||
* Create table entries, similar to writing sym_k...
|
||||
*/
|
||||
-fprintf (outfil, canned1);
|
||||
+fprintf (outfil, "%s", canned1);
|
||||
for ( ndx=0 ; ndx<wml_obj_child_ptr->cnt ; ndx++ )
|
||||
{
|
||||
childobj = (WmlChildDefPtr) wml_obj_child_ptr->hvec[ndx].objptr;
|
||||
@@ -392,7 +392,7 @@ for ( ndx=0 ; ndx<wml_obj_child_ptr->cnt ; ndx++ )
|
||||
fprintf (outfil, " sym_k_%s_object,\n",
|
||||
classobj->tkname);
|
||||
}
|
||||
-fprintf (outfil, canned1a);
|
||||
+fprintf (outfil, "%s", canned1a);
|
||||
|
||||
/*
|
||||
* close the output file
|
||||
@@ -446,12 +446,12 @@ if ( outfil == (FILE *) NULL )
|
||||
printf ("\nCouldn't open UilSymArTy.h");
|
||||
return;
|
||||
}
|
||||
-fprintf (outfil, canned_warn);
|
||||
+fprintf (outfil, "%s", canned_warn);
|
||||
|
||||
/*
|
||||
* Create table entries, similar to writing sym_k...
|
||||
*/
|
||||
-fprintf (outfil, canned1);
|
||||
+fprintf (outfil, "%s", canned1);
|
||||
for ( ndx=0 ; ndx<wml_obj_arg_ptr->cnt ; ndx++ )
|
||||
{
|
||||
resobj = (WmlResourceDefPtr) wml_obj_arg_ptr->hvec[ndx].objptr;
|
||||
@@ -459,7 +459,7 @@ for ( ndx=0 ; ndx<wml_obj_arg_ptr->cnt ; ndx++ )
|
||||
fprintf (outfil, " sym_k_%s_value,\n",
|
||||
datobj->tkname);
|
||||
}
|
||||
-fprintf (outfil, canned1a);
|
||||
+fprintf (outfil, "%s", canned1a);
|
||||
|
||||
/*
|
||||
* close the output file
|
||||
@@ -509,19 +509,19 @@ if ( outfil == (FILE *) NULL )
|
||||
printf ("\nCouldn't open UilSymRArg.h");
|
||||
return;
|
||||
}
|
||||
-fprintf (outfil, canned_warn);
|
||||
+fprintf (outfil, "%s", canned_warn);
|
||||
|
||||
/*
|
||||
* Create table entries, similar to writing sym_k...
|
||||
*/
|
||||
-fprintf (outfil, canned1);
|
||||
+fprintf (outfil, "%s", canned1);
|
||||
for ( ndx=0 ; ndx<wml_obj_arg_ptr->cnt ; ndx++ )
|
||||
{
|
||||
resobj = (WmlResourceDefPtr) wml_obj_arg_ptr->hvec[ndx].objptr;
|
||||
fprintf (outfil, " %d,\n",
|
||||
resobj->related_code);
|
||||
}
|
||||
-fprintf (outfil, canned1a);
|
||||
+fprintf (outfil, "%s", canned1a);
|
||||
|
||||
/*
|
||||
* close the output file
|
||||
@@ -621,12 +621,12 @@ if ( outfil == (FILE *) NULL )
|
||||
printf ("\nCouldn't open UilUrmClas.h");
|
||||
return;
|
||||
}
|
||||
-fprintf (outfil, canned_warn);
|
||||
+fprintf (outfil, "%s", canned_warn);
|
||||
|
||||
/*
|
||||
* Write entries for widgets
|
||||
*/
|
||||
-fprintf (outfil, canned1);
|
||||
+fprintf (outfil, "%s", canned1);
|
||||
for ( ndx=0 ; ndx<wml_obj_class_ptr->cnt ; ndx++ )
|
||||
{
|
||||
clsobj = (WmlClassDefPtr) wml_obj_class_ptr->hvec[ndx].objptr;
|
||||
@@ -637,7 +637,7 @@ for ( ndx=0 ; ndx<wml_obj_class_ptr->cnt ; ndx++ )
|
||||
else
|
||||
fprintf (outfil, " \"%s\",\t\n", synobj->convfunc);
|
||||
}
|
||||
-fprintf (outfil, canned2);
|
||||
+fprintf (outfil, "%s", canned2);
|
||||
|
||||
/*
|
||||
* Write entries for gadget variants of widget classes
|
||||
@@ -661,7 +661,7 @@ for ( ndx=0 ; ndx<wml_obj_class_ptr->cnt ; ndx++ )
|
||||
synobj->name);
|
||||
}
|
||||
}
|
||||
-fprintf (outfil, canned3);
|
||||
+fprintf (outfil, "%s", canned3);
|
||||
|
||||
/*
|
||||
* Write entries for non-dialog widgets
|
||||
@@ -685,7 +685,7 @@ for ( ndx=0 ; ndx<wml_obj_class_ptr->cnt ; ndx++ )
|
||||
synobj->name);
|
||||
}
|
||||
}
|
||||
-fprintf (outfil, canned4);
|
||||
+fprintf (outfil, "%s", canned4);
|
||||
|
||||
/*
|
||||
* Write entries for the resource a widget's controls map to
|
||||
@@ -701,7 +701,7 @@ for ( ndx=0 ; ndx<wml_obj_class_ptr->cnt ; ndx++ )
|
||||
else
|
||||
fprintf (outfil, " sym_k_%s_arg,\n", mapresobj->tkname);
|
||||
}
|
||||
-fprintf (outfil, canned5);
|
||||
+fprintf (outfil, "%s", canned5);
|
||||
|
||||
/*
|
||||
* Write entries for arguments
|
||||
@@ -714,7 +714,7 @@ for ( ndx=0 ; ndx<wml_obj_arg_ptr->cnt ; ndx++ )
|
||||
fprintf (outfil, " %s,\n",
|
||||
synres->resliteral);
|
||||
}
|
||||
-fprintf (outfil, canned6);
|
||||
+fprintf (outfil, "%s", canned6);
|
||||
|
||||
/*
|
||||
* Write entries for reasons
|
||||
@@ -727,7 +727,7 @@ for ( ndx=0 ; ndx<wml_obj_reason_ptr->cnt ; ndx++ )
|
||||
fprintf (outfil, " %s,\n",
|
||||
synres->resliteral);
|
||||
}
|
||||
-fprintf (outfil, canned7);
|
||||
+fprintf (outfil, "%s", canned7);
|
||||
|
||||
/*
|
||||
* close the output file
|
||||
@@ -781,13 +781,13 @@ if ( outfil == (FILE *) NULL )
|
||||
printf ("\nCouldn't open UilConst.h");
|
||||
return;
|
||||
}
|
||||
-fprintf (outfil, canned_warn);
|
||||
+fprintf (outfil, "%s", canned_warn);
|
||||
|
||||
/*
|
||||
* Process the arguments in code order. We start with 1, and write out
|
||||
* the mask after processing 8 codes.
|
||||
*/
|
||||
-fprintf (outfil, canned1);
|
||||
+fprintf (outfil, "%s", canned1);
|
||||
strcpy (maskbuf, "0");
|
||||
for ( ndx=0 ; ndx<wml_obj_arg_ptr->cnt ; ndx++ )
|
||||
{
|
||||
@@ -805,7 +805,7 @@ for ( ndx=0 ; ndx<wml_obj_arg_ptr->cnt ; ndx++ )
|
||||
}
|
||||
if ( bitno != 8 )
|
||||
fprintf (outfil, "%s", maskbuf);
|
||||
-fprintf (outfil, canned1a);
|
||||
+fprintf (outfil, "%s", canned1a);
|
||||
|
||||
/*
|
||||
* close the output file
|
||||
@@ -878,8 +878,8 @@ if ( outfil == (FILE *) NULL )
|
||||
printf ("\nCouldn't open UilSymReas.h");
|
||||
return;
|
||||
}
|
||||
-fprintf (outfil, canned_warn);
|
||||
-fprintf (outfil, canned1);
|
||||
+fprintf (outfil, "%s", canned_warn);
|
||||
+fprintf (outfil, "%s", canned1);
|
||||
|
||||
/*
|
||||
* Generate the bit vectors for each class. Outer loop on the reason code,
|
||||
@@ -919,19 +919,19 @@ for ( resndx=0 ; resndx<wml_obj_reason_ptr->cnt ; resndx++ )
|
||||
if ( itemno != 0 )
|
||||
fprintf (outfil, "%s 0};\n", maskbuf);
|
||||
else
|
||||
- fprintf (outfil, "};\n");
|
||||
+ fprintf (outfil, "%s", "};\n");
|
||||
}
|
||||
|
||||
/*
|
||||
* Write the vector of vectors.
|
||||
*/
|
||||
-fprintf (outfil, canned2);
|
||||
+fprintf (outfil, "%s", canned2);
|
||||
for ( resndx=0 ; resndx<wml_obj_reason_ptr->cnt ; resndx++ )
|
||||
{
|
||||
resobj = (WmlResourceDefPtr) wml_obj_reason_ptr->hvec[resndx].objptr;
|
||||
fprintf (outfil, " reason_class_vec%d,\n", resobj->sym_code);
|
||||
}
|
||||
-fprintf (outfil, canned3);
|
||||
+fprintf (outfil, "%s", canned3);
|
||||
|
||||
/*
|
||||
* close the output file
|
||||
@@ -1004,8 +1004,8 @@ if ( outfil == (FILE *) NULL )
|
||||
printf ("\nCouldn't open UilSymArTa.h");
|
||||
return;
|
||||
}
|
||||
-fprintf (outfil, canned_warn);
|
||||
-fprintf (outfil, canned1);
|
||||
+fprintf (outfil, "%s", canned_warn);
|
||||
+fprintf (outfil, "%s", canned1);
|
||||
|
||||
/*
|
||||
* Generate the bit vectors for each class. Outer loop on the argument code,
|
||||
@@ -1045,19 +1045,19 @@ for ( resndx=0 ; resndx<wml_obj_arg_ptr->cnt ; resndx++ )
|
||||
if ( itemno != 0 )
|
||||
fprintf (outfil, "%s 0};\n", maskbuf);
|
||||
else
|
||||
- fprintf (outfil, "};\n");
|
||||
+ fprintf (outfil, "%s", "};\n");
|
||||
}
|
||||
|
||||
/*
|
||||
* Write the vector of vectors.
|
||||
*/
|
||||
-fprintf (outfil, canned2);
|
||||
+fprintf (outfil, "%s", canned2);
|
||||
for ( resndx=0 ; resndx<wml_obj_arg_ptr->cnt ; resndx++ )
|
||||
{
|
||||
resobj = (WmlResourceDefPtr) wml_obj_arg_ptr->hvec[resndx].objptr;
|
||||
fprintf (outfil, " arg_class_vec%d,\n", resobj->sym_code);
|
||||
}
|
||||
-fprintf (outfil, canned3);
|
||||
+fprintf (outfil, "%s", canned3);
|
||||
|
||||
/*
|
||||
* close the output file
|
||||
@@ -1129,8 +1129,8 @@ if ( outfil == (FILE *) NULL )
|
||||
printf ("\nCouldn't open UilSymChTa.h");
|
||||
return;
|
||||
}
|
||||
-fprintf (outfil, canned_warn);
|
||||
-fprintf (outfil, canned1);
|
||||
+fprintf (outfil, "%s", canned_warn);
|
||||
+fprintf (outfil, "%s", canned1);
|
||||
|
||||
/*
|
||||
* Generate the bit vectors for each class. Outer loop on the child code,
|
||||
@@ -1168,19 +1168,19 @@ for ( childndx=0 ; childndx<wml_obj_child_ptr->cnt ; childndx++ )
|
||||
if ( itemno != 0 )
|
||||
fprintf (outfil, "%s 0};\n", maskbuf);
|
||||
else
|
||||
- fprintf (outfil, "};\n");
|
||||
+ fprintf (outfil, "%s", "};\n");
|
||||
}
|
||||
|
||||
/*
|
||||
* Write the vector of vectors.
|
||||
*/
|
||||
-fprintf (outfil, canned2);
|
||||
+fprintf (outfil, "%s", canned2);
|
||||
for ( childndx=0 ; childndx<wml_obj_child_ptr->cnt ; childndx++ )
|
||||
{
|
||||
childobj = (WmlChildDefPtr) wml_obj_child_ptr->hvec[childndx].objptr;
|
||||
fprintf (outfil, " child_class_vec%d,\n", childobj->sym_code);
|
||||
}
|
||||
-fprintf (outfil, canned3);
|
||||
+fprintf (outfil, "%s", canned3);
|
||||
|
||||
/*
|
||||
* close the output file
|
||||
@@ -1251,8 +1251,8 @@ if ( outfil == (FILE *) NULL )
|
||||
printf ("\nCouldn't open UilSymCtl.h");
|
||||
return;
|
||||
}
|
||||
-fprintf (outfil, canned_warn);
|
||||
-fprintf (outfil, canned1);
|
||||
+fprintf (outfil, "%s", canned_warn);
|
||||
+fprintf (outfil, "%s", canned1);
|
||||
|
||||
/*
|
||||
* Generate the bit vectors for each class. Outer loop on the class code,
|
||||
@@ -1290,19 +1290,19 @@ for ( ctlndx=0 ; ctlndx<wml_obj_class_ptr->cnt ; ctlndx++ )
|
||||
if ( itemno != 0 )
|
||||
fprintf (outfil, "%s 0};\n", maskbuf);
|
||||
else
|
||||
- fprintf (outfil, "};\n");
|
||||
+ fprintf (outfil, "%s", "};\n");
|
||||
}
|
||||
|
||||
/*
|
||||
* Write the vector of vectors.
|
||||
*/
|
||||
-fprintf (outfil, canned2);
|
||||
+fprintf (outfil, "%s", canned2);
|
||||
for ( ctlndx=0 ; ctlndx<wml_obj_class_ptr->cnt ; ctlndx++ )
|
||||
{
|
||||
clsobj = (WmlClassDefPtr) wml_obj_class_ptr->hvec[ctlndx].objptr;
|
||||
fprintf (outfil, " object_class_vec%d,\n", clsobj->sym_code);
|
||||
}
|
||||
-fprintf (outfil, canned3);
|
||||
+fprintf (outfil, "%s", canned3);
|
||||
|
||||
/*
|
||||
* close the output file
|
||||
@@ -1438,7 +1438,7 @@ if ( outfil == (FILE *) NULL )
|
||||
printf ("\nCouldn't open UilSymNam.h");
|
||||
return;
|
||||
}
|
||||
-fprintf (outfil, canned_warn);
|
||||
+fprintf (outfil, "%s", canned_warn);
|
||||
|
||||
/*
|
||||
* Write entries for widgets
|
||||
@@ -1517,7 +1517,7 @@ for ( ndx=0 ; ndx<wml_obj_child_ptr->cnt ; ndx++ )
|
||||
fprintf (outfil, " \"%s\",\n",
|
||||
synch->name);
|
||||
}
|
||||
-fprintf (outfil, canned7);
|
||||
+fprintf (outfil, "%s", canned7);
|
||||
|
||||
/*
|
||||
* close the output file
|
||||
@@ -1621,12 +1621,12 @@ if ( outfil == (FILE *) NULL )
|
||||
printf ("\nCouldn't open UilSymEnum.h");
|
||||
return;
|
||||
}
|
||||
-fprintf (outfil, canned_warn);
|
||||
+fprintf (outfil, "%s", canned_warn);
|
||||
|
||||
/*
|
||||
* Generate the enumeration value vectors for each enumeration set.
|
||||
*/
|
||||
-fprintf (outfil, canned1);
|
||||
+fprintf (outfil, "%s", canned1);
|
||||
for ( ndx=0 ; ndx<wml_obj_enumset_ptr->cnt ; ndx++ )
|
||||
{
|
||||
enumsetobj = (WmlEnumSetDefPtr) wml_obj_enumset_ptr->hvec[ndx].objptr;
|
||||
@@ -1637,13 +1637,13 @@ for ( ndx=0 ; ndx<wml_obj_enumset_ptr->cnt ; ndx++ )
|
||||
fprintf (outfil, " %d,\n",
|
||||
evobj->sym_code);
|
||||
}
|
||||
- fprintf (outfil, " };\n");
|
||||
+ fprintf (outfil, "%s", " };\n");
|
||||
}
|
||||
|
||||
/*
|
||||
* Generate the enumeration set tables
|
||||
*/
|
||||
-fprintf (outfil, canned3);
|
||||
+fprintf (outfil, "%s", canned3);
|
||||
for ( ndx=0 ; ndx<wml_obj_enumset_ptr->cnt ; ndx++ )
|
||||
{
|
||||
enumsetobj = (WmlEnumSetDefPtr) wml_obj_enumset_ptr->hvec[ndx].objptr;
|
||||
@@ -1655,7 +1655,7 @@ for ( ndx=0 ; ndx<wml_obj_enumset_ptr->cnt ; ndx++ )
|
||||
/*
|
||||
* Create enumset table entries for arguments, similar to writing sym_k...
|
||||
*/
|
||||
-fprintf (outfil, canned4);
|
||||
+fprintf (outfil, "%s", canned4);
|
||||
for ( ndx=0 ; ndx<wml_obj_arg_ptr->cnt ; ndx++ )
|
||||
{
|
||||
resobj = (WmlResourceDefPtr) wml_obj_arg_ptr->hvec[ndx].objptr;
|
||||
@@ -1669,13 +1669,13 @@ for ( ndx=0 ; ndx<wml_obj_arg_ptr->cnt ; ndx++ )
|
||||
/*
|
||||
* Create the enumval values table.
|
||||
*/
|
||||
-fprintf (outfil, canned5);
|
||||
+fprintf (outfil, "%s", canned5);
|
||||
for ( ndx=0 ; ndx<wml_obj_enumval_ptr->cnt ; ndx++ )
|
||||
{
|
||||
evobj = (WmlEnumValueDefPtr) wml_obj_enumval_ptr->hvec[ndx].objptr;
|
||||
fprintf (outfil, " %s,\n", evobj->syndef->enumlit);
|
||||
}
|
||||
-fprintf (outfil, canned5a);
|
||||
+fprintf (outfil, "%s", canned5a);
|
||||
|
||||
/*
|
||||
* close the output file
|
||||
@@ -1813,12 +1813,12 @@ if ( outfil == (FILE *) NULL )
|
||||
printf ("\nCouldn't open UilSymCSet.h");
|
||||
return;
|
||||
}
|
||||
-fprintf (outfil, canned_warn);
|
||||
+fprintf (outfil, "%s", canned_warn);
|
||||
|
||||
/*
|
||||
* Generate the standards name table
|
||||
*/
|
||||
-fprintf (outfil, canned1);
|
||||
+fprintf (outfil, "%s", canned1);
|
||||
for ( ndx=0 ; ndx<wml_obj_charset_ptr->cnt ; ndx++ )
|
||||
{
|
||||
csobj = (WmlCharSetDefPtr) wml_obj_charset_ptr->hvec[ndx].objptr;
|
||||
@@ -1836,7 +1836,7 @@ for ( ndx=0 ; ndx<wml_obj_charset_ptr->cnt ; ndx++ )
|
||||
/*
|
||||
* Generate the writing direction table
|
||||
*/
|
||||
-fprintf (outfil, canned2);
|
||||
+fprintf (outfil, "%s", canned2);
|
||||
for ( ndx=0 ; ndx<wml_obj_charset_ptr->cnt ; ndx++ )
|
||||
{
|
||||
csobj = (WmlCharSetDefPtr) wml_obj_charset_ptr->hvec[ndx].objptr;
|
||||
@@ -1858,7 +1858,7 @@ for ( ndx=0 ; ndx<wml_obj_charset_ptr->cnt ; ndx++ )
|
||||
/*
|
||||
* Generate the parsing direction table
|
||||
*/
|
||||
-fprintf (outfil, canned3);
|
||||
+fprintf (outfil, "%s", canned3);
|
||||
for ( ndx=0 ; ndx<wml_obj_charset_ptr->cnt ; ndx++ )
|
||||
{
|
||||
csobj = (WmlCharSetDefPtr) wml_obj_charset_ptr->hvec[ndx].objptr;
|
||||
@@ -1880,7 +1880,7 @@ for ( ndx=0 ; ndx<wml_obj_charset_ptr->cnt ; ndx++ )
|
||||
/*
|
||||
* Generate the character size table
|
||||
*/
|
||||
-fprintf (outfil, canned4);
|
||||
+fprintf (outfil, "%s", canned4);
|
||||
for ( ndx=0 ; ndx<wml_obj_charset_ptr->cnt ; ndx++ )
|
||||
{
|
||||
csobj = (WmlCharSetDefPtr) wml_obj_charset_ptr->hvec[ndx].objptr;
|
||||
@@ -1906,7 +1906,7 @@ for ( ndx=0 ; ndx<wml_obj_charset_ptr->cnt ; ndx++ )
|
||||
/*
|
||||
* Generate the $LANG name recognition table
|
||||
*/
|
||||
-fprintf (outfil, canned5);
|
||||
+fprintf (outfil, "%s", canned5);
|
||||
lang_max = 0;
|
||||
for ( ndx=0 ; ndx<wml_obj_charset_ptr->cnt ; ndx++ )
|
||||
{
|
||||
@@ -1936,7 +1936,7 @@ for ( ndx=0 ; ndx<wml_obj_charset_ptr->cnt ; ndx++ )
|
||||
/*
|
||||
* Generate the $LANG code lookup table, in upper case
|
||||
*/
|
||||
-fprintf (outfil, canned6);
|
||||
+fprintf (outfil, "%s", canned6);
|
||||
for ( ndx=0 ; ndx<wml_obj_charset_ptr->cnt ; ndx++ )
|
||||
{
|
||||
csobj = (WmlCharSetDefPtr) wml_obj_charset_ptr->hvec[ndx].objptr;
|
||||
diff --git a/tools/wml/wmloutkey.c b/tools/wml/wmloutkey.c
|
||||
index af42f22..4c14728 100644
|
||||
--- a/tools/wml/wmloutkey.c
|
||||
+++ b/tools/wml/wmloutkey.c
|
||||
@@ -574,16 +574,16 @@ if ( outfil == NULL )
|
||||
printf ("\nCouldn't open UilKeyTab.h");
|
||||
return;
|
||||
}
|
||||
-fprintf (outfil, canned_warn);
|
||||
+fprintf (outfil, "%s", canned_warn);
|
||||
|
||||
/*
|
||||
* Print the case sensitive and insensitive tables
|
||||
*/
|
||||
-fprintf (outfil, canned1);
|
||||
+fprintf (outfil, "%s", canned1);
|
||||
wmlOutputUilKeyTabBody (outfil, wml_tok_sens_ptr, &maxlen, &maxkey);
|
||||
fprintf (outfil, canned2, maxlen, maxkey);
|
||||
wmlOutputUilKeyTabBody (outfil, wml_tok_insens_ptr, &maxlen, &maxkey);
|
||||
-fprintf (outfil, canned3);
|
||||
+fprintf (outfil, "%s", canned3);
|
||||
|
||||
/*
|
||||
* close the output file
|
||||
@@ -812,8 +812,8 @@ if ( outfil == NULL )
|
||||
printf ("\nCouldn't open UilTokName.h");
|
||||
return;
|
||||
}
|
||||
-fprintf (outfil, canned_warn);
|
||||
-fprintf (outfil, canned1);
|
||||
+fprintf (outfil, "%s", canned_warn);
|
||||
+fprintf (outfil, "%s", canned1);
|
||||
|
||||
/*
|
||||
* Print the token name entries
|
||||
diff --git a/tools/wml/wmloutmm.c b/tools/wml/wmloutmm.c
|
||||
index 84a97bb..dc8ec09 100644
|
||||
--- a/tools/wml/wmloutmm.c
|
||||
+++ b/tools/wml/wmloutmm.c
|
||||
@@ -209,9 +209,9 @@ int ctlndx; /* to access ordered vector */
|
||||
/*
|
||||
* Write out header information
|
||||
*/
|
||||
-fprintf (outfil, canned1);
|
||||
+fprintf (outfil, "%s", canned1);
|
||||
fprintf (outfil, "%s\n", name);
|
||||
-fprintf (outfil, canned2);
|
||||
+fprintf (outfil, "%s", canned2);
|
||||
|
||||
/*
|
||||
* Alphabetize the controls, reason, and argument lists
|
||||
@@ -264,7 +264,7 @@ while ( ctlref != NULL )
|
||||
rsnndx = 0;
|
||||
ctlndx = 0;
|
||||
if ( mm_ctl_ptr->cnt == 0 )
|
||||
- fprintf (outfil, "No children are supported");
|
||||
+ fprintf (outfil, "%s", "No children are supported");
|
||||
while ( rsnndx<mm_rsn_ptr->cnt || ctlndx<mm_ctl_ptr->cnt )
|
||||
{
|
||||
if ( ctlndx < mm_ctl_ptr->cnt )
|
||||
@@ -275,7 +275,7 @@ while ( rsnndx<mm_rsn_ptr->cnt || ctlndx<mm_ctl_ptr->cnt )
|
||||
ctlndx += 1;
|
||||
}
|
||||
else
|
||||
- fprintf (outfil, "@");
|
||||
+ fprintf (outfil, "%s", "@");
|
||||
|
||||
if ( rsnndx < mm_rsn_ptr->cnt )
|
||||
{
|
||||
@@ -285,9 +285,9 @@ while ( rsnndx<mm_rsn_ptr->cnt || ctlndx<mm_ctl_ptr->cnt )
|
||||
rsnndx += 1;
|
||||
}
|
||||
else
|
||||
- fprintf (outfil, "\n");
|
||||
+ fprintf (outfil, "%s", "\n");
|
||||
}
|
||||
-fprintf (outfil, canned3);
|
||||
+fprintf (outfil, "%s", canned3);
|
||||
|
||||
/*
|
||||
* Write out the argument table
|
||||
@@ -319,11 +319,11 @@ while ( argndx < mm_arg_ptr->cnt )
|
||||
argref->act_resource->syndef->dflt);
|
||||
}
|
||||
else
|
||||
- fprintf (outfil, " \n");
|
||||
+ fprintf (outfil, "%s", " \n");
|
||||
}
|
||||
argndx += 1;
|
||||
}
|
||||
-fprintf (outfil, canned4);
|
||||
+fprintf (outfil, "%s", canned4);
|
||||
|
||||
}
|
||||
|
||||
diff --git a/tools/wml/wmlresolve.c b/tools/wml/wmlresolve.c
|
||||
index 464ef29..3b8642c 100644
|
||||
--- a/tools/wml/wmlresolve.c
|
||||
+++ b/tools/wml/wmlresolve.c
|
||||
@@ -1340,7 +1340,7 @@ for ( ndx=0 ; ndx<wml_obj_allclass_ptr->cnt ; ndx++ )
|
||||
/*
|
||||
* close the output file
|
||||
*/
|
||||
-fprintf (outfil, "\n\n");
|
||||
+fprintf (outfil, "%s", "\n\n");
|
||||
printf ("\nCreated report file wml.report");
|
||||
fclose (outfil);
|
||||
|
||||
@@ -1369,14 +1369,14 @@ fprintf (outfil, "\n\n\nClass %s:", synobj->name);
|
||||
switch ( synobj->type )
|
||||
{
|
||||
case WmlClassTypeMetaclass:
|
||||
- fprintf (outfil, "\n Type: Metaclass\t");
|
||||
+ fprintf (outfil, "%s", "\n Type: Metaclass\t");
|
||||
if ( synobj->superclass != NULL )
|
||||
fprintf (outfil, "Superclass: %s\t", synobj->superclass);
|
||||
if ( synobj->parentclass != NULL )
|
||||
fprintf (outfil, "Parentclass: %s\t", synobj->parentclass);
|
||||
break;
|
||||
case WmlClassTypeWidget:
|
||||
- fprintf (outfil, "\n Type: Widget\t");
|
||||
+ fprintf (outfil, "%s", "\n Type: Widget\t");
|
||||
if ( synobj->superclass != NULL )
|
||||
fprintf (outfil, "Superclass: %s\t", synobj->superclass);
|
||||
if ( synobj->parentclass != NULL )
|
||||
@@ -1388,7 +1388,7 @@ switch ( synobj->type )
|
||||
fprintf (outfil, "Convenience function: %s", synobj->convfunc);
|
||||
break;
|
||||
case WmlClassTypeGadget:
|
||||
- fprintf (outfil, "\n Type: Gadget\t");
|
||||
+ fprintf (outfil, "%s", "\n Type: Gadget\t");
|
||||
if ( synobj->superclass != NULL )
|
||||
fprintf (outfil, "Superclass: %s\t", synobj->superclass);
|
||||
if ( synobj->parentclass != NULL )
|
||||
@@ -1414,19 +1414,19 @@ if ( clsobj->nondialog != NULL )
|
||||
* is intended to match the way resources are printed in the toolkit manual,
|
||||
* so that checking is as easy as possible.
|
||||
*/
|
||||
-fprintf (outfil, "\n Arguments:");
|
||||
+fprintf (outfil, "%s", "\n Arguments:");
|
||||
wmlResolvePrintClassArgs (outfil, clsobj);
|
||||
|
||||
/*
|
||||
* Print the reasons valid in the class
|
||||
*/
|
||||
-fprintf (outfil, "\n Reasons:");
|
||||
+fprintf (outfil, "%s", "\n Reasons:");
|
||||
wmlResolvePrintClassReasons (outfil, clsobj);
|
||||
|
||||
/*
|
||||
* Print the controls valid in the class
|
||||
*/
|
||||
-fprintf (outfil, "\n Controls:");
|
||||
+fprintf (outfil, "%s", "\n Controls:");
|
||||
for ( ndx=0 ; ndx<wml_obj_class_ptr->cnt ; ndx++ )
|
||||
{
|
||||
ctrlobj = (WmlClassDefPtr) wml_obj_class_ptr->hvec[ndx].objptr;
|
||||
@@ -1512,10 +1512,10 @@ for ( ndx=0 ; ndx<wml_obj_arg_ptr->cnt ; ndx++ )
|
||||
switch ( resref->exclude )
|
||||
{
|
||||
case WmlAttributeTrue:
|
||||
- fprintf (outfil, "\n\tExclude = True;");
|
||||
+ fprintf (outfil, "%s", "\n\tExclude = True;");
|
||||
break;
|
||||
case WmlAttributeFalse:
|
||||
- fprintf (outfil, "\n\tExclude = False;");
|
||||
+ fprintf (outfil, "%s", "\n\tExclude = False;");
|
||||
break;
|
||||
}
|
||||
if ( resref->dflt != NULL )
|
||||
@@ -1558,10 +1558,10 @@ if ( constr )
|
||||
switch ( resref->exclude )
|
||||
{
|
||||
case WmlAttributeTrue:
|
||||
- fprintf (outfil, "\n\tExclude = True;");
|
||||
+ fprintf (outfil, "%s", "\n\tExclude = True;");
|
||||
break;
|
||||
case WmlAttributeFalse:
|
||||
- fprintf (outfil, "\n\tExclude = False;");
|
||||
+ fprintf (outfil, "%s", "\n\tExclude = False;");
|
||||
break;
|
||||
}
|
||||
if ( resref->dflt != NULL )
|
||||
@@ -1632,10 +1632,10 @@ for ( ndx=0 ; ndx<wml_obj_reason_ptr->cnt ; ndx++ )
|
||||
switch ( resref->exclude )
|
||||
{
|
||||
case WmlAttributeTrue:
|
||||
- fprintf (outfil, "\n\tExclude = True;");
|
||||
+ fprintf (outfil, "%s", "\n\tExclude = True;");
|
||||
break;
|
||||
case WmlAttributeFalse:
|
||||
- fprintf (outfil, "\n\tExclude = False;");
|
||||
+ fprintf (outfil, "%s", "\n\tExclude = False;");
|
||||
break;
|
||||
}
|
||||
resobj->ref_ptr = NULL;
|
||||
--
|
||||
2.13.0
|
||||
|
36
SOURCES/motif-2.3.4-bindings.patch
Normal file
36
SOURCES/motif-2.3.4-bindings.patch
Normal file
@ -0,0 +1,36 @@
|
||||
diff -up openmotif-2.3.3/configure.ac.bindings openmotif-2.3.3/configure.ac
|
||||
--- openmotif-2.3.3/configure.ac.bindings 2009-10-27 17:10:23.000000000 +0100
|
||||
+++ openmotif-2.3.3/configure.ac 2010-03-19 11:12:39.000000000 +0100
|
||||
@@ -185,7 +185,7 @@ AC_SUBST(MWMRCDIR)
|
||||
INCDIR="${includedir}/X11"
|
||||
AC_SUBST(INCDIR)
|
||||
|
||||
-XMBINDDIR_FALLBACK="${libdir}/X11/bindings"
|
||||
+XMBINDDIR_FALLBACK="${datadir}/X11/bindings"
|
||||
AC_SUBST(XMBINDDIR_FALLBACK)
|
||||
|
||||
RM="rm -f"
|
||||
diff -up openmotif-2.3.3/doc/man/man3/VirtualBindings.3.bindings openmotif-2.3.3/doc/man/man3/VirtualBindings.3
|
||||
--- openmotif-2.3.3/doc/man/man3/VirtualBindings.3.bindings 2005-07-20 13:47:21.000000000 +0200
|
||||
+++ openmotif-2.3.3/doc/man/man3/VirtualBindings.3 2010-03-19 11:11:42.000000000 +0100
|
||||
@@ -90,7 +90,7 @@ bindings contained in that file\&.
|
||||
If it has found no bindings, Motif next looks for the file
|
||||
\fBxmbind\&.alias\fP in the directory specified by the environment
|
||||
variable \fBXMBINDDIR\fP, if \fBXMBINDDIR\fP is set, or in the directory
|
||||
-\fB/usr/lib/Xm/bindings\fP if \fBXMBINDDIR\fP is not set\&.
|
||||
+\fB/usr/share/X11/bindings\fP if \fBXMBINDDIR\fP is not set\&.
|
||||
If this file exists Motif searches it for a pathname associated with the
|
||||
vendor string or with the vendor string and vendor release\&.
|
||||
If it finds such a pathname and if that file exists, Motif loads the
|
||||
diff -up openmotif-2.3.3/lib/Xm/XmosP.h.bindings openmotif-2.3.3/lib/Xm/XmosP.h
|
||||
--- openmotif-2.3.3/lib/Xm/XmosP.h.bindings 2002-06-17 22:36:30.000000000 +0200
|
||||
+++ openmotif-2.3.3/lib/Xm/XmosP.h 2010-03-19 11:11:42.000000000 +0100
|
||||
@@ -188,7 +188,7 @@ extern "C" {
|
||||
|
||||
#define XMBINDDIR "XMBINDDIR"
|
||||
#ifndef XMBINDDIR_FALLBACK
|
||||
-#define XMBINDDIR_FALLBACK "/usr/lib/Xm/bindings"
|
||||
+#define XMBINDDIR_FALLBACK "/usr/share/X11/bindings"
|
||||
#endif
|
||||
#define XMBINDFILE "xmbind.alias"
|
||||
#define MOTIFBIND ".motifbind"
|
449
SOURCES/motif-2.3.4-motifzone_1564-88bdce1.patch
Normal file
449
SOURCES/motif-2.3.4-motifzone_1564-88bdce1.patch
Normal file
@ -0,0 +1,449 @@
|
||||
commit 88bdce139baf89839b6e13d698576fc56211e845
|
||||
Author: Oleksiy Chernyavskyy <ochern@ics.com>
|
||||
Date: Wed Mar 16 00:46:49 2016 +0200
|
||||
|
||||
Reimplemented bugfix 1565
|
||||
|
||||
Signed-off-by: Oleksiy Chernyavskyy <ochern@ics.com>
|
||||
|
||||
diff --git a/lib/Xm/ComboBox.c b/lib/Xm/ComboBox.c
|
||||
index 1472e45..cf507da 100644
|
||||
--- a/lib/Xm/ComboBox.c
|
||||
+++ b/lib/Xm/ComboBox.c
|
||||
@@ -3164,6 +3164,9 @@ CreatePulldown(Widget parent,
|
||||
Arg args[4];
|
||||
ArgList merged_args;
|
||||
Cardinal n;
|
||||
+#ifdef FIX_1565
|
||||
+ XmGrabShellWidget grabsh;
|
||||
+#endif
|
||||
|
||||
n = 0;
|
||||
XtSetArg(args[n], XmNlayoutDirection, LayoutM(parent)), n++;
|
||||
@@ -3175,6 +3178,11 @@ CreatePulldown(Widget parent,
|
||||
merged_args, n + *num_args);
|
||||
XtFree((char*)merged_args);
|
||||
|
||||
+#ifdef FIX_1565
|
||||
+ grabsh = (XmGrabShellWidget) shell;
|
||||
+ grabsh->grab_shell.set_input_focus = False;
|
||||
+#endif
|
||||
+
|
||||
return shell;
|
||||
}
|
||||
|
||||
diff --git a/lib/Xm/DropDown.c b/lib/Xm/DropDown.c
|
||||
index 37fec03..5cd15ca 100644
|
||||
--- a/lib/Xm/DropDown.c
|
||||
+++ b/lib/Xm/DropDown.c
|
||||
@@ -2027,6 +2027,9 @@ CreatePopup(Widget w, ArgList args, Cardinal num_args)
|
||||
Arg *new_list, largs[10];
|
||||
Cardinal num_largs;
|
||||
Widget sb;
|
||||
+#ifdef FIX_1565
|
||||
+ XmGrabShellWidget grabsh;
|
||||
+#endif
|
||||
|
||||
num_largs = 0;
|
||||
XtSetArg(largs[num_largs], XmNoverrideRedirect, True); num_largs++;
|
||||
@@ -2040,6 +2043,10 @@ CreatePopup(Widget w, ArgList args, Cardinal num_args)
|
||||
xmGrabShellWidgetClass, w,
|
||||
new_list,
|
||||
num_largs + num_args);
|
||||
+#ifdef FIX_1565
|
||||
+ grabsh = (XmGrabShellWidget) XmDropDown_popup_shell(cbw);
|
||||
+ grabsh->grab_shell.set_input_focus = False;
|
||||
+#endif
|
||||
XtFree((char *) new_list);
|
||||
|
||||
#ifdef FIX_1446
|
||||
diff --git a/lib/Xm/GrabShell.c b/lib/Xm/GrabShell.c
|
||||
index 88f3154..af13e0b 100644
|
||||
--- a/lib/Xm/GrabShell.c
|
||||
+++ b/lib/Xm/GrabShell.c
|
||||
@@ -283,6 +283,10 @@ Initialize(Widget req, /* unused */
|
||||
|
||||
/* CR 9920: Popdown may be requested before MapNotify. */
|
||||
grabsh->grab_shell.mapped = False;
|
||||
+
|
||||
+#ifdef FIX_1565
|
||||
+ grabsh->grab_shell.set_input_focus = True;
|
||||
+#endif
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -395,8 +399,16 @@ MapNotifyHandler(Widget shell, XtPointer client_data,
|
||||
XGetInputFocus(XtDisplay(shell), &grabshell->grab_shell.old_focus,
|
||||
&grabshell->grab_shell.old_revert_to);
|
||||
old_handler = XSetErrorHandler(IgnoreXErrors);
|
||||
- XSetInputFocus(XtDisplay(shell), XtWindow(shell), RevertToParent, time);
|
||||
- XSync(XtDisplay(shell), False);
|
||||
+#ifdef FIX_1565
|
||||
+ if (! grabshell->grab_shell.set_input_focus) {
|
||||
+ XmForceGrabKeyboard(shell, time);
|
||||
+ } else {
|
||||
+#endif
|
||||
+ XSetInputFocus(XtDisplay(shell), XtWindow(shell), RevertToParent, time);
|
||||
+ XSync(XtDisplay(shell), False);
|
||||
+#ifdef FIX_1565
|
||||
+ }
|
||||
+#endif
|
||||
XSetErrorHandler(old_handler);
|
||||
}
|
||||
|
||||
diff --git a/lib/Xm/GrabShellP.h b/lib/Xm/GrabShellP.h
|
||||
index 92fe508..025f001 100644
|
||||
--- a/lib/Xm/GrabShellP.h
|
||||
+++ b/lib/Xm/GrabShellP.h
|
||||
@@ -30,6 +30,7 @@
|
||||
#include <Xm/GrabShell.h>
|
||||
#include <Xm/XmP.h>
|
||||
#include <X11/ShellP.h>
|
||||
+#include "XmI.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
@@ -55,6 +56,9 @@ typedef struct
|
||||
Boolean mapped;
|
||||
Window old_focus;
|
||||
int old_revert_to;
|
||||
+#ifdef FIX_1565
|
||||
+ Boolean set_input_focus;
|
||||
+#endif
|
||||
} XmGrabShellPart;
|
||||
|
||||
|
||||
diff --git a/lib/Xm/MenuShell.c b/lib/Xm/MenuShell.c
|
||||
index 2ed3dd8..9887087 100644
|
||||
--- a/lib/Xm/MenuShell.c
|
||||
+++ b/lib/Xm/MenuShell.c
|
||||
@@ -1514,9 +1514,7 @@ ChangeManaged(
|
||||
|
||||
/** the real grab ***/
|
||||
_XmMenuGrabKeyboardAndPointer((Widget)rowcol, _time);
|
||||
-#ifndef FIX_1565
|
||||
_XmMenuFocus(XtParent(rowcol), XmMENU_BEGIN, _time);
|
||||
-#endif
|
||||
|
||||
/* To support menu replay, keep the pointer in sync mode */
|
||||
XAllowEvents(XtDisplay(rowcol), SyncPointer, CurrentTime);
|
||||
diff --git a/lib/Xm/MenuUtil.c b/lib/Xm/MenuUtil.c
|
||||
index 1d88390..2fb6a27 100644
|
||||
--- a/lib/Xm/MenuUtil.c
|
||||
+++ b/lib/Xm/MenuUtil.c
|
||||
@@ -1053,11 +1053,7 @@ _XmMenuGrabKeyboardAndPointer(
|
||||
|
||||
register int status =
|
||||
(_XmGrabKeyboard(widget,
|
||||
-#ifdef FIX_1565
|
||||
- False,
|
||||
-#else
|
||||
True,
|
||||
-#endif
|
||||
GrabModeSync,
|
||||
GrabModeAsync,
|
||||
time) != GrabSuccess);
|
||||
diff --git a/lib/Xm/RCMenu.c b/lib/Xm/RCMenu.c
|
||||
index 2c698d4..8b156da 100644
|
||||
--- a/lib/Xm/RCMenu.c
|
||||
+++ b/lib/Xm/RCMenu.c
|
||||
@@ -85,6 +85,9 @@ static char *rcsid = "$TOG: RCMenu.c /main/25 1999/05/24 18:06:57 samborn $";
|
||||
#include "TraversalI.h"
|
||||
#include "UniqueEvnI.h"
|
||||
#include "VendorSI.h"
|
||||
+#ifdef FIX_1565
|
||||
+#include <Xm/GrabShell.h>
|
||||
+#endif
|
||||
|
||||
#define FIX_1535
|
||||
|
||||
@@ -943,6 +946,13 @@ _XmMenuFocus(
|
||||
XmMenuState mst = _XmGetMenuState((Widget)w);
|
||||
Window tmpWindow;
|
||||
int tmpRevert;
|
||||
+#ifdef FIX_1565
|
||||
+ Widget shell;
|
||||
+
|
||||
+ shell = w;
|
||||
+ while (! XtIsSubclass(shell, shellWidgetClass))
|
||||
+ shell = XtParent(shell);
|
||||
+#endif
|
||||
|
||||
if (_time == CurrentTime)
|
||||
_time = XtLastTimestampProcessed(XtDisplay(w));
|
||||
@@ -983,6 +993,11 @@ _XmMenuFocus(
|
||||
shell.popped_up))
|
||||
**/
|
||||
{
|
||||
+#ifdef FIX_1565
|
||||
+ if (XtIsSubclass(shell, xmGrabShellWidgetClass) || XtIsSubclass(shell, xmMenuShellWidgetClass))
|
||||
+ XmForceGrabKeyboard(w, _time);
|
||||
+ else
|
||||
+#endif
|
||||
SetInputFocus(XtDisplay(w), mst->RC_menuFocus.oldFocus,
|
||||
mst->RC_menuFocus.oldRevert,
|
||||
mst->RC_menuFocus.oldTime);
|
||||
@@ -996,6 +1011,11 @@ _XmMenuFocus(
|
||||
*/
|
||||
else
|
||||
{
|
||||
+#ifdef FIX_1565
|
||||
+ if (XtIsSubclass(shell, xmGrabShellWidgetClass) || XtIsSubclass(shell, xmMenuShellWidgetClass))
|
||||
+ XmForceGrabKeyboard(w, _time);
|
||||
+ else
|
||||
+#endif
|
||||
SetInputFocus(XtDisplay(w), mst->RC_menuFocus.oldFocus,
|
||||
mst->RC_menuFocus.oldRevert,
|
||||
mst->RC_menuFocus.oldTime);
|
||||
@@ -1014,6 +1034,11 @@ _XmMenuFocus(
|
||||
RC_menuFocus.oldFocus);
|
||||
mst->RC_menuFocus.oldTime = _time - 1;
|
||||
|
||||
+#ifdef FIX_1565
|
||||
+ if (XtIsSubclass(shell, xmGrabShellWidgetClass) || XtIsSubclass(shell, xmMenuShellWidgetClass))
|
||||
+ XmForceGrabKeyboard(w, _time);
|
||||
+ else
|
||||
+#endif
|
||||
SetInputFocus(XtDisplay(w), XtWindow(w), mst->RC_menuFocus.oldRevert,
|
||||
mst->RC_menuFocus.oldTime);
|
||||
|
||||
@@ -1027,6 +1052,11 @@ _XmMenuFocus(
|
||||
XGetInputFocus(XtDisplay(w), &tmpWindow, &tmpRevert);
|
||||
if (tmpWindow != XtWindow(w))
|
||||
{
|
||||
+#ifdef FIX_1565
|
||||
+ if (XtIsSubclass(shell, xmGrabShellWidgetClass) || XtIsSubclass(shell, xmMenuShellWidgetClass))
|
||||
+ XmForceGrabKeyboard(w, _time);
|
||||
+ else
|
||||
+#endif
|
||||
SetInputFocus(XtDisplay(w), XtWindow(w), tmpRevert, _time);
|
||||
|
||||
mst->RC_menuFocus.oldRevert = tmpRevert;
|
||||
@@ -1048,6 +1078,11 @@ _XmMenuFocus(
|
||||
|
||||
break;
|
||||
case XmMENU_MIDDLE:
|
||||
+#ifdef FIX_1565
|
||||
+ if (XtIsSubclass(shell, xmGrabShellWidgetClass) || XtIsSubclass(shell, xmMenuShellWidgetClass))
|
||||
+ XmForceGrabKeyboard(w, _time);
|
||||
+ else
|
||||
+#endif
|
||||
SetInputFocus(XtDisplay(w), XtWindow(w),
|
||||
mst->RC_menuFocus.oldRevert,
|
||||
mst->RC_menuFocus.oldTime);
|
||||
@@ -1062,6 +1097,11 @@ _XmMenuFocus(
|
||||
if ((tmpWindow != XtWindow(w)) &&
|
||||
(_time > mst->RC_menuFocus.oldTime))
|
||||
{
|
||||
+#ifdef FIX_1565
|
||||
+ if (XtIsSubclass(shell, xmGrabShellWidgetClass) || XtIsSubclass(shell, xmMenuShellWidgetClass))
|
||||
+ XmForceGrabKeyboard(w, _time);
|
||||
+ else
|
||||
+#endif
|
||||
SetInputFocus(XtDisplay(w), XtWindow(w), tmpRevert, _time);
|
||||
|
||||
mst->RC_menuFocus.oldRevert = tmpRevert;
|
||||
diff --git a/lib/Xm/Xm.c b/lib/Xm/Xm.c
|
||||
index 3dfd794..45d48b6 100644
|
||||
--- a/lib/Xm/Xm.c
|
||||
+++ b/lib/Xm/Xm.c
|
||||
@@ -40,6 +40,10 @@
|
||||
#ifdef FIX_345
|
||||
#include <X11/keysym.h>
|
||||
#endif
|
||||
+#ifdef FIX_1565
|
||||
+#include <Xm/GrabShell.h>
|
||||
+#include <Xm/MenuShell.h>
|
||||
+#endif
|
||||
|
||||
|
||||
/**************************************************************************
|
||||
@@ -530,3 +534,173 @@ _XmAssignInsensitiveColor(Widget w)
|
||||
return p;
|
||||
}
|
||||
#endif
|
||||
+
|
||||
+#ifdef FIX_1565
|
||||
+
|
||||
+typedef struct _GrabData GrabData;
|
||||
+struct _GrabData {
|
||||
+ Widget w;
|
||||
+ GrabData *next;
|
||||
+};
|
||||
+
|
||||
+static void _XmSendFocusEvent(Widget child, int type);
|
||||
+static void _XmStartDispatcher(Display *display);
|
||||
+static Boolean _XmEventDispatcher(XEvent *event);
|
||||
+static void UnmapHandler(Widget w, XtPointer client_data, XEvent *event, Boolean *cont);
|
||||
+static Boolean _UngrabKeyboard(Widget w);
|
||||
+
|
||||
+static GrabData *grabw_top = NULL;
|
||||
+static int xm_dispatcher_on = 0;
|
||||
+static XtEventDispatchProc saved_dispatcher_proc = NULL;
|
||||
+static XtEventDispatchProc xt_dispatcher_proc = NULL;
|
||||
+
|
||||
+/*
|
||||
+ XmForceGrabKeyboard function is defined to be a substitutor of XSetInputFocus calls
|
||||
+ for popup and pulldown menus that should grab keyboard focus yet main window at the
|
||||
+ same time should visually stay in focus for window manager. This resolves focus flip
|
||||
+ issue when popup or pulldown menu is raised. ~ochern
|
||||
+ */
|
||||
+void XmForceGrabKeyboard(Widget w, Time time)
|
||||
+{
|
||||
+ GrabData *grabw;
|
||||
+
|
||||
+ if (!w)
|
||||
+ return;
|
||||
+
|
||||
+ while (! XtIsSubclass(w, shellWidgetClass))
|
||||
+ w = XtParent(w);
|
||||
+
|
||||
+ if (! (XtIsSubclass(w, xmGrabShellWidgetClass) || XtIsSubclass(w, xmMenuShellWidgetClass)))
|
||||
+ return;
|
||||
+
|
||||
+ _XmStartDispatcher(XtDisplay(w));
|
||||
+
|
||||
+ _UngrabKeyboard(w);
|
||||
+
|
||||
+ grabw = (GrabData *) XtMalloc(sizeof(GrabData));
|
||||
+ grabw->w = w;
|
||||
+ _XmProcessLock();
|
||||
+ grabw->next = grabw_top;
|
||||
+ grabw_top = grabw;
|
||||
+ _XmProcessUnlock();
|
||||
+
|
||||
+ XtInsertEventHandler(w, StructureNotifyMask, False, UnmapHandler, NULL, XtListHead);
|
||||
+
|
||||
+ _XmSendFocusEvent(w, FocusIn);
|
||||
+
|
||||
+ /* Following the XSetInputFocus behaviour we force sending FocusOut (see XGrabKeyboard(3))
|
||||
+ event to a previous keyboard holder */
|
||||
+ XtGrabKeyboard(w, True, GrabModeAsync, GrabModeAsync, time);
|
||||
+}
|
||||
+
|
||||
+static void _XmStartDispatcher(Display *display)
|
||||
+{
|
||||
+ if (!display)
|
||||
+ return;
|
||||
+
|
||||
+ _XmProcessLock();
|
||||
+
|
||||
+ if (xm_dispatcher_on) {
|
||||
+ _XmProcessUnlock();
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ saved_dispatcher_proc = XtSetEventDispatcher(display, KeyPress, _XmEventDispatcher);
|
||||
+ if (! xt_dispatcher_proc)
|
||||
+ xt_dispatcher_proc = saved_dispatcher_proc;
|
||||
+ XtSetEventDispatcher(display, KeyRelease, _XmEventDispatcher);
|
||||
+ xm_dispatcher_on = 1;
|
||||
+
|
||||
+ _XmProcessUnlock();
|
||||
+}
|
||||
+
|
||||
+static Boolean _XmEventDispatcher(XEvent *event)
|
||||
+{
|
||||
+ _XmProcessLock();
|
||||
+ if (grabw_top) {
|
||||
+ if (event->type == KeyPress || event->type == KeyRelease)
|
||||
+ event->xany.window = XtWindow(grabw_top->w);
|
||||
+ }
|
||||
+ _XmProcessUnlock();
|
||||
+
|
||||
+ if (saved_dispatcher_proc) {
|
||||
+ return (*saved_dispatcher_proc)(event);
|
||||
+ } else if (xt_dispatcher_proc) {
|
||||
+ return (*xt_dispatcher_proc)(event);
|
||||
+ } else {
|
||||
+ if (grabw_top)
|
||||
+ XtSetEventDispatcher(XtDisplay(grabw_top->w), event->type, NULL);
|
||||
+ return XtDispatchEvent(event);
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+static void UnmapHandler(Widget w, XtPointer client_data, XEvent *event, Boolean *cont)
|
||||
+{
|
||||
+ if (event->type == UnmapNotify)
|
||||
+ _UngrabKeyboard(w);
|
||||
+ if (! grabw_top) {
|
||||
+ XtSetEventDispatcher(XtDisplay(w), KeyPress, saved_dispatcher_proc);
|
||||
+ XtSetEventDispatcher(XtDisplay(w), KeyRelease, saved_dispatcher_proc);
|
||||
+ xm_dispatcher_on = 0;
|
||||
+ }
|
||||
+
|
||||
+ /* we do not call XtUngrabKeyboard since X server automatically performs an
|
||||
+ UngrabKeyboard request if the event window for an active keyboard grab becomes
|
||||
+ not viewable. ~ochern */
|
||||
+}
|
||||
+
|
||||
+static Boolean _UngrabKeyboard(Widget w)
|
||||
+{
|
||||
+ GrabData *grabw, *grabw_prev;
|
||||
+
|
||||
+ _XmProcessLock();
|
||||
+ if (! grabw_top) {
|
||||
+ _XmProcessUnlock();
|
||||
+ return False;
|
||||
+ }
|
||||
+
|
||||
+ grabw = grabw_top;
|
||||
+ grabw_prev = NULL;
|
||||
+ while(grabw && grabw->w != w) {
|
||||
+ grabw_prev = grabw;
|
||||
+ grabw = grabw->next;
|
||||
+ }
|
||||
+ if (grabw) {
|
||||
+ if (grabw_prev)
|
||||
+ grabw_prev->next = grabw->next;
|
||||
+ else
|
||||
+ grabw_top = grabw->next;
|
||||
+ XtFree((char*) grabw);
|
||||
+
|
||||
+ _XmProcessUnlock();
|
||||
+ return True;
|
||||
+ }
|
||||
+
|
||||
+ _XmProcessUnlock();
|
||||
+ return False;
|
||||
+}
|
||||
+
|
||||
+static void _XmSendFocusEvent(Widget child, int type)
|
||||
+{
|
||||
+ child = XtIsWidget(child) ? child : _XtWindowedAncestor(child);
|
||||
+ if (XtIsSensitive(child) && !child->core.being_destroyed
|
||||
+ && XtIsRealized(child) && (XtBuildEventMask(child) & FocusChangeMask))
|
||||
+ {
|
||||
+ XFocusChangeEvent event;
|
||||
+ Display* dpy = XtDisplay (child);
|
||||
+
|
||||
+ event.type = type;
|
||||
+ event.serial = LastKnownRequestProcessed(dpy);
|
||||
+ event.send_event = True;
|
||||
+ event.display = dpy;
|
||||
+ event.window = XtWindow(child);
|
||||
+ event.mode = NotifyNormal;
|
||||
+ event.detail = NotifyAncestor;
|
||||
+ if (XFilterEvent((XEvent*)&event, XtWindow(child)))
|
||||
+ return;
|
||||
+ XtDispatchEventToWidget(child, (XEvent*)&event);
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+#endif
|
||||
+
|
||||
diff --git a/lib/Xm/XmI.h b/lib/Xm/XmI.h
|
||||
index b4420d3..c2b819e 100644
|
||||
--- a/lib/Xm/XmI.h
|
||||
+++ b/lib/Xm/XmI.h
|
||||
@@ -242,7 +242,9 @@ extern Boolean _XmIsISO10646(Display *dpy,
|
||||
extern XChar2b* _XmUtf8ToUcs2(char *draw_text,
|
||||
size_t seg_len,
|
||||
size_t *ret_str_len);
|
||||
-
|
||||
+#ifdef FIX_1565
|
||||
+extern void XmForceGrabKeyboard(Widget w, Time time);
|
||||
+#endif
|
||||
|
||||
/******** End Private Function Declarations ********/
|
||||
|
93
SOURCES/motif-2.3.4-mwmrc_dir.patch
Normal file
93
SOURCES/motif-2.3.4-mwmrc_dir.patch
Normal file
@ -0,0 +1,93 @@
|
||||
diff -up openmotif-2.3.3/clients/mwm/WmResParse.c.mwmrc_dir openmotif-2.3.3/clients/mwm/WmResParse.c
|
||||
--- openmotif-2.3.3/clients/mwm/WmResParse.c.mwmrc_dir 2009-06-22 23:51:51.000000000 +0200
|
||||
+++ openmotif-2.3.3/clients/mwm/WmResParse.c 2010-03-23 13:37:03.000000000 +0100
|
||||
@@ -2403,7 +2403,7 @@ FILE *FopenConfigFile (void)
|
||||
#endif /* PANELIST */
|
||||
|
||||
#ifndef MWMRCDIR
|
||||
-#define MWMRCDIR "/usr/lib/X11"
|
||||
+#define MWMRCDIR "/etc/X11/mwm"
|
||||
#endif
|
||||
if (LANG != NULL)
|
||||
{
|
||||
diff -up openmotif-2.3.3/configure.ac.mwmrc_dir openmotif-2.3.3/configure.ac
|
||||
--- openmotif-2.3.3/configure.ac.mwmrc_dir 2009-10-27 17:10:23.000000000 +0100
|
||||
+++ openmotif-2.3.3/configure.ac 2010-03-23 13:38:33.000000000 +0100
|
||||
@@ -179,7 +179,7 @@ AC_SUBST(CDE_CONFIGURATION_TOP)
|
||||
LIBDIR="${libdir}/X11"
|
||||
AC_SUBST(LIBDIR)
|
||||
|
||||
-MWMRCDIR="${libdir}/X11"
|
||||
+MWMRCDIR="/etc/X11/mwm"
|
||||
AC_SUBST(MWMRCDIR)
|
||||
|
||||
INCDIR="${includedir}/X11"
|
||||
diff -up openmotif-2.3.3/doc/man/man1/mwm.1.mwmrc_dir openmotif-2.3.3/doc/man/man1/mwm.1
|
||||
--- openmotif-2.3.3/doc/man/man1/mwm.1.mwmrc_dir 2002-01-05 16:21:11.000000000 +0100
|
||||
+++ openmotif-2.3.3/doc/man/man1/mwm.1 2010-03-23 13:37:03.000000000 +0100
|
||||
@@ -678,8 +678,8 @@ is set, \fBmwm\fP looks for \fI$HOME/$LA
|
||||
\fB$HOME\fP/\fBconfigFile\fP\&. If the \fIconfigFile\fP pathname does not begin with "~/" or "/", \fBmwm\fP considers it to be relative to the current working directory\&. If
|
||||
the \fIconfigFile\fP resource is not specified
|
||||
or if that file does not exist, \fBmwm\fP uses several default
|
||||
-paths to find a configuration file\&. The order of the search is shown below: \fB/usr/X11R6/lib/X11/$LANG/system\&.mwmrc\fP\(dg
|
||||
-\fB/usr/X11R6/lib/X11/system\&.mwmrc\fP\(dg Paths marked with \&'\(dg\&' are
|
||||
+paths to find a configuration file\&. The order of the search is shown below: \fB/etc/X11/mwm/$LANG/system\&.mwmrc\fP\(dg
|
||||
+\fB/etc/X11/mwm/system\&.mwmrc\fP\(dg Paths marked with \&'\(dg\&' are
|
||||
implementation dependent\&.
|
||||
.IP "\fIdeiconifyKeyFocus\fP\ (class\ \fIDeiconifyKeyFocus\fP)" 10
|
||||
This resource applies only when the keyboard input focus policy is explicit\&.
|
||||
@@ -1344,9 +1344,9 @@ the shell to use when executing commands
|
||||
function\&.
|
||||
.SS "Files"
|
||||
.PP
|
||||
-\fB/usr/X11R6/lib/X11/$LANG/system\&.mwmrc\fP
|
||||
+\fB/etc/X11/mwm/$LANG/system\&.mwmrc\fP
|
||||
.PP
|
||||
-\fB/usr/X11R6/lib/X11/system\&.mwmrc\fP
|
||||
+\fB/etc/X11/mwm/system\&.mwmrc\fP
|
||||
.PP
|
||||
\fB/usr/X11R6/lib/X11/app-defaults/Mwm\fP
|
||||
.PP
|
||||
diff -up openmotif-2.3.3/doc/man/man4/mwmrc.4.mwmrc_dir openmotif-2.3.3/doc/man/man4/mwmrc.4
|
||||
--- openmotif-2.3.3/doc/man/man4/mwmrc.4.mwmrc_dir 2002-01-05 16:21:12.000000000 +0100
|
||||
+++ openmotif-2.3.3/doc/man/man4/mwmrc.4 2010-03-23 13:37:03.000000000 +0100
|
||||
@@ -57,7 +57,7 @@ file that controls much of the behavior
|
||||
It contains descriptions of resources that cannot easily be
|
||||
written using standard X Window System, Version 11 resource syntax\&. The resource
|
||||
description file contains entries that are referred to by X resources in
|
||||
-defaults files (for example, \fB/usr/X11R6/lib/X11/app-defaults/Mwm\fP)
|
||||
+defaults files (for example, \fB/usr/share/X11/app-defaults/Mwm\fP)
|
||||
or in the \fBRESOURCE_MANAGER\fP property on the
|
||||
root window\&. For example, the resource description file enables you to specify
|
||||
different types of window menus; however, an X resource is used to specify
|
||||
@@ -72,8 +72,8 @@ on a per-user basis:
|
||||
.nf
|
||||
\f(CW$HOME/$LANG/\&.mwmrc
|
||||
$HOME/\&.mwmrc
|
||||
-/usr/X11R6/lib/X11/$LANG/system\&.mwmrc
|
||||
-/usr/X11R6/lib/X11/system\&.mwmrc\fR
|
||||
+/etc/X11/mwm/$LANG/system\&.mwmrc
|
||||
+/etc/X11/mwm/system\&.mwmrc\fR
|
||||
.fi
|
||||
.PP
|
||||
.PP
|
||||
@@ -84,7 +84,7 @@ resource\&. The following shows how a di
|
||||
be specified from the command line:
|
||||
.PP
|
||||
.nf
|
||||
-\f(CW/usr/X11R6/bin/X11/mwm -xrm "mwm*configFile: mymwmrc"\fR
|
||||
+\f(CW/usr/bin/mwm -xrm "mwm*configFile: mymwmrc"\fR
|
||||
.fi
|
||||
.PP
|
||||
.SS "Resource Types"
|
||||
@@ -626,8 +626,8 @@ is not what you expect\&.
|
||||
.nf
|
||||
\fB$HOME/$LANG/\&.mwmrc
|
||||
$HOME/\&.mwmrc
|
||||
-/usr/X11R6/lib/X11/$LANG/system\&.mwmrc
|
||||
-/usr/X11R6/lib/X11/system\&.mwmrc\fP
|
||||
+/etc/X11/mwm/$LANG/system\&.mwmrc
|
||||
+/etc/X11/mwm/system\&.mwmrc\fP
|
||||
.fi
|
||||
.SH "RELATED INFORMATION"
|
||||
.PP
|
13
SOURCES/motif-2.3.4-no_demos.patch
Normal file
13
SOURCES/motif-2.3.4-no_demos.patch
Normal file
@ -0,0 +1,13 @@
|
||||
diff -up openmotif-2.3.3/Makefile.am.no_demos openmotif-2.3.3/Makefile.am
|
||||
--- openmotif-2.3.3/Makefile.am.no_demos 2008-09-19 16:38:05.000000000 +0200
|
||||
+++ openmotif-2.3.3/Makefile.am 2010-03-23 13:53:13.000000000 +0100
|
||||
@@ -29,7 +29,7 @@ SUBDIRS = bindings bitmaps \
|
||||
include \
|
||||
tools \
|
||||
clients \
|
||||
- doc \
|
||||
- demos
|
||||
+ doc
|
||||
+
|
||||
AUTOMAKE_OPTIONS = 1.4
|
||||
ACLOCAL_AMFLAGS = -I .
|
39
SOURCES/motif-2.3.5-motifzone_1654.patch
Normal file
39
SOURCES/motif-2.3.5-motifzone_1654.patch
Normal file
@ -0,0 +1,39 @@
|
||||
commit 33e0b7fd58ec8ce9fd23d3a66a91e9b4b7c2b928
|
||||
Author: Oleksiy Chernyavskyy <ochern@ics.com>
|
||||
Date: Fri Jun 10 23:15:00 2016 +0300
|
||||
|
||||
bug 1654 fix
|
||||
|
||||
diff --git a/lib/Xm/LabelG.c b/lib/Xm/LabelG.c
|
||||
index b674041..726b095 100644
|
||||
--- a/lib/Xm/LabelG.c
|
||||
+++ b/lib/Xm/LabelG.c
|
||||
@@ -35,6 +35,7 @@ static char rcsid[] = "$TOG: LabelG.c /main/24 1999/01/26 15:31:18 mgreess $"
|
||||
#include <config.h>
|
||||
#endif
|
||||
#define FIX_1517
|
||||
+#define FIX_1654
|
||||
|
||||
#include <string.h>
|
||||
#include <stdio.h>
|
||||
@@ -2352,12 +2353,20 @@ LRectangle *background_box)
|
||||
if (LabG_StringRect(lw).width < availW - marginal_width)
|
||||
width = LabG_StringRect(lw).width;
|
||||
else
|
||||
+#ifdef FIX_1654
|
||||
+ width = availW - marginal_width;
|
||||
+#else
|
||||
width = availW - marginal_width - x;
|
||||
+#endif
|
||||
|
||||
if (LabG_StringRect(lw).height < availH - marginal_height)
|
||||
height = LabG_StringRect(lw).height;
|
||||
else
|
||||
+#ifdef FIX_1654
|
||||
+ height = availH - marginal_height;
|
||||
+#else
|
||||
height = availH - marginal_height - y;
|
||||
+#endif
|
||||
|
||||
XFillRectangle(XtDisplay(lw), XtWindow(lw), LabG_BackgroundGC(lw),
|
||||
x, y, width, height);
|
104
SOURCES/motifzone_1612.patch
Normal file
104
SOURCES/motifzone_1612.patch
Normal file
@ -0,0 +1,104 @@
|
||||
From 6aff3a819cb69235594124d7b252d1ee8c04f2b0 Mon Sep 17 00:00:00 2001
|
||||
From: Mykola Vshyvkov <mvshyvk@softserveinc.com>
|
||||
Date: Wed, 21 Aug 2013 11:49:00 +0300
|
||||
Subject: [PATCH] Fixed bug #1612 (Label size computed wrong within a Form).
|
||||
|
||||
---
|
||||
lib/Xm/Form.c | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
|
||||
1 file changed, 56 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/lib/Xm/Form.c b/lib/Xm/Form.c
|
||||
index 74140af8..b95a7b1a 100644
|
||||
--- a/lib/Xm/Form.c
|
||||
+++ b/lib/Xm/Form.c
|
||||
@@ -50,6 +50,7 @@ static char rcsid[] = "$TOG: Form.c /main/19 1998/03/25 12:24:56 csn $"
|
||||
#include "GMUtilsI.h"
|
||||
|
||||
#define FIX_1299
|
||||
+#define FIX_1612
|
||||
|
||||
#define MESSAGE1 _XmMMsgForm_0000
|
||||
#define MESSAGE5 _XmMMsgForm_0002
|
||||
@@ -285,6 +286,12 @@ static int GetFormOffset(
|
||||
XmFormWidget fw,
|
||||
int which,
|
||||
XmFormAttachment a) ;
|
||||
+#ifdef FIX_1612
|
||||
+static Boolean IsWidgetAttachedOneHorizontalSide(
|
||||
+ Widget w);
|
||||
+static Boolean IsWidgetAttachedOneVerticalSide(
|
||||
+ Widget w);
|
||||
+#endif
|
||||
|
||||
/******** End Static Function Declarations ********/
|
||||
|
||||
@@ -1083,13 +1090,21 @@ GeometryManager(
|
||||
} else {
|
||||
/* the size the Form wants for the kid request is bigger than
|
||||
its current or proposed size, return No to the kid */
|
||||
-
|
||||
/* backup the original Form size first */
|
||||
fw->core.width = orig_form_width ;
|
||||
fw->core.height = orig_form_height;
|
||||
-
|
||||
/* we haden't changed anything else, just return No */
|
||||
reply = XtGeometryNo;
|
||||
+
|
||||
+#ifdef FIX_1612
|
||||
+ if (((IsWidgetAttachedOneHorizontalSide(w)) &&
|
||||
+ (desired->request_mode & CWWidth)) ||
|
||||
+ ((IsWidgetAttachedOneVerticalSide(w)) &&
|
||||
+ (desired->request_mode & CWHeight)))
|
||||
+ { PlaceChildren (fw, w, desired);
|
||||
+ reply = XtGeometryYes;
|
||||
+ }
|
||||
+#endif
|
||||
}
|
||||
} else {
|
||||
/* ok, we got a Yes form the Form's parent, let's relayout
|
||||
@@ -3477,3 +3492,42 @@ XmCreateFormDialog(
|
||||
return XmeCreateClassDialog (xmFormWidgetClass,
|
||||
parent, name, arglist, argcount) ;
|
||||
}
|
||||
+
|
||||
+
|
||||
+
|
||||
+#ifdef FIX_1612
|
||||
+/************************************************************************
|
||||
+ *
|
||||
+ * IsWidgetAttachedOneHorizontalSide
|
||||
+ * Checking the attachments of widget in horizontal direction.
|
||||
+ * Returns True if only one (left or right) side of widget is attached
|
||||
+ *
|
||||
+ ************************************************************************/
|
||||
+static Boolean IsWidgetAttachedOneHorizontalSide(Widget w)
|
||||
+ { if (w != NULL)
|
||||
+ { XmFormConstraint c = GetFormConstraint(w);
|
||||
+ if (((c->att[LEFT].type == XmATTACH_NONE) &&
|
||||
+ (c->att[RIGHT].type != XmATTACH_NONE)) ||
|
||||
+ ((c->att[LEFT].type != XmATTACH_NONE) &&
|
||||
+ (c->att[RIGHT].type == XmATTACH_NONE)))
|
||||
+ return True;
|
||||
+
|
||||
+ }
|
||||
+ return False;
|
||||
+ }
|
||||
+
|
||||
+
|
||||
+static Boolean IsWidgetAttachedOneVerticalSide(Widget w)
|
||||
+ { if (w != NULL)
|
||||
+ { XmFormConstraint c = GetFormConstraint(w);
|
||||
+ if (((c->att[TOP].type == XmATTACH_NONE) &&
|
||||
+ (c->att[BOTTOM].type != XmATTACH_NONE)) ||
|
||||
+ ((c->att[TOP].type != XmATTACH_NONE) &&
|
||||
+ (c->att[BOTTOM].type == XmATTACH_NONE)))
|
||||
+ return True;
|
||||
+
|
||||
+ }
|
||||
+ return False;
|
||||
+ }
|
||||
+
|
||||
+#endif
|
||||
--
|
||||
2.14.3
|
||||
|
27
SOURCES/motifzone_1660.patch
Normal file
27
SOURCES/motifzone_1660.patch
Normal file
@ -0,0 +1,27 @@
|
||||
From e5c51cda449ea3544fddcdb84c6809757477035b Mon Sep 17 00:00:00 2001
|
||||
From: Oleksiy Chernyavskyy <ochern@ics.com>
|
||||
Date: Tue, 22 Aug 2017 03:27:36 +0300
|
||||
Subject: [PATCH] Fixed bug 1660
|
||||
|
||||
---
|
||||
lib/Xm/TextF.c | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/lib/Xm/TextF.c b/lib/Xm/TextF.c
|
||||
index 3323d2bd..f66076da 100644
|
||||
--- a/lib/Xm/TextF.c
|
||||
+++ b/lib/Xm/TextF.c
|
||||
@@ -1768,8 +1768,8 @@ PaintCursor(XmTextFieldWidget tf)
|
||||
}
|
||||
if (cursor_width > 0 && cursor_height > 0)
|
||||
XCopyArea(XtDisplay(tf), tf->text.ibeam_off, XtWindow(tf),
|
||||
- tf->text.save_gc, 0, 0, cursor_width,
|
||||
- cursor_height, x, y);
|
||||
+ tf->text.save_gc, src_x, 0, cursor_width,
|
||||
+ cursor_height, x, y);
|
||||
}
|
||||
}
|
||||
}
|
||||
--
|
||||
2.13.5
|
||||
|
20
SOURCES/openMotif-2.2.3-uil_lib.patch
Normal file
20
SOURCES/openMotif-2.2.3-uil_lib.patch
Normal file
@ -0,0 +1,20 @@
|
||||
--- openmotif/clients/uil/Makefile.am.uil_lib 2003-12-16 13:41:53.000000000 +0100
|
||||
+++ openmotif/clients/uil/Makefile.am 2003-12-16 13:41:55.000000000 +0100
|
||||
@@ -13,7 +13,7 @@
|
||||
|
||||
libUil_la_LIBADD = UilParser.lo ../../lib/Mrm/libMrm.la ../../lib/Xm/libXm.la
|
||||
|
||||
-uil_LDADD = ../../lib/Mrm/libMrm.la ../../lib/Xm/libXm.la
|
||||
+uil_LDADD = libUil.la ../../lib/Mrm/libMrm.la ../../lib/Xm/libXm.la
|
||||
|
||||
INCLUDES = -DINCDIR=\"@INCDIR@\" \
|
||||
-DLIBDIR=\"@LIBDIR@\" \
|
||||
@@ -42,7 +42,7 @@
|
||||
UilLstMac.c UilSemVal.c UilSemCSet.c UilDB.c
|
||||
|
||||
SRCS = $(COMMON_SRC)
|
||||
-SRCS2 = $(COMMON_SRC) UilMain.c
|
||||
+SRCS2 = UilMain.c
|
||||
|
||||
HEADERS_1 = Uil.h UilSymGl.h UilSymDef.h \
|
||||
UilDef.h XmAppl.uil
|
47
SOURCES/openMotif-2.3.0-no_X11R6.patch
Normal file
47
SOURCES/openMotif-2.3.0-no_X11R6.patch
Normal file
@ -0,0 +1,47 @@
|
||||
--- openmotif-2.3.0/doc/man/man1/mwm.1.no_X11R6 2005-12-09 15:08:21.000000000 +0100
|
||||
+++ openmotif-2.3.0/doc/man/man1/mwm.1 2005-12-09 15:09:06.000000000 +0100
|
||||
@@ -366,7 +366,7 @@
|
||||
database\&. This database is built from the following sources\&. They are listed
|
||||
in order of precedence, low to high:
|
||||
.PP
|
||||
-\fB/usr/X11R6/lib/X11/app-defaults/Mwm\fP
|
||||
+\fB/usr/share/X11/app-defaults/Mwm\fP
|
||||
.PP
|
||||
\fB$HOME/Mwm\fP
|
||||
.PP
|
||||
@@ -376,7 +376,7 @@
|
||||
.PP
|
||||
\fBmwm\fP command line options
|
||||
.PP
|
||||
-The file names \fB/usr/X11R6/lib/X11/app-defaults/Mwm\fP and \fB$HOME/Mwm\fP represent customary locations for these files\&. The actual
|
||||
+The file names \fB/usr/share/X11/app-defaults/Mwm\fP and \fB$HOME/Mwm\fP represent customary locations for these files\&. The actual
|
||||
location of the system-wide class resource file may depend on the \fBXFILESEARCHPATH\fP environment variable and the
|
||||
current language environment\&. The actual location of the user-specific class
|
||||
resource file may depend on the \fBXUSERFILESEARCHPATH\fP and \fBXAPPLRESDIR\fP
|
||||
@@ -595,7 +595,7 @@
|
||||
NameClassValue TypeDefault
|
||||
autoKeyFocusAutoKeyFocusT/FT
|
||||
autoRaiseDelayAutoRaiseDelaymillisec500
|
||||
-bitmap-Bitmap-directory/usr/X11R6/include-
|
||||
+bitmap-Bitmap-directory/usr/include-
|
||||
DirectoryDirectory/X11/bitmaps
|
||||
clientAutoPlaceClientAutoPlaceT/FT
|
||||
colormapFocus-ColormapFocus-stringkeyboard
|
||||
@@ -650,7 +650,7 @@
|
||||
This resource identifies a directory to be searched for bitmaps referenced
|
||||
by \fBmwm\fP resources\&. This directory is searched if a bitmap
|
||||
is specified without an absolute pathname\&. The default value for this resource
|
||||
-is \fB/usr/X11R6/include/X11/bitmaps\fP\&. The directory \fB/usr/X11R6/include/X11/bitmaps\fP
|
||||
+is \fB/usr/include/X11/bitmaps\fP\&. The directory \fB/usr/include/X11/bitmaps\fP
|
||||
represents the customary locations for this directory\&. The actual
|
||||
location of this directory may vary on some systems\&. If the bitmap is not
|
||||
found in the specified directory, \fBXBMLANGPATH\fP is searched\&.
|
||||
@@ -1348,7 +1348,7 @@
|
||||
.PP
|
||||
\fB/etc/X11/mwm/system\&.mwmrc\fP
|
||||
.PP
|
||||
-\fB/usr/X11R6/lib/X11/app-defaults/Mwm\fP
|
||||
+\fB/usr/share/X11/app-defaults/Mwm\fP
|
||||
.PP
|
||||
\fB$HOME/Mwm\fP
|
||||
.PP
|
22
SOURCES/openMotif-2.3.0-rgbtxt.patch
Normal file
22
SOURCES/openMotif-2.3.0-rgbtxt.patch
Normal file
@ -0,0 +1,22 @@
|
||||
--- openmotif-2.3.0/lib/Xm/ColorS.c.rgbtxt 2004-07-07 14:24:07.000000000 +0200
|
||||
+++ openmotif-2.3.0/lib/Xm/ColorS.c 2005-12-02 13:26:11.000000000 +0100
|
||||
@@ -131,7 +131,7 @@
|
||||
{
|
||||
XmNrgbFile, XmCString, XmRString,
|
||||
sizeof(String), XtOffsetOf(XmColorSelectorRec, cs.rgb_file),
|
||||
- XmRString, (XtPointer) "/usr/lib/X11/rgb.txt"
|
||||
+ XmRString, (XtPointer) "/usr/share/X11/rgb.txt"
|
||||
},
|
||||
#endif
|
||||
{
|
||||
--- openmotif-2.3.0/doc/man/man3/XmColorSelector.3.rgbtxt 2002-01-17 21:32:48.000000000 +0100
|
||||
+++ openmotif-2.3.0/doc/man/man3/XmColorSelector.3 2005-12-02 13:25:26.000000000 +0100
|
||||
@@ -34,7 +34,7 @@
|
||||
noCellError%NoCellError%XmString%"No Color Cell
|
||||
%%% Available"
|
||||
redSliderLabel%SliderLabel%XmString%"Red"
|
||||
-rgbFile%String%String%/usr/lib/X11/rgb.txt
|
||||
+rgbFile%String%String%/usr/share/X11/rgb.txt
|
||||
sliderTogLabel%TogLabel%XmString%"Color Sliders"
|
||||
.TE
|
||||
.PP
|
11
SOURCES/openmotif-2.3.1-rhbz_997241.patch
Normal file
11
SOURCES/openmotif-2.3.1-rhbz_997241.patch
Normal file
@ -0,0 +1,11 @@
|
||||
--- openmotif-2.3.1-old/clients/mwm/WmWinConf.c 2002-01-11 02:25:38.000000000 +0530
|
||||
+++ openmotif-2.3.1-old/clients/mwm/WmWinConf.c 2013-08-23 12:47:45.000000000 +0530
|
||||
@@ -1512,7 +1512,7 @@ DrawSegments (Display *dpy, Window win,
|
||||
*************************************<->***********************************/
|
||||
void MoveOutline (int x, int y, unsigned int width, unsigned int height)
|
||||
{
|
||||
- if (wmGD.freezeOnConfig)
|
||||
+ if (wmGD.freezeOnConfig || !wmGD.pActiveSD->moveOpaque)
|
||||
{
|
||||
DrawOutline (x, y, width, height);
|
||||
}
|
427
SOURCES/revert-of-motifzone_1565.patch
Normal file
427
SOURCES/revert-of-motifzone_1565.patch
Normal file
@ -0,0 +1,427 @@
|
||||
From 18de86345d5e455b815fe0395d2992b9a2f1195f Mon Sep 17 00:00:00 2001
|
||||
From: Oleksiy Chernyavskyy <ochern@ics.com>
|
||||
Date: Tue, 28 Mar 2017 01:11:59 +0300
|
||||
Subject: [PATCH] removed bugfix 1565. See details on
|
||||
http://bugs.motifzone.net/show_bug.cgi?id=1565
|
||||
|
||||
---
|
||||
lib/Xm/ComboBox.c | 8 ---
|
||||
lib/Xm/DropDown.c | 7 ---
|
||||
lib/Xm/GrabShell.c | 15 +----
|
||||
lib/Xm/GrabShellP.h | 3 -
|
||||
lib/Xm/RCMenu.c | 40 ------------
|
||||
lib/Xm/Xm.c | 173 ----------------------------------------------------
|
||||
lib/Xm/XmI.h | 4 --
|
||||
7 files changed, 2 insertions(+), 248 deletions(-)
|
||||
|
||||
diff --git a/lib/Xm/ComboBox.c b/lib/Xm/ComboBox.c
|
||||
index cf507da4..1472e458 100644
|
||||
--- a/lib/Xm/ComboBox.c
|
||||
+++ b/lib/Xm/ComboBox.c
|
||||
@@ -3164,9 +3164,6 @@ CreatePulldown(Widget parent,
|
||||
Arg args[4];
|
||||
ArgList merged_args;
|
||||
Cardinal n;
|
||||
-#ifdef FIX_1565
|
||||
- XmGrabShellWidget grabsh;
|
||||
-#endif
|
||||
|
||||
n = 0;
|
||||
XtSetArg(args[n], XmNlayoutDirection, LayoutM(parent)), n++;
|
||||
@@ -3178,11 +3175,6 @@ CreatePulldown(Widget parent,
|
||||
merged_args, n + *num_args);
|
||||
XtFree((char*)merged_args);
|
||||
|
||||
-#ifdef FIX_1565
|
||||
- grabsh = (XmGrabShellWidget) shell;
|
||||
- grabsh->grab_shell.set_input_focus = False;
|
||||
-#endif
|
||||
-
|
||||
return shell;
|
||||
}
|
||||
|
||||
diff --git a/lib/Xm/DropDown.c b/lib/Xm/DropDown.c
|
||||
index 5cd15cae..37fec03f 100644
|
||||
--- a/lib/Xm/DropDown.c
|
||||
+++ b/lib/Xm/DropDown.c
|
||||
@@ -2027,9 +2027,6 @@ CreatePopup(Widget w, ArgList args, Cardinal num_args)
|
||||
Arg *new_list, largs[10];
|
||||
Cardinal num_largs;
|
||||
Widget sb;
|
||||
-#ifdef FIX_1565
|
||||
- XmGrabShellWidget grabsh;
|
||||
-#endif
|
||||
|
||||
num_largs = 0;
|
||||
XtSetArg(largs[num_largs], XmNoverrideRedirect, True); num_largs++;
|
||||
@@ -2043,10 +2040,6 @@ CreatePopup(Widget w, ArgList args, Cardinal num_args)
|
||||
xmGrabShellWidgetClass, w,
|
||||
new_list,
|
||||
num_largs + num_args);
|
||||
-#ifdef FIX_1565
|
||||
- grabsh = (XmGrabShellWidget) XmDropDown_popup_shell(cbw);
|
||||
- grabsh->grab_shell.set_input_focus = False;
|
||||
-#endif
|
||||
XtFree((char *) new_list);
|
||||
|
||||
#ifdef FIX_1446
|
||||
diff --git a/lib/Xm/GrabShell.c b/lib/Xm/GrabShell.c
|
||||
index af13e0b7..a73f7cb9 100644
|
||||
--- a/lib/Xm/GrabShell.c
|
||||
+++ b/lib/Xm/GrabShell.c
|
||||
@@ -284,9 +284,6 @@ Initialize(Widget req, /* unused */
|
||||
/* CR 9920: Popdown may be requested before MapNotify. */
|
||||
grabsh->grab_shell.mapped = False;
|
||||
|
||||
-#ifdef FIX_1565
|
||||
- grabsh->grab_shell.set_input_focus = True;
|
||||
-#endif
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -399,16 +396,8 @@ MapNotifyHandler(Widget shell, XtPointer client_data,
|
||||
XGetInputFocus(XtDisplay(shell), &grabshell->grab_shell.old_focus,
|
||||
&grabshell->grab_shell.old_revert_to);
|
||||
old_handler = XSetErrorHandler(IgnoreXErrors);
|
||||
-#ifdef FIX_1565
|
||||
- if (! grabshell->grab_shell.set_input_focus) {
|
||||
- XmForceGrabKeyboard(shell, time);
|
||||
- } else {
|
||||
-#endif
|
||||
- XSetInputFocus(XtDisplay(shell), XtWindow(shell), RevertToParent, time);
|
||||
- XSync(XtDisplay(shell), False);
|
||||
-#ifdef FIX_1565
|
||||
- }
|
||||
-#endif
|
||||
+ XSetInputFocus(XtDisplay(shell), XtWindow(shell), RevertToParent, time);
|
||||
+ XSync(XtDisplay(shell), False);
|
||||
XSetErrorHandler(old_handler);
|
||||
}
|
||||
|
||||
diff --git a/lib/Xm/GrabShellP.h b/lib/Xm/GrabShellP.h
|
||||
index 025f0015..e2585540 100644
|
||||
--- a/lib/Xm/GrabShellP.h
|
||||
+++ b/lib/Xm/GrabShellP.h
|
||||
@@ -56,9 +56,6 @@ typedef struct
|
||||
Boolean mapped;
|
||||
Window old_focus;
|
||||
int old_revert_to;
|
||||
-#ifdef FIX_1565
|
||||
- Boolean set_input_focus;
|
||||
-#endif
|
||||
} XmGrabShellPart;
|
||||
|
||||
|
||||
diff --git a/lib/Xm/RCMenu.c b/lib/Xm/RCMenu.c
|
||||
index 8b156da5..2c698d4f 100644
|
||||
--- a/lib/Xm/RCMenu.c
|
||||
+++ b/lib/Xm/RCMenu.c
|
||||
@@ -85,9 +85,6 @@ static char *rcsid = "$TOG: RCMenu.c /main/25 1999/05/24 18:06:57 samborn $";
|
||||
#include "TraversalI.h"
|
||||
#include "UniqueEvnI.h"
|
||||
#include "VendorSI.h"
|
||||
-#ifdef FIX_1565
|
||||
-#include <Xm/GrabShell.h>
|
||||
-#endif
|
||||
|
||||
#define FIX_1535
|
||||
|
||||
@@ -946,13 +943,6 @@ _XmMenuFocus(
|
||||
XmMenuState mst = _XmGetMenuState((Widget)w);
|
||||
Window tmpWindow;
|
||||
int tmpRevert;
|
||||
-#ifdef FIX_1565
|
||||
- Widget shell;
|
||||
-
|
||||
- shell = w;
|
||||
- while (! XtIsSubclass(shell, shellWidgetClass))
|
||||
- shell = XtParent(shell);
|
||||
-#endif
|
||||
|
||||
if (_time == CurrentTime)
|
||||
_time = XtLastTimestampProcessed(XtDisplay(w));
|
||||
@@ -993,11 +983,6 @@ _XmMenuFocus(
|
||||
shell.popped_up))
|
||||
**/
|
||||
{
|
||||
-#ifdef FIX_1565
|
||||
- if (XtIsSubclass(shell, xmGrabShellWidgetClass) || XtIsSubclass(shell, xmMenuShellWidgetClass))
|
||||
- XmForceGrabKeyboard(w, _time);
|
||||
- else
|
||||
-#endif
|
||||
SetInputFocus(XtDisplay(w), mst->RC_menuFocus.oldFocus,
|
||||
mst->RC_menuFocus.oldRevert,
|
||||
mst->RC_menuFocus.oldTime);
|
||||
@@ -1011,11 +996,6 @@ _XmMenuFocus(
|
||||
*/
|
||||
else
|
||||
{
|
||||
-#ifdef FIX_1565
|
||||
- if (XtIsSubclass(shell, xmGrabShellWidgetClass) || XtIsSubclass(shell, xmMenuShellWidgetClass))
|
||||
- XmForceGrabKeyboard(w, _time);
|
||||
- else
|
||||
-#endif
|
||||
SetInputFocus(XtDisplay(w), mst->RC_menuFocus.oldFocus,
|
||||
mst->RC_menuFocus.oldRevert,
|
||||
mst->RC_menuFocus.oldTime);
|
||||
@@ -1034,11 +1014,6 @@ _XmMenuFocus(
|
||||
RC_menuFocus.oldFocus);
|
||||
mst->RC_menuFocus.oldTime = _time - 1;
|
||||
|
||||
-#ifdef FIX_1565
|
||||
- if (XtIsSubclass(shell, xmGrabShellWidgetClass) || XtIsSubclass(shell, xmMenuShellWidgetClass))
|
||||
- XmForceGrabKeyboard(w, _time);
|
||||
- else
|
||||
-#endif
|
||||
SetInputFocus(XtDisplay(w), XtWindow(w), mst->RC_menuFocus.oldRevert,
|
||||
mst->RC_menuFocus.oldTime);
|
||||
|
||||
@@ -1052,11 +1027,6 @@ _XmMenuFocus(
|
||||
XGetInputFocus(XtDisplay(w), &tmpWindow, &tmpRevert);
|
||||
if (tmpWindow != XtWindow(w))
|
||||
{
|
||||
-#ifdef FIX_1565
|
||||
- if (XtIsSubclass(shell, xmGrabShellWidgetClass) || XtIsSubclass(shell, xmMenuShellWidgetClass))
|
||||
- XmForceGrabKeyboard(w, _time);
|
||||
- else
|
||||
-#endif
|
||||
SetInputFocus(XtDisplay(w), XtWindow(w), tmpRevert, _time);
|
||||
|
||||
mst->RC_menuFocus.oldRevert = tmpRevert;
|
||||
@@ -1078,11 +1048,6 @@ _XmMenuFocus(
|
||||
|
||||
break;
|
||||
case XmMENU_MIDDLE:
|
||||
-#ifdef FIX_1565
|
||||
- if (XtIsSubclass(shell, xmGrabShellWidgetClass) || XtIsSubclass(shell, xmMenuShellWidgetClass))
|
||||
- XmForceGrabKeyboard(w, _time);
|
||||
- else
|
||||
-#endif
|
||||
SetInputFocus(XtDisplay(w), XtWindow(w),
|
||||
mst->RC_menuFocus.oldRevert,
|
||||
mst->RC_menuFocus.oldTime);
|
||||
@@ -1097,11 +1062,6 @@ _XmMenuFocus(
|
||||
if ((tmpWindow != XtWindow(w)) &&
|
||||
(_time > mst->RC_menuFocus.oldTime))
|
||||
{
|
||||
-#ifdef FIX_1565
|
||||
- if (XtIsSubclass(shell, xmGrabShellWidgetClass) || XtIsSubclass(shell, xmMenuShellWidgetClass))
|
||||
- XmForceGrabKeyboard(w, _time);
|
||||
- else
|
||||
-#endif
|
||||
SetInputFocus(XtDisplay(w), XtWindow(w), tmpRevert, _time);
|
||||
|
||||
mst->RC_menuFocus.oldRevert = tmpRevert;
|
||||
diff --git a/lib/Xm/Xm.c b/lib/Xm/Xm.c
|
||||
index 45d48b61..657f9041 100644
|
||||
--- a/lib/Xm/Xm.c
|
||||
+++ b/lib/Xm/Xm.c
|
||||
@@ -40,10 +40,6 @@
|
||||
#ifdef FIX_345
|
||||
#include <X11/keysym.h>
|
||||
#endif
|
||||
-#ifdef FIX_1565
|
||||
-#include <Xm/GrabShell.h>
|
||||
-#include <Xm/MenuShell.h>
|
||||
-#endif
|
||||
|
||||
|
||||
/**************************************************************************
|
||||
@@ -535,172 +531,3 @@ _XmAssignInsensitiveColor(Widget w)
|
||||
}
|
||||
#endif
|
||||
|
||||
-#ifdef FIX_1565
|
||||
-
|
||||
-typedef struct _GrabData GrabData;
|
||||
-struct _GrabData {
|
||||
- Widget w;
|
||||
- GrabData *next;
|
||||
-};
|
||||
-
|
||||
-static void _XmSendFocusEvent(Widget child, int type);
|
||||
-static void _XmStartDispatcher(Display *display);
|
||||
-static Boolean _XmEventDispatcher(XEvent *event);
|
||||
-static void UnmapHandler(Widget w, XtPointer client_data, XEvent *event, Boolean *cont);
|
||||
-static Boolean _UngrabKeyboard(Widget w);
|
||||
-
|
||||
-static GrabData *grabw_top = NULL;
|
||||
-static int xm_dispatcher_on = 0;
|
||||
-static XtEventDispatchProc saved_dispatcher_proc = NULL;
|
||||
-static XtEventDispatchProc xt_dispatcher_proc = NULL;
|
||||
-
|
||||
-/*
|
||||
- XmForceGrabKeyboard function is defined to be a substitutor of XSetInputFocus calls
|
||||
- for popup and pulldown menus that should grab keyboard focus yet main window at the
|
||||
- same time should visually stay in focus for window manager. This resolves focus flip
|
||||
- issue when popup or pulldown menu is raised. ~ochern
|
||||
- */
|
||||
-void XmForceGrabKeyboard(Widget w, Time time)
|
||||
-{
|
||||
- GrabData *grabw;
|
||||
-
|
||||
- if (!w)
|
||||
- return;
|
||||
-
|
||||
- while (! XtIsSubclass(w, shellWidgetClass))
|
||||
- w = XtParent(w);
|
||||
-
|
||||
- if (! (XtIsSubclass(w, xmGrabShellWidgetClass) || XtIsSubclass(w, xmMenuShellWidgetClass)))
|
||||
- return;
|
||||
-
|
||||
- _XmStartDispatcher(XtDisplay(w));
|
||||
-
|
||||
- _UngrabKeyboard(w);
|
||||
-
|
||||
- grabw = (GrabData *) XtMalloc(sizeof(GrabData));
|
||||
- grabw->w = w;
|
||||
- _XmProcessLock();
|
||||
- grabw->next = grabw_top;
|
||||
- grabw_top = grabw;
|
||||
- _XmProcessUnlock();
|
||||
-
|
||||
- XtInsertEventHandler(w, StructureNotifyMask, False, UnmapHandler, NULL, XtListHead);
|
||||
-
|
||||
- _XmSendFocusEvent(w, FocusIn);
|
||||
-
|
||||
- /* Following the XSetInputFocus behaviour we force sending FocusOut (see XGrabKeyboard(3))
|
||||
- event to a previous keyboard holder */
|
||||
- XtGrabKeyboard(w, True, GrabModeAsync, GrabModeAsync, time);
|
||||
-}
|
||||
-
|
||||
-static void _XmStartDispatcher(Display *display)
|
||||
-{
|
||||
- if (!display)
|
||||
- return;
|
||||
-
|
||||
- _XmProcessLock();
|
||||
-
|
||||
- if (xm_dispatcher_on) {
|
||||
- _XmProcessUnlock();
|
||||
- return;
|
||||
- }
|
||||
-
|
||||
- saved_dispatcher_proc = XtSetEventDispatcher(display, KeyPress, _XmEventDispatcher);
|
||||
- if (! xt_dispatcher_proc)
|
||||
- xt_dispatcher_proc = saved_dispatcher_proc;
|
||||
- XtSetEventDispatcher(display, KeyRelease, _XmEventDispatcher);
|
||||
- xm_dispatcher_on = 1;
|
||||
-
|
||||
- _XmProcessUnlock();
|
||||
-}
|
||||
-
|
||||
-static Boolean _XmEventDispatcher(XEvent *event)
|
||||
-{
|
||||
- _XmProcessLock();
|
||||
- if (grabw_top) {
|
||||
- if (event->type == KeyPress || event->type == KeyRelease)
|
||||
- event->xany.window = XtWindow(grabw_top->w);
|
||||
- }
|
||||
- _XmProcessUnlock();
|
||||
-
|
||||
- if (saved_dispatcher_proc) {
|
||||
- return (*saved_dispatcher_proc)(event);
|
||||
- } else if (xt_dispatcher_proc) {
|
||||
- return (*xt_dispatcher_proc)(event);
|
||||
- } else {
|
||||
- if (grabw_top)
|
||||
- XtSetEventDispatcher(XtDisplay(grabw_top->w), event->type, NULL);
|
||||
- return XtDispatchEvent(event);
|
||||
- }
|
||||
-}
|
||||
-
|
||||
-static void UnmapHandler(Widget w, XtPointer client_data, XEvent *event, Boolean *cont)
|
||||
-{
|
||||
- if (event->type == UnmapNotify)
|
||||
- _UngrabKeyboard(w);
|
||||
- if (! grabw_top) {
|
||||
- XtSetEventDispatcher(XtDisplay(w), KeyPress, saved_dispatcher_proc);
|
||||
- XtSetEventDispatcher(XtDisplay(w), KeyRelease, saved_dispatcher_proc);
|
||||
- xm_dispatcher_on = 0;
|
||||
- }
|
||||
-
|
||||
- /* we do not call XtUngrabKeyboard since X server automatically performs an
|
||||
- UngrabKeyboard request if the event window for an active keyboard grab becomes
|
||||
- not viewable. ~ochern */
|
||||
-}
|
||||
-
|
||||
-static Boolean _UngrabKeyboard(Widget w)
|
||||
-{
|
||||
- GrabData *grabw, *grabw_prev;
|
||||
-
|
||||
- _XmProcessLock();
|
||||
- if (! grabw_top) {
|
||||
- _XmProcessUnlock();
|
||||
- return False;
|
||||
- }
|
||||
-
|
||||
- grabw = grabw_top;
|
||||
- grabw_prev = NULL;
|
||||
- while(grabw && grabw->w != w) {
|
||||
- grabw_prev = grabw;
|
||||
- grabw = grabw->next;
|
||||
- }
|
||||
- if (grabw) {
|
||||
- if (grabw_prev)
|
||||
- grabw_prev->next = grabw->next;
|
||||
- else
|
||||
- grabw_top = grabw->next;
|
||||
- XtFree((char*) grabw);
|
||||
-
|
||||
- _XmProcessUnlock();
|
||||
- return True;
|
||||
- }
|
||||
-
|
||||
- _XmProcessUnlock();
|
||||
- return False;
|
||||
-}
|
||||
-
|
||||
-static void _XmSendFocusEvent(Widget child, int type)
|
||||
-{
|
||||
- child = XtIsWidget(child) ? child : _XtWindowedAncestor(child);
|
||||
- if (XtIsSensitive(child) && !child->core.being_destroyed
|
||||
- && XtIsRealized(child) && (XtBuildEventMask(child) & FocusChangeMask))
|
||||
- {
|
||||
- XFocusChangeEvent event;
|
||||
- Display* dpy = XtDisplay (child);
|
||||
-
|
||||
- event.type = type;
|
||||
- event.serial = LastKnownRequestProcessed(dpy);
|
||||
- event.send_event = True;
|
||||
- event.display = dpy;
|
||||
- event.window = XtWindow(child);
|
||||
- event.mode = NotifyNormal;
|
||||
- event.detail = NotifyAncestor;
|
||||
- if (XFilterEvent((XEvent*)&event, XtWindow(child)))
|
||||
- return;
|
||||
- XtDispatchEventToWidget(child, (XEvent*)&event);
|
||||
- }
|
||||
-}
|
||||
-
|
||||
-#endif
|
||||
-
|
||||
diff --git a/lib/Xm/XmI.h b/lib/Xm/XmI.h
|
||||
index ef6165c5..769e5f0a 100644
|
||||
--- a/lib/Xm/XmI.h
|
||||
+++ b/lib/Xm/XmI.h
|
||||
@@ -237,9 +237,6 @@ extern Boolean _XmIsISO10646(Display *dpy,
|
||||
extern XChar2b* _XmUtf8ToUcs2(char *draw_text,
|
||||
size_t seg_len,
|
||||
size_t *ret_str_len);
|
||||
-#ifdef FIX_1565
|
||||
-extern void XmForceGrabKeyboard(Widget w, Time time);
|
||||
-#endif
|
||||
|
||||
/******** End Private Function Declarations ********/
|
||||
|
||||
@@ -294,7 +291,6 @@ extern Pixel _XmAssignInsensitiveColor(Widget w);
|
||||
#define FIX_1501
|
||||
#define FIX_1521
|
||||
#define FIX_1505
|
||||
-#define FIX_1565
|
||||
|
||||
#endif /* _XmI_h */
|
||||
/* DON'T ADD ANYTHING AFTER THIS #endif */
|
||||
--
|
||||
2.13.5
|
||||
|
6
SOURCES/xmbind
Normal file
6
SOURCES/xmbind
Normal file
@ -0,0 +1,6 @@
|
||||
#! /bin/sh
|
||||
|
||||
if [ -x /usr/bin/xmbind ] ; then
|
||||
/usr/bin/xmbind
|
||||
fi
|
||||
|
540
SPECS/motif.spec
Normal file
540
SPECS/motif.spec
Normal file
@ -0,0 +1,540 @@
|
||||
Summary: Run-time libraries and programs
|
||||
Name: motif
|
||||
Version: 2.3.4
|
||||
Release: 17%{?dist}
|
||||
License: LGPLv2+
|
||||
Group: System Environment/Libraries
|
||||
Source: http://downloads.sf.net/motif/motif-%{version}-src.tgz
|
||||
Source1: xmbind
|
||||
URL: http://www.motifzone.net/
|
||||
Obsoletes: openmotif < 2.3.4
|
||||
Provides: openmotif = %{version}-%{release}
|
||||
Requires: xorg-x11-xbitmaps
|
||||
Requires: xorg-x11-xinit
|
||||
|
||||
BuildRequires: automake, libtool, autoconf, flex
|
||||
# flex static libs have been part of flex for RHEL <= 6 and Fedora <= 12
|
||||
%if 0%{?fedora} > 12 || 0%{?rhel} > 6
|
||||
BuildRequires: flex-static
|
||||
%endif
|
||||
BuildRequires: byacc, pkgconfig
|
||||
BuildRequires: libjpeg-devel libpng-devel
|
||||
BuildRequires: libXft-devel libXmu-devel libXp-devel libXt-devel libXext-devel
|
||||
BuildRequires: xorg-x11-xbitmaps
|
||||
BuildRequires: perl-interpreter
|
||||
|
||||
Patch22: motif-2.3.4-no_demos.patch
|
||||
Patch23: openMotif-2.2.3-uil_lib.patch
|
||||
Patch43: openMotif-2.3.0-rgbtxt.patch
|
||||
Patch45: motif-2.3.4-mwmrc_dir.patch
|
||||
Patch46: motif-2.3.4-bindings.patch
|
||||
Patch47: openMotif-2.3.0-no_X11R6.patch
|
||||
# FTBFS #1448819
|
||||
Patch48: motif-2.3.4-Fix-issues-with-Werror-format-security.patch
|
||||
|
||||
Patch49: openmotif-2.3.1-rhbz_997241.patch
|
||||
Patch50: motif-2.3.5-motifzone_1654.patch
|
||||
Patch51: motif-2.3.4-motifzone_1564-88bdce1.patch
|
||||
Patch52: revert-of-motifzone_1565.patch
|
||||
Patch53: motifzone_1660.patch
|
||||
Patch54: motifzone_1612.patch
|
||||
|
||||
|
||||
Conflicts: lesstif <= 0.92.32-6
|
||||
|
||||
%description
|
||||
This is the Motif %{version} run-time environment. It includes the
|
||||
Motif shared libraries, needed to run applications which are dynamically
|
||||
linked against Motif and the Motif Window Manager mwm.
|
||||
|
||||
%package devel
|
||||
Summary: Development libraries and header files
|
||||
Group: Development/Libraries
|
||||
Conflicts: lesstif-devel <= 0.92.32-6
|
||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||
Requires: libjpeg-devel%{?_isa} libpng-devel%{?_isa}
|
||||
Requires: libXft-devel%{?_isa} libXmu-devel%{?_isa} libXp-devel%{?_isa}
|
||||
Requires: libXt-devel%{?_isa} libXext-devel%{?_isa}
|
||||
Obsoletes: openmotif-devel < 2.3.4
|
||||
Provides: openmotif-devel = %{version}-%{release}
|
||||
|
||||
%description devel
|
||||
This is the Motif %{version} development environment. It includes the
|
||||
header files and also static libraries necessary to build Motif applications.
|
||||
|
||||
%package static
|
||||
Summary: Static libraries
|
||||
Group: Development/Libraries
|
||||
Conflicts: lesstif-devel <= 0.92.32-6
|
||||
Requires: %{name}-devel%{?_isa} = %{version}-%{release}
|
||||
|
||||
%description static
|
||||
This package contains the static Motif libraries.
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
%patch22 -p1 -b .no_demos
|
||||
%patch23 -p1 -b .uil_lib
|
||||
%patch43 -p1 -b .rgbtxt
|
||||
%patch45 -p1 -b .mwmrc_dir
|
||||
%patch46 -p1 -b .bindings
|
||||
%patch47 -p1 -b .no_X11R6
|
||||
%patch48 -p1 -b .format-security
|
||||
|
||||
%patch49 -p1 -b .rhbz_997241
|
||||
%patch50 -p1 -b .motifzone_1654
|
||||
%patch51 -p1 -b .motifzone_1564-88bdce1
|
||||
%patch52 -p1 -b .revert-of-motifzone_1565
|
||||
%patch53 -p1 -b .motifzone_1660
|
||||
%patch54 -p1 -b .motifzone_1612
|
||||
|
||||
%build
|
||||
CFLAGS="$RPM_OPT_FLAGS -D_FILE_OFFSET_BITS=64" \
|
||||
./autogen.sh --libdir=%{_libdir} --enable-static --enable-xft --enable-jpeg \
|
||||
--enable-png
|
||||
|
||||
%configure --libdir=%{_libdir} --enable-static --enable-xft --enable-jpeg \
|
||||
--enable-png
|
||||
|
||||
make clean %{?_smp_mflags}
|
||||
make -C include
|
||||
make %{?_smp_mflags}
|
||||
|
||||
%install
|
||||
make DESTDIR=%{buildroot} install
|
||||
|
||||
install -d %{buildroot}/etc/X11/xinit/xinitrc.d
|
||||
install -m 755 %{SOURCE1} %{buildroot}/etc/X11/xinit/xinitrc.d/xmbind.sh
|
||||
|
||||
rm -f %{buildroot}%{_libdir}/*.la
|
||||
|
||||
%post -p /sbin/ldconfig
|
||||
%postun -p /sbin/ldconfig
|
||||
|
||||
%clean
|
||||
rm -rf %{buildroot}
|
||||
|
||||
%files
|
||||
%doc COPYING README RELEASE RELNOTES
|
||||
/etc/X11/xinit/xinitrc.d/xmbind.sh
|
||||
%dir /etc/X11/mwm
|
||||
%config(noreplace) /etc/X11/mwm/system.mwmrc
|
||||
%{_bindir}/mwm
|
||||
%{_bindir}/xmbind
|
||||
%{_includedir}/X11/bitmaps/*
|
||||
%{_libdir}/libMrm.so.*
|
||||
%{_libdir}/libUil.so.*
|
||||
%{_libdir}/libXm.so.*
|
||||
%{_datadir}/X11/bindings
|
||||
%{_mandir}/man1/mwm*
|
||||
%{_mandir}/man1/xmbind*
|
||||
%{_mandir}/man4/mwmrc*
|
||||
|
||||
%files devel
|
||||
%{_bindir}/uil
|
||||
%{_includedir}/Mrm
|
||||
%{_includedir}/Xm
|
||||
%{_includedir}/uil
|
||||
%{_libdir}/lib*.so
|
||||
%{_mandir}/man1/uil.1*
|
||||
%{_mandir}/man3/*
|
||||
%{_mandir}/man5/*
|
||||
|
||||
%files static
|
||||
%{_libdir}/lib*.a
|
||||
|
||||
%changelog
|
||||
* Fri Apr 08 2022 Mika Penttila <mpenttil@redhat.com> - 2.3.4-17
|
||||
- Added forgotten patches and corrected release number
|
||||
|
||||
* Tue Sep 11 2018 Carlos Soriano <csoriano@redhat.com> - 2.3.4-16
|
||||
- Fix hardened flags, make sure to always pass LDFLAGS on the spec
|
||||
- Resolves: RHBZ#1624143
|
||||
|
||||
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.4-15
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
|
||||
|
||||
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.4-14
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
||||
|
||||
* Thu Jun 08 2017 Petr Šabata <contyk@redhat.com> - 2.3.4-13
|
||||
- Fix issues with -Werror=format-security (#1448819)
|
||||
|
||||
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.4-12
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
||||
|
||||
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.4-11
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
|
||||
|
||||
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.3.4-10
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
|
||||
|
||||
* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.3.4-9
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
|
||||
|
||||
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.3.4-8
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
|
||||
|
||||
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.3.4-7
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
|
||||
|
||||
* Tue May 28 2013 Michael Schwendt <mschwendt@fedoraproject.org> - 2.3.4-6
|
||||
- fix missing BuildRequires flex-static (RHBZ#889175)
|
||||
|
||||
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.3.4-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
|
||||
|
||||
* Mon Jan 21 2013 Adam Tkac <atkac redhat com> - 2.3.4-4
|
||||
- rebuild due to "jpeg8-ABI" feature drop
|
||||
|
||||
* Fri Oct 26 2012 Thomas Woerner <twoerner@redhat.com> 2.3.4-3
|
||||
- do not use _isa for build requires
|
||||
|
||||
* Fri Oct 26 2012 Thomas Woerner <twoerner@redhat.com> 2.3.4-2
|
||||
- fixed requirements according to review (RHBZ#870049)
|
||||
- flex-static has been renamed to flex-devel with Fedora-18 and RHEL-7
|
||||
|
||||
* Thu Oct 25 2012 Thomas Woerner <twoerner@redhat.com> 2.3.4-1
|
||||
- new version 2.3.4 with LGPL license
|
||||
- fixed some rpmlint warnings
|
||||
- new sub package for static libraries
|
||||
- added /etc/X11/mwm directory
|
||||
- removed defattrs
|
||||
|
||||
* Fri May 25 2012 Thomas Woerner <twoerner@redhat.com> 2.3.3-5
|
||||
- dropped file requires for /usr/share/X11/XKeysymDB, not needed and not
|
||||
available anymore
|
||||
- added flex-static build requirement, because of flex package split
|
||||
|
||||
* Mon Aug 15 2011 Thomas Woerner <twoerner@redhat.com> 2.3.3-4
|
||||
- fixed Label draws Xft text over border of its parent (rhbz#584300#c3)
|
||||
(MotifZone bug #1521 refixed)
|
||||
|
||||
* Wed Aug 10 2011 Thomas Woerner <twoerner@redhat.com> 2.3.3-3
|
||||
- fixed regression introduced with upstream FIX #1521 (rhbz#729346)
|
||||
|
||||
* Mon Aug 1 2011 Thomas Woerner <twoerner@redhat.com> 2.3.3-2
|
||||
- fixed LabelGadget draws background over border of its parent (rhbz#584300)
|
||||
(MotifZone bug #1517)
|
||||
- fixed LabelGadget draws Xft text over border of its parent (rhbz#584300#c3)
|
||||
(MotifZone bug #1521)
|
||||
|
||||
* Tue Mar 23 2010 Thomas Woerner <twoerner@redhat.com> 2.3.3-1
|
||||
- new version 2.3.3 (bugfix release)
|
||||
see RELNOTES file for the list of the bug fixes
|
||||
|
||||
* Fri Feb 26 2010 Thomas Woerner <twoerner@redhat.com> 2.3.2-1.1
|
||||
- fixes according to review:
|
||||
- fixed buildroot
|
||||
- removed dot from summary
|
||||
- removed dist tag from changelog
|
||||
- added source download link
|
||||
|
||||
* Wed Jan 13 2010 Thomas Woerner <twoerner@redhat.com> 2.3.2-1
|
||||
- new version 2.3.2 with upstream bug fixes: #1212, #1277, #1473, #1476
|
||||
- spec file cleanup
|
||||
- make build work with libtool
|
||||
- all man pages are utf-8, no need to convert them anymore
|
||||
- enabled EditRes support with upstream fix
|
||||
- fixed parallel build
|
||||
- fixed patches for fuzz 0
|
||||
Related: rhbz#543948
|
||||
|
||||
* Tue Dec 08 2009 Dennis Gregorovic <dgregor@redhat.com> - 2.3.1-3.1
|
||||
- Rebuilt for RHEL 6
|
||||
|
||||
* Wed Sep 23 2009 Dennis Gregorovic <dgregor@redhat.com> - 2.3.1-3
|
||||
- update the bindings patch
|
||||
|
||||
* Wed Nov 12 2008 Thomas Woerner <twoerner@redhat.com> 2.3.1-2
|
||||
- more fixes for unreliable pasting into XmTextField (MotifZone bug #1321)
|
||||
Resolves: rhbz#405941
|
||||
- the fix for MotifZone bug #1400 is not working for remote displays
|
||||
|
||||
* Thu Oct 2 2008 Thomas Woerner <twoerner@redhat.com> 2.3.1-1
|
||||
- using final 2.3.1 dist archive
|
||||
|
||||
* Wed Sep 17 2008 Thomas Woerner <twoerner@redhat.com> 2.3.1-0
|
||||
- rebase to 2.3.1 (CVS dist release)
|
||||
Resolves: rhbz#455736
|
||||
- fixes OpenMotif XmList problem
|
||||
Resolves: rhbz#405801
|
||||
- fixes List.c/ReplaceItem() segfaults when item selected
|
||||
Resolves: rhbz#431460
|
||||
- fixes [motifzone 1400 ] openmotif/ BadFont on multiple display application
|
||||
Resolves: rhbz#438910
|
||||
- fixes applications dump core in non-UTF8 environment
|
||||
Resolves: rhbz#453722
|
||||
- fixes lots of additional bugs: see release notes
|
||||
|
||||
* Tue Apr 1 2008 Thomas Woerner <twoerner@redhat.com> 2.3.0-0.5
|
||||
- fixed SEGV error moving mouse over window related to XmToolTipGetLabel
|
||||
(MotifZone bug fix #1388)
|
||||
Resolves: rhbz#277381
|
||||
|
||||
* Thu Nov 8 2007 Thomas Woerner <twoerner@redhat.com> 2.3.0-0.4
|
||||
- fixed title bar problem using XmNdialogTitle (MotifZone bug fix #1380)
|
||||
Resolves: rhbz#353251
|
||||
|
||||
* Fri Dec 1 2006 Thomas Woerner <twoerner@redhat.com> 2.3.0-0.3
|
||||
- fixed path to xmbind in /etc/X11/xinit/xinitrc.d/xmbind.sh
|
||||
Resolves: rhbz#218032
|
||||
|
||||
* Wed Jul 12 2006 Jesse Keating <jkeating@redhat.com> - 2.3.0-0.2.1
|
||||
- rebuild
|
||||
|
||||
* Tue Jun 6 2006 Thomas Woerner <twoerner@redhat.com> 2.3.0-0.2
|
||||
- new CVS version 2006-06-06
|
||||
- new buildprereq for pkgconfig
|
||||
|
||||
* Fri Feb 10 2006 Jesse Keating <jkeating@redhat.com> - 2.3.0-0.1.9.2
|
||||
- bump again for double-long bug on ppc(64)
|
||||
|
||||
* Tue Feb 07 2006 Jesse Keating <jkeating@redhat.com> - 2.3.0-0.1.9.1
|
||||
- rebuilt for new gcc4.1 snapshot and glibc changes
|
||||
|
||||
* Thu Feb 2 2006 Thomas Woerner <twoerner@redhat.com> 2.3.0-0.1.9
|
||||
- new CVS version 2006-02-02
|
||||
- fixed CVE-2005-3964: libUil buffer overflows (#174814)
|
||||
- fixed XmList out of bound accesses (#167701)
|
||||
- fixed pasting into TextField (#179549)
|
||||
|
||||
* Tue Jan 3 2006 Jesse Keating <jkeating@redhat.coM> 2.3.0-0.1.2
|
||||
- Rebuilt on new gcc
|
||||
|
||||
* Fri Dec 9 2005 Thomas Woerner <twoerner@redhat.com> 2.3.0-0.1.1
|
||||
- moved mwmrc to /etc/X11/mwm
|
||||
- moved bindings to /usr/share/X11
|
||||
- fixed paths in man pages containing /usr/X11R6
|
||||
|
||||
* Thu Dec 8 2005 Thomas Woerner <twoerner@redhat.com> 2.3.0-0.1.1
|
||||
- enabled Xft, jpeg and png support
|
||||
- patch for missing xft-config
|
||||
- dropped duplicate include path in devel package
|
||||
|
||||
* Fri Dec 2 2005 Thomas Woerner <twoerner@redhat.com> 2.3.0-0.1
|
||||
- new 2.3.0 (beta1)
|
||||
- patch for new rgb.txt location (#174210)
|
||||
Thanks to Ville Skyttä for the patch
|
||||
|
||||
* Fri Nov 18 2005 Thomas Woerner <twoerner@redhat.com> 2.2.3-15
|
||||
- moved man pages to /usr/share/man (#173604)
|
||||
|
||||
* Wed Nov 16 2005 Jeremy Katz <katzj@redhat.com> - 2.2.3-14
|
||||
- X11R6 stuff is gone
|
||||
|
||||
* Wed Nov 16 2005 Jeremy Katz <katzj@redhat.com> - 2.2.3-13
|
||||
- also buildrequire xbitmaps
|
||||
|
||||
* Wed Nov 16 2005 Thomas Woerner <twoerner@redhat.com> 2.2.3-12
|
||||
- rebuild for modular X
|
||||
|
||||
* Fri Sep 2 2005 Thomas Woerner <twoerner@redhat.com> 2.2.3-11
|
||||
- fixed mrm initialization error in MrmOpenHierarchyPerDisplay (#167094)
|
||||
Thanks to Arjan van de Ven for the patch.
|
||||
|
||||
* Mon Apr 4 2005 Thomas Woerner <twoerner@redhat.com> 2.2.3-10
|
||||
- fixed possible libXpm overflows (#151642)
|
||||
|
||||
* Mon Feb 28 2005 Thomas Woerner <twoerner@redhat.com> 2.2.3-9
|
||||
- Upstream Fix: Multiscreen mode
|
||||
- Upstream Fix: Crash when restarting by a session manager (motifzone#1193)
|
||||
- Upstream Fix: Crash when duplicating a window menu containing f.circle_up
|
||||
(motifzone#1202)
|
||||
- fixed divide by zero error in ComputeVizCount() (#144420)
|
||||
- Xpmcreate: define LONG64 on 64 bit architectures (#143689)
|
||||
|
||||
* Mon Nov 29 2004 Thomas Woerner <twoerner@redhat.com> 2.2.3-8.1
|
||||
- allow to write XPM files with absolute path names again (#140815)
|
||||
|
||||
* Wed Nov 24 2004 Miloslav Trmac <mitr@redhat.com> 2.2.3-8
|
||||
- Convert man pages to UTF-8
|
||||
|
||||
* Mon Nov 22 2004 Thomas Woerner <twoerner@redhat.com> 2.2.3-7
|
||||
- latest Xpm patches: CAN-2004-0914 (#134631)
|
||||
- new patch for tmpnam in imake (only used for build)
|
||||
|
||||
* Thu Sep 30 2004 Thomas Woerner <twoerner@redhat.com> 2.2.3-6
|
||||
- fixed CAN-2004-0687 (integer overflows) and CAN-2004-0688 (stack overflows)
|
||||
in embedded Xpm library
|
||||
|
||||
* Wed Sep 29 2004 Thomas Woerner <twoerner@redhat.com> 2.2.3-5.2
|
||||
- replaced libtoolize and autofoo* calls with a patch (autofoo)
|
||||
|
||||
* Wed Sep 29 2004 Thomas Woerner <twoerner@redhat.com> 2.2.3-5.1
|
||||
- use new autofoo
|
||||
|
||||
* Wed Sep 1 2004 Thomas Woerner <twoerner@redhat.com> 2.2.3-5
|
||||
- libXp now moved to xorg-x11-deprecated-libs, therefore no compatibility
|
||||
with XFree86 packages anymore.
|
||||
|
||||
* Mon Aug 30 2004 Thomas Woerner <twoerner@redhat.com> 2.2.3-4.3
|
||||
- devel package: added requires for XFree86-devel (#131202)
|
||||
|
||||
* Thu Jun 17 2004 Thomas Woerner <twoerner@redhat.com> 2.2.3-4.2
|
||||
- rebuilt for fc3
|
||||
|
||||
* Wed Jun 16 2004 Thomas Woerner <twoerner@redhat.com> 2.2.3-4.1
|
||||
- renamed xmbind script to xmbind.sh (#126116)
|
||||
|
||||
* Tue Jun 15 2004 Elliot Lee <sopwith@redhat.com>
|
||||
- rebuilt
|
||||
|
||||
* Tue Jun 8 2004 Thomas Woerner <twoerner@redhat.com> 2.2.3-3
|
||||
- fixed popup menus fail on Tarantella/VNC (#123027)
|
||||
- fixed character not supported problem (#124960)
|
||||
- fixed data out of bounds bug (#124961)
|
||||
|
||||
* Wed Apr 14 2004 Thomas Woerner <twoerner@redhat.com> 2.2.3-2
|
||||
- 2.2.3 final version
|
||||
|
||||
* Tue Mar 23 2004 Thomas Woerner <twoerner@redhat.com> 2.2.3-1.9.2
|
||||
- final CVS version
|
||||
|
||||
* Wed Mar 17 2004 Thomas Woerner <twoerner@redhat.com> 2.2.3-1.9.1
|
||||
- new openmotif 2.2.3 beta version
|
||||
|
||||
* Mon Mar 8 2004 Thomas Woerner <twoerner@redhat.com> 2.2.2-17
|
||||
- fixed popdown problem in ToolTip (#75730)
|
||||
|
||||
* Tue Mar 02 2004 Elliot Lee <sopwith@redhat.com>
|
||||
- rebuilt
|
||||
|
||||
* Thu Feb 19 2004 Thomas Woerner <twoerner@redhat.com> 2.2.2-16.3
|
||||
- rebuilt
|
||||
|
||||
* Thu Dec 18 2003 Thomas Woerner <twoerner@redhat.com>
|
||||
- added missing BuildRequires for XFree86-devel
|
||||
|
||||
* Thu Nov 27 2003 Thomas Woerner <twoerner@redhat.com> 2.2.2-16.2
|
||||
- removed rpath
|
||||
|
||||
* Mon Aug 27 2003 Thomas Woerner <twoerner@redhat.com> 2.2.2-16
|
||||
- fixed ToggleBG (#101159)
|
||||
|
||||
* Thu Jul 31 2003 <timp@redhat.com> 2.2.2-15.2
|
||||
- rebuild for RHEL
|
||||
|
||||
* Wed Jul 30 2003 Thomas Woerner <twoerner@redhat.com> 2.2.2-15
|
||||
- fixed ToggleB (#101159)
|
||||
|
||||
* Wed Jan 22 2003 Tim Powers <timp@redhat.com>
|
||||
- rebuilt
|
||||
|
||||
* Tue Jan 21 2003 Thomas Woerner <twoerner@redhat.com> 2.2.2-13
|
||||
- fix for Xmu/EditRes conflict (bug #80777)
|
||||
- fix for wml and utf-8 (bug #80271)
|
||||
- fix for Ext18List (bug #74502)
|
||||
|
||||
* Thu Nov 14 2002 Than Ngo <than@redhat.com> 2.2.2-12.2
|
||||
- add buildprereq byacc and flex (bug #77860)
|
||||
|
||||
* Fri Nov 8 2002 Than Ngo <than@redhat.com> 2.2.2-12.1
|
||||
- fix some build problem
|
||||
|
||||
* Mon Aug 27 2002 Than Ngo <than@redhat.com> 2.2.2-12
|
||||
- Fixed a segmentation fault in mkcatdefs (bug #71955)
|
||||
|
||||
* Wed Jul 24 2002 Than Ngo <than@redhat.com> 2.2.2-11
|
||||
- Added missing symlinks (bug #69117)
|
||||
|
||||
* Tue Jul 23 2002 Tim Powers <timp@redhat.com> 2.2.2-10
|
||||
- build using gcc-3.2-0.1
|
||||
|
||||
* Tue Jun 25 2002 Than Ngo <than@redhat.com> 2.2.2-9
|
||||
- fix to build openmotif (bug #64176)
|
||||
|
||||
* Thu Jun 13 2002 Than Ngo <than@redhat.com> 2.2.2-8
|
||||
- rebuild in new enviroment
|
||||
|
||||
* Sun May 26 2002 Tim Powers <timp@redhat.com>
|
||||
- automated rebuild
|
||||
|
||||
* Thu May 23 2002 Harald Hoyer <harald@redhat.de> 2.2.2-6
|
||||
- patched ltmain.sh to link properly
|
||||
|
||||
* Wed May 22 2002 Harald Hoyer <harald@redhat.de> 2.2.2-6
|
||||
- specified libraries by full name in files section
|
||||
(libMrm was missing on alpha)
|
||||
|
||||
* Tue Mar 26 2002 Than Ngo <than@redhat.com> 2.2.2-5
|
||||
- update new 2.2.2 from ICS
|
||||
|
||||
* Sun Mar 24 2002 Than Ngo <than@redhat.com> 2.2.2-4
|
||||
- add missing uil
|
||||
|
||||
* Fri Mar 22 2002 Tim Powers <timp@redhat.com>
|
||||
- rebuilt to try and shake some broken deps in the devel package
|
||||
|
||||
* Thu Mar 21 2002 Than Ngo <than@redhat.com> 2.2.2-2
|
||||
- rebuild
|
||||
|
||||
* Thu Mar 21 2002 Than Ngo <than@redhat.com> 2.2.2-1
|
||||
- update to 2.2.2 release
|
||||
|
||||
* Mon Feb 22 2002 Than Ngo <than@redhat.com> 2.2.1-3
|
||||
- conflict with older lesstif
|
||||
|
||||
* Mon Feb 22 2002 Than Ngo <than@redhat.com> 2.2.1-2
|
||||
- fix bug #60816
|
||||
|
||||
* Fri Feb 22 2002 Than Ngo <than@redhat.com> 2.2.1-1
|
||||
- update to 2.2.1 release
|
||||
- remove somme patches, which are included in 2.2.1
|
||||
|
||||
* Fri Feb 22 2002 Tim Powers <timp@redhat.com>
|
||||
- rebuilt in new environment
|
||||
|
||||
* Fri Jan 25 2002 Tim Powers <timp@redhat.com>
|
||||
- don't obsolete lesstif anymore, play nicely together
|
||||
- rebuild against new toolchain
|
||||
|
||||
* Wed Jan 21 2002 Than Ngo <than@redhat.com> 2.1.30-11
|
||||
- add some patches from Darrell Commander (supporting largefile)
|
||||
- fix to build on s390
|
||||
|
||||
* Thu Jan 17 2002 Than Ngo <than@redhat.com> 2.1.30-10
|
||||
- rebuild in 8.0
|
||||
|
||||
* Wed Sep 6 2001 Than Ngo <than@redhat.com>
|
||||
- rebuild for ExtraBinge 7.2
|
||||
|
||||
* Thu May 03 2001 Than Ngo <than@redhat.com>
|
||||
- add 3 official motif patches
|
||||
- add rm -rf $RPM_BUILD_ROOT in install section
|
||||
- remove some old patches which are now in official patches
|
||||
|
||||
* Fri Dec 29 2000 Than Ngo <than@redhat.com>
|
||||
- don't build static debug libraries
|
||||
|
||||
* Mon Dec 18 2000 Than Ngo <than@redhat.com>
|
||||
- bzip2 source
|
||||
|
||||
* Mon Jul 24 2000 Than Ngo <than@redhat.de>
|
||||
- rebuilt against gcc-2.96-44
|
||||
|
||||
* Wed Jul 12 2000 Than Ngo <than@redhat.de>
|
||||
- rebuilt
|
||||
|
||||
* Sun Jun 11 2000 Than Ngo <than@redhat.de>
|
||||
- fix imake to built with gcc-2.96 (thanks Jakup)
|
||||
- put bitmaps in /usr/X11R6/include/X11/bitmaps
|
||||
- put bindings in /usr/X11R6/lib/Xm/bindings
|
||||
- add define -D_GNU_SOURCE to build Motif
|
||||
- gzip man pages
|
||||
- cleanup specfile
|
||||
|
||||
* Mon May 29 2000 Bernhard Rosenkraenzer <bero@redhat.com>
|
||||
- Update to patchlevel 2
|
||||
- remove bindings patch, it's included in pl2
|
||||
|
||||
* Tue May 16 2000 Matt Wilson <msw@redhat.com>
|
||||
- use -fPIC on sparc
|
||||
- fixed Ngo's "fixes"
|
||||
|
||||
* Mon May 15 2000 Ngo Than <than@redhat.de>
|
||||
- added description.
|
||||
- fixed spec, added uil stuff.
|
||||
|
||||
* Mon May 15 2000 Matt Wilson <msw@redhat.com>
|
||||
- initialization of spec file.
|
Loading…
Reference in New Issue
Block a user