mirror of
https://github.com/reactos/reactos.git
synced 2025-04-22 05:00:27 +00:00
- Dirty temporary fix to unregress abiword/qemu.
svn path=/trunk/; revision=20555
This commit is contained in:
parent
07b0b865dc
commit
ce5adef908
1 changed files with 24 additions and 2 deletions
|
@ -72,6 +72,7 @@ InternalAddAtom(BOOLEAN Local,
|
||||||
/* Check if we can abuse the TEB */
|
/* Check if we can abuse the TEB */
|
||||||
if (AnsiString.MaximumLength > 260)
|
if (AnsiString.MaximumLength > 260)
|
||||||
{
|
{
|
||||||
|
RosHack:
|
||||||
/* We can't, allocate a new string */
|
/* We can't, allocate a new string */
|
||||||
AtomNameString = &UnicodeString;
|
AtomNameString = &UnicodeString;
|
||||||
Status = RtlAnsiStringToUnicodeString(AtomNameString,
|
Status = RtlAnsiStringToUnicodeString(AtomNameString,
|
||||||
|
@ -80,8 +81,18 @@ InternalAddAtom(BOOLEAN Local,
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
/* We can! Use the TEB */
|
/* We can! Get the TEB String */
|
||||||
AtomNameString = &NtCurrentTeb()->StaticUnicodeString;
|
AtomNameString = &NtCurrentTeb()->StaticUnicodeString;
|
||||||
|
|
||||||
|
/* FIXME: HACK! */
|
||||||
|
if (!AtomNameString->MaximumLength)
|
||||||
|
{
|
||||||
|
DPRINT1("Hit the ROS TEB Static Unicode String Bug\n",
|
||||||
|
"Please try to fix the underlying problem!!!\n");
|
||||||
|
goto RosHack;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Convert it into the TEB */
|
||||||
Status = RtlAnsiStringToUnicodeString(AtomNameString,
|
Status = RtlAnsiStringToUnicodeString(AtomNameString,
|
||||||
&AnsiString,
|
&AnsiString,
|
||||||
FALSE);
|
FALSE);
|
||||||
|
@ -171,6 +182,7 @@ InternalFindAtom(BOOLEAN Local,
|
||||||
/* Check if we can abuse the TEB */
|
/* Check if we can abuse the TEB */
|
||||||
if (AnsiString.MaximumLength > 260)
|
if (AnsiString.MaximumLength > 260)
|
||||||
{
|
{
|
||||||
|
RosHack:
|
||||||
/* We can't, allocate a new string */
|
/* We can't, allocate a new string */
|
||||||
AtomNameString = &UnicodeString;
|
AtomNameString = &UnicodeString;
|
||||||
Status = RtlAnsiStringToUnicodeString(AtomNameString,
|
Status = RtlAnsiStringToUnicodeString(AtomNameString,
|
||||||
|
@ -179,8 +191,18 @@ InternalFindAtom(BOOLEAN Local,
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
/* We can! Use the TEB */
|
/* We can! Get the TEB String */
|
||||||
AtomNameString = &NtCurrentTeb()->StaticUnicodeString;
|
AtomNameString = &NtCurrentTeb()->StaticUnicodeString;
|
||||||
|
|
||||||
|
/* FIXME: HACK! */
|
||||||
|
if (!AtomNameString->MaximumLength)
|
||||||
|
{
|
||||||
|
DPRINT1("Hit the ROS TEB Static Unicode String Bug\n",
|
||||||
|
"Please try to fix the underlying problem!!!\n");
|
||||||
|
goto RosHack;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Convert it into the TEB */
|
||||||
Status = RtlAnsiStringToUnicodeString(AtomNameString,
|
Status = RtlAnsiStringToUnicodeString(AtomNameString,
|
||||||
&AnsiString,
|
&AnsiString,
|
||||||
FALSE);
|
FALSE);
|
||||||
|
|
Loading…
Reference in a new issue