Author: turner
Date: Sat Jul 22 09:16:26 2006
New Revision: 23220
URL: http://svn.reactos.org/svn/reactos?rev=23220&view=rev
Log:
Revert my backspace patch from before. I found a better way to handle backspaces which doesnt break backspacing in ftp.exe(and some of apps) while still fixing ncftp.exe.
Modified:
trunk/reactos/subsystems/win32/csrss/win32csr/conio.c
Modified: trunk/reactos/subsystems/win32/csrss/win32csr/conio.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/csrss/win…
==============================================================================
--- trunk/reactos/subsystems/win32/csrss/win32csr/conio.c (original)
+++ trunk/reactos/subsystems/win32/csrss/win32csr/conio.c Sat Jul 22 09:16:26 2006
@@ -607,8 +607,12 @@
&& Input->InputEvent.Event.KeyEvent.bKeyDown
&& Input->InputEvent.Event.KeyEvent.uChar.AsciiChar != '\0')
{
- /* backspace handling */
- if ('\b' == Input->InputEvent.Event.KeyEvent.uChar.AsciiChar)
+ /*
+ * backspace handling - if we are in charge of echoing it then we handle it here
+ * otherwise we treat it like a normal char.
+ */
+ if ('\b' == Input->InputEvent.Event.KeyEvent.uChar.AsciiChar && 0
+ != (Console->Mode & ENABLE_ECHO_INPUT))
{
/* echo if it has not already been done, and either we or the client has chars to be deleted */
if (! Input->Echoed
@@ -622,14 +626,14 @@
i -= 2; /* if we already have something to return, just back it up by 2 */
}
else
- {
- /* otherwise, we will treat the backspace just like any other char and let the client decide what to do */
+ { /* otherwise, return STATUS_NOTIFY_CLEANUP to tell client to back up its buffer */
Console->WaitingChars--;
ConioUnlockConsole(Console);
HeapFree(Win32CsrApiHeap, 0, Input);
- Request->Data.ReadConsoleRequest.NrCharactersRead++;
- Buffer[i] = Input->InputEvent.Event.KeyEvent.uChar.AsciiChar;
- return Request->Status;
+ Request->Data.ReadConsoleRequest.NrCharactersRead = 0;
+ Request->Status = STATUS_NOTIFY_CLEANUP;
+ return STATUS_NOTIFY_CLEANUP;
+
}
Request->Data.ReadConsoleRequest.nCharsCanBeDeleted--;
Input->Echoed = TRUE; /* mark as echoed so we don't echo it below */
Author: ion
Date: Fri Jul 21 23:59:16 2006
New Revision: 23216
URL: http://svn.reactos.org/svn/reactos?rev=23216&view=rev
Log:
- Add bugcheck CRITICAL_OBJECT_TERMINATED
- Implement PspCatchCriticalBreak and fix the 5 or so FIXMEs that depended on it.
Modified:
trunk/reactos/ntoskrnl/ntoskrnl.mc
trunk/reactos/ntoskrnl/ps/kill.c
Modified: trunk/reactos/ntoskrnl/ntoskrnl.mc
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/ntoskrnl.mc?rev=2…
==============================================================================
--- trunk/reactos/ntoskrnl/ntoskrnl.mc (original)
+++ trunk/reactos/ntoskrnl/ntoskrnl.mc Fri Jul 21 23:59:16 2006
@@ -1109,6 +1109,13 @@
CRITICAL_PROCESS_DIED
.
+MessageId=0xF4
+Severity=Success
+Facility=System
+SymbolicName=CRITICAL_OBJECT_TERMINATION
+Language=English
+CRITICAL_OBJECT_TERMINATION
+.
MessageId=0xFC
Severity=Success
Modified: trunk/reactos/ntoskrnl/ps/kill.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/ps/kill.c?rev=232…
==============================================================================
--- trunk/reactos/ntoskrnl/ps/kill.c (original)
+++ trunk/reactos/ntoskrnl/ps/kill.c Fri Jul 21 23:59:16 2006
@@ -21,6 +21,61 @@
/* PRIVATE FUNCTIONS *********************************************************/
+VOID
+NTAPI
+PspCatchCriticalBreak(IN PCHAR Message,
+ IN PVOID ProcessOrThread,
+ IN PCHAR ImageName)
+{
+ UCHAR Action[2];
+ BOOLEAN Handled = FALSE;
+ PAGED_CODE();
+
+ /* Check if a debugger is enabled */
+ if (KdDebuggerEnabled)
+ {
+ /* Print out the message */
+ DbgPrint(Message, ProcessOrThread, ImageName);
+ do
+ {
+ /* If a debugger isn't present, don't prompt */
+ if (KdDebuggerNotPresent) break;
+
+ /* A debuger is active, prompt for action */
+ DbgPrompt("Break, or Ignore (bi)?", Action, sizeof(Action));
+ switch (Action[0])
+ {
+ /* Break */
+ case 'B': case 'b':
+
+ /* Do a breakpoint */
+ DbgBreakPoint();
+
+ /* Ignore */
+ case 'I': case 'i':
+
+ /* Handle it */
+ Handled = TRUE;
+
+ /* Unrecognized */
+ default:
+ break;
+ }
+ } while (!Handled);
+ }
+
+ /* Did we ultimately handle this? */
+ if (!Handled)
+ {
+ /* We didn't, bugcheck */
+ KeBugCheckEx(CRITICAL_OBJECT_TERMINATION,
+ ((PKPROCESS)ProcessOrThread)->Header.Type,
+ (ULONG_PTR)ProcessOrThread,
+ (ULONG_PTR)ImageName,
+ (ULONG_PTR)Message);
+ }
+}
+
NTSTATUS
NTAPI
PspTerminateProcess(IN PEPROCESS Process,
@@ -29,12 +84,13 @@
PAGED_CODE();
PETHREAD Thread = NULL;
- /* Check if this is a Critical Process, and Bugcheck */
+ /* Check if this is a Critical Process */
if (Process->BreakOnTermination)
{
- /* FIXME: Add critical Process support */
- DPRINT1("A critical Process is being terminated\n");
- KEBUGCHECK(0);
+ /* Break to debugger */
+ PspCatchCriticalBreak("Terminating critical process 0x%p (%s)\n",
+ Process,
+ Process->ImageFileName);
}
/* Set the delete flag */
@@ -442,8 +498,10 @@
/* Check if this is a Critical Thread */
if ((KdDebuggerEnabled) && (Thread->BreakOnTermination))
{
- /* FIXME: Add critical thread support */
- KEBUGCHECK(0);
+ /* Break to debugger */
+ PspCatchCriticalBreak("Critical thread 0x%p (in %s) exited\n",
+ Thread,
+ CurrentProcess->ImageFileName);
}
/* Check if it's the last thread and this is a Critical Process */
@@ -452,8 +510,10 @@
/* Check if a debugger is here to handle this */
if (KdDebuggerEnabled)
{
- /* FIXME: Add critical process support */
- DbgBreakPoint();
+ /* Break to debugger */
+ PspCatchCriticalBreak("Critical process 0x%p (in %s) exited\n",
+ CurrentProcess,
+ CurrentProcess->ImageFileName);
}
else
{
@@ -805,9 +865,10 @@
/* Check if this is a Critical Thread, and Bugcheck */
if (Thread->BreakOnTermination)
{
- /* FIXME: Add critical thread support */
- DPRINT1("A critical thread is being terminated\n");
- KEBUGCHECK(0);
+ /* Break to debugger */
+ PspCatchCriticalBreak("Terminating critical thread 0x%p (%s)\n",
+ Thread,
+ Thread->ThreadsProcess->ImageFileName);
}
/* Check if we are already inside the thread */
@@ -981,9 +1042,10 @@
/* Check if this is a Critical Process, and Bugcheck */
if (Process->BreakOnTermination)
{
- /* FIXME: Add critical Process support */
- DPRINT1("A critical Process is being terminated\n");
- KEBUGCHECK(0);
+ /* Break to debugger */
+ PspCatchCriticalBreak("Terminating critical process 0x%p (%s)\n",
+ Process,
+ Process->ImageFileName);
}
/* Lock the Process */
Author: hpoussin
Date: Fri Jul 21 23:49:32 2006
New Revision: 23215
URL: http://svn.reactos.org/svn/reactos?rev=23215&view=rev
Log:
Add a hack to be able to use serial mice again (IRP_MJ_CLOSE is not set after IoGetDeviceObjectPointer() + ObDereferenceObject())
Modified:
trunk/reactos/ntoskrnl/io/iomgr/deviface.c
Modified: trunk/reactos/ntoskrnl/io/iomgr/deviface.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/io/iomgr/deviface…
==============================================================================
--- trunk/reactos/ntoskrnl/io/iomgr/deviface.c (original)
+++ trunk/reactos/ntoskrnl/io/iomgr/deviface.c Fri Jul 21 23:49:32 2006
@@ -1000,6 +1000,14 @@
ObDereferenceObject(FileObject);
+ /* hpoussin, July 2006. Dereferencing the FileObject once
+ * is not enough to trigger the sending of IRP_MJ_CLEANUP.
+ * So, do it once more... According to Alex, it's because
+ * FileObjects should start with a ref count of 1 instead
+ * of 2 at the moment...
+ */
+ ObDereferenceObject(FileObject);
+
return STATUS_SUCCESS;
}
Author: winesync
Date: Fri Jul 21 17:07:57 2006
New Revision: 23211
URL: http://svn.reactos.org/svn/reactos?rev=23211&view=rev
Log:
Autosyncing with Wine HEAD
Modified:
trunk/reactos/dll/win32/uxtheme/draw.c
trunk/reactos/dll/win32/uxtheme/main.c
trunk/reactos/dll/win32/uxtheme/metric.c
trunk/reactos/dll/win32/uxtheme/msstyles.c
trunk/reactos/dll/win32/uxtheme/msstyles.h
trunk/reactos/dll/win32/uxtheme/property.c
trunk/reactos/dll/win32/uxtheme/stylemap.c
trunk/reactos/dll/win32/uxtheme/system.c
trunk/reactos/dll/win32/uxtheme/uxini.c
trunk/reactos/dll/win32/uxtheme/uxthemedll.h
trunk/reactos/dll/win32/uxtheme/version.rc
Modified: trunk/reactos/dll/win32/uxtheme/draw.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/uxtheme/draw.c?r…
==============================================================================
--- trunk/reactos/dll/win32/uxtheme/draw.c (original)
+++ trunk/reactos/dll/win32/uxtheme/draw.c Fri Jul 21 17:07:57 2006
@@ -15,7 +15,7 @@
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#include "config.h"
Modified: trunk/reactos/dll/win32/uxtheme/main.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/uxtheme/main.c?r…
==============================================================================
--- trunk/reactos/dll/win32/uxtheme/main.c (original)
+++ trunk/reactos/dll/win32/uxtheme/main.c Fri Jul 21 17:07:57 2006
@@ -15,7 +15,7 @@
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#include "config.h"
Modified: trunk/reactos/dll/win32/uxtheme/metric.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/uxtheme/metric.c…
==============================================================================
--- trunk/reactos/dll/win32/uxtheme/metric.c (original)
+++ trunk/reactos/dll/win32/uxtheme/metric.c Fri Jul 21 17:07:57 2006
@@ -15,7 +15,7 @@
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#include "config.h"
@@ -151,8 +151,8 @@
TRACE("(%p, %d)\n", hTheme, iIntID);
if(!hTheme)
return E_HANDLE;
- if(iIntID <= TMT_FIRSTINT || iIntID >= TMT_LASTINT) {
- TRACE("Unknown IntID: %d\n", iIntID);
+ if(iIntID < TMT_FIRSTINT || iIntID > TMT_LASTINT) {
+ WARN("Unknown IntID: %d\n", iIntID);
return STG_E_INVALIDPARAMETER;
}
if((tp = MSSTYLES_FindMetric(TMT_INT, iIntID)))
@@ -215,8 +215,8 @@
TRACE("(%p, %d)\n", hTheme, iStringID);
if(!hTheme)
return E_HANDLE;
- if(iStringID <= TMT_FIRSTSTRING || iStringID >= TMT_LASTSTRING) {
- TRACE("Unknown StringID: %d\n", iStringID);
+ if(iStringID < TMT_FIRSTSTRING || iStringID > TMT_LASTSTRING) {
+ WARN("Unknown StringID: %d\n", iStringID);
return STG_E_INVALIDPARAMETER;
}
if((tp = MSSTYLES_FindMetric(TMT_STRING, iStringID)))
Modified: trunk/reactos/dll/win32/uxtheme/msstyles.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/uxtheme/msstyles…
==============================================================================
--- trunk/reactos/dll/win32/uxtheme/msstyles.c (original)
+++ trunk/reactos/dll/win32/uxtheme/msstyles.c Fri Jul 21 17:07:57 2006
@@ -15,7 +15,7 @@
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#include "config.h"
Modified: trunk/reactos/dll/win32/uxtheme/msstyles.h
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/uxtheme/msstyles…
==============================================================================
--- trunk/reactos/dll/win32/uxtheme/msstyles.h (original)
+++ trunk/reactos/dll/win32/uxtheme/msstyles.h Fri Jul 21 17:07:57 2006
@@ -15,7 +15,7 @@
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#ifndef __WINE_MSSTYLES_H
Modified: trunk/reactos/dll/win32/uxtheme/property.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/uxtheme/property…
==============================================================================
--- trunk/reactos/dll/win32/uxtheme/property.c (original)
+++ trunk/reactos/dll/win32/uxtheme/property.c Fri Jul 21 17:07:57 2006
@@ -15,7 +15,7 @@
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#include "config.h"
Modified: trunk/reactos/dll/win32/uxtheme/stylemap.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/uxtheme/stylemap…
==============================================================================
--- trunk/reactos/dll/win32/uxtheme/stylemap.c (original)
+++ trunk/reactos/dll/win32/uxtheme/stylemap.c Fri Jul 21 17:07:57 2006
@@ -15,7 +15,7 @@
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#include "config.h"
Modified: trunk/reactos/dll/win32/uxtheme/system.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/uxtheme/system.c…
==============================================================================
--- trunk/reactos/dll/win32/uxtheme/system.c (original)
+++ trunk/reactos/dll/win32/uxtheme/system.c Fri Jul 21 17:07:57 2006
@@ -15,7 +15,7 @@
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#include "config.h"
Modified: trunk/reactos/dll/win32/uxtheme/uxini.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/uxtheme/uxini.c?…
==============================================================================
--- trunk/reactos/dll/win32/uxtheme/uxini.c (original)
+++ trunk/reactos/dll/win32/uxtheme/uxini.c Fri Jul 21 17:07:57 2006
@@ -15,7 +15,7 @@
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#include "config.h"
Modified: trunk/reactos/dll/win32/uxtheme/uxthemedll.h
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/uxtheme/uxthemed…
==============================================================================
--- trunk/reactos/dll/win32/uxtheme/uxthemedll.h (original)
+++ trunk/reactos/dll/win32/uxtheme/uxthemedll.h Fri Jul 21 17:07:57 2006
@@ -15,7 +15,7 @@
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#ifndef __WINE_UXTHEMEDLL_H
Modified: trunk/reactos/dll/win32/uxtheme/version.rc
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/uxtheme/version.…
==============================================================================
--- trunk/reactos/dll/win32/uxtheme/version.rc (original)
+++ trunk/reactos/dll/win32/uxtheme/version.rc Fri Jul 21 17:07:57 2006
@@ -13,7 +13,7 @@
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#define WINE_FILENAME_STR "uxtheme.dll"