crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser/raw_data/WSERV.htm
changeset 0 5ad7ad99af01
equal deleted inserted replaced
-1:000000000000 0:5ad7ad99af01
       
     1 <h1>WSERV</h1>
       
     2 <p>
       
     3 The window server runs continuously and brings the machine down if it
       
     4 crashes, so it cannot panic its own thread when it detects an error in one of
       
     5 its client&#8217;s requests. Instead it panics the client&#8217;s thread using
       
     6 <code class="ApiItem">CSession::Panic()</code>. These panics have a category of WSERV. 
       
     7 </p>
       
     8 <p>
       
     9 These panics are defined in the enumeration <code>TClientPanic</code> in
       
    10 <code class="filename">w32cmd.h</code>. 
       
    11 </p>
       
    12 <p>
       
    13 Note that some panics are raised in debug builds only. 
       
    14 </p>
       
    15 <code>1</code>
       
    16 <p>
       
    17 Out of range opcode. 
       
    18 </p>
       
    19 <p>
       
    20 The client has sent a request opcode that wasn&#8217;t recognised. Each
       
    21 server-side object can only handle some of the requests defined in the window
       
    22 server, and if the request isn&#8217;t recognised, this panic is raised. 
       
    23 </p>
       
    24 <p>
       
    25 Clients would normally only get this is if they bypass the normal
       
    26 Window Server API. 
       
    27 </p>
       
    28 <code>2</code>
       
    29 <p>
       
    30 Invalid command buffer. 
       
    31 </p>
       
    32 <p>
       
    33 A corrupt buffer of requests was discovered by the server. This is
       
    34 raised when the buffer itself is noticeably broken, and not when the commands
       
    35 in it are wrong. 
       
    36 </p>
       
    37 <code>3</code>
       
    38 <p>
       
    39 Invalid handle. 
       
    40 </p>
       
    41 <p>
       
    42 The server couldn&#8217;t find the target object for a request in the
       
    43 handle index. This can be raised when a command is sent to the handle for a
       
    44 window that has been closed, for example. 
       
    45 </p>
       
    46 <code>4</code>
       
    47 <p>
       
    48 A handle whose value was NULL was detected. 
       
    49 </p>
       
    50 <p>
       
    51 For example, when Constructing one of the subclasses of the
       
    52 client-side <a href="../reference-cpp/WSERV8.1/RWindowBaseClass.html#%3a%3aRWindowBase" title="class RWindowBase"><code class="ApiItem">RWindowBase</code></a> with a client handle argument of
       
    53 NULL. 
       
    54 </p>
       
    55 <p>
       
    56 On the server side, a <code>TWsClCmdCreateWindow</code> with a
       
    57 client handle field of <code>NULL</code> passed as argument to
       
    58 <code>CWsClientWindow::ConstructL()</code> will raise this error. 
       
    59 </p>
       
    60 <code>5</code>
       
    61 <p>
       
    62 A single drawing command was too big to fit into the
       
    63 <a href="../../guide/Graphics-subsystem-guide/WindowServerClientSide/WindowServerGuide1/ClientSideBuffer.guide.html#WindowServerGuide6%2eClientSideBuffer">client-side buffer</a>. 
       
    64 </p>
       
    65 <p>
       
    66 The size of the buffer may be increased. See
       
    67 <a href="../reference-cpp/WSERV8.1/RWsSessionClass.html#%3a%3aRWsSession%3a%3aSetBufferSizeL%28%29" title="function RWsSession::SetBufferSizeL()"><code class="ApiItem">RWsSession::SetBufferSizeL()</code></a> and
       
    68 <a href="../reference-cpp/WSERV8.1/RWsSessionClass.html#%3a%3aRWsSession%3a%3aSetMaxBufferSizeL%28%29" title="function RWsSession::SetMaxBufferSizeL()"><code class="ApiItem">RWsSession::SetMaxBufferSizeL()</code></a>. 
       
    69 </p>
       
    70 <code>6</code>
       
    71 <p>
       
    72 Invalid window handle. 
       
    73 </p>
       
    74 <p>
       
    75 A handle which should have referred to a window of a particular
       
    76 type referred to a window of another type, or the object index didn&#8217;t recognise
       
    77 the handle. 
       
    78 </p>
       
    79 <p>
       
    80 On the server side, this panic is ultimately raised by
       
    81 <code>CWsClient::HandleToWindow()</code> and
       
    82 <code>CWsClient::HandleToClientWindow()</code> during handle conversions. 
       
    83 </p>
       
    84 <code>7</code>
       
    85 <p>
       
    86 Invalid bitmap handle. 
       
    87 </p>
       
    88 <p>
       
    89 A corrupt bitmap handle was encountered. This is a common panic
       
    90 uncovered when a bitmap handle refers to nothing, or to a server-side object
       
    91 that isn&#8217;t a bitmap. 
       
    92 </p>
       
    93 <p>
       
    94 Also: 
       
    95 </p>
       
    96 <p>
       
    97 In response to an <code>EWsGcOpUseBrushPattern</code> request
       
    98 if the bitmap parameter couldn&#8217;t be used. On the client side,
       
    99 <a href="../reference-cpp/WSERV8.1/CWindowGcClass.html#%3a%3aCWindowGc%3a%3aUseBrushPattern%28%29" title="function CWindowGc::UseBrushPattern()"><code class="ApiItem">CWindowGc::UseBrushPattern()</code></a> sends this request. 
       
   100 </p>
       
   101 <p>
       
   102 In response to an <code>EWsSpriteOpAppendMember</code> request
       
   103 when the bitmaps for the sprite member can't be created on the server side. On
       
   104 the client side, <a href="../reference-cpp/WSERV8.1/RWsSpriteBaseClass.html#%3a%3aRWsSpriteBase%3a%3aAppendMember%28%29" title="function RWsSpriteBase::AppendMember()"><code class="ApiItem">RWsSpriteBase::AppendMember()</code></a> sends this
       
   105 request. 
       
   106 </p>
       
   107 <p>
       
   108 Any failed attempt to duplicate a supplied bitmap. 
       
   109 </p>
       
   110 <code>8</code>
       
   111 <p>
       
   112 Event read already outstanding. 
       
   113 </p>
       
   114 <p>
       
   115 <a href="../reference-cpp/WSERV8.1/RWsSessionClass.html#%3a%3aRWsSession%3a%3aEventReady%28%29" title="function RWsSession::EventReady()"><code class="ApiItem">RWsSession::EventReady()</code></a>,
       
   116 <a href="../reference-cpp/WSERV8.1/RWsSessionClass.html#%3a%3aRWsSession%3a%3aRedrawReady%28%29" title="function RWsSession::RedrawReady()"><code class="ApiItem">RWsSession::RedrawReady()</code></a>, or
       
   117 <a href="../reference-cpp/WSERV8.1/RWsSessionClass.html#%3a%3aRWsSession%3a%3aPriorityKeyReady%28%29" title="function RWsSession::PriorityKeyReady()"><code class="ApiItem">RWsSession::PriorityKeyReady()</code></a> was called again when an
       
   118 event read was already outstanding, i.e.. when an event was waiting to be
       
   119 delivered by the window server. 
       
   120 </p>
       
   121 <code>9</code>
       
   122 <p>
       
   123 Attempted to use a non-active graphics context. 
       
   124 </p>
       
   125 <p>
       
   126 A drawing request was sent to a graphics context when the context
       
   127 was not active. 
       
   128 </p>
       
   129 <p>
       
   130 On the server side, this panic is raised by
       
   131 <code>CWsGc::CommandL()</code> on all requests received when the context isn&#8217;t
       
   132 active except <code>EWsGcOpActivate</code>, <code>EWsGcOpDeactivate</code>,
       
   133 <code>EWsGcOpFree</code>, and <code>EWsGcOpTestInvariant</code>. 
       
   134 </p>
       
   135 <code>10</code>
       
   136 <p>
       
   137 Attempted to activate an already active graphics context. 
       
   138 </p>
       
   139 <p>
       
   140 On the server side, this is raised by
       
   141 <code>CWsGc::Activate()</code> as a response to a <code>EWsGcOpActivate
       
   142 </code>
       
   143 request. 
       
   144 </p>
       
   145 <p>
       
   146 The request is sent by the client-side method
       
   147 <a href="../reference-cpp/WSERV8.1/CWindowGcClass.html#%3a%3aCWindowGc%3a%3aActivate%28%29" title="function CWindowGc::Activate()"><code class="ApiItem">CWindowGc::Activate()</code></a>. 
       
   148 </p>
       
   149 <code>11</code>
       
   150 <p>
       
   151 Window already active. 
       
   152 </p>
       
   153 <p>
       
   154 An attempt was made to reactivate an active window. The request is
       
   155 sent by the client-side method <a href="../reference-cpp/WSERV8.1/RWindowBaseClass.html#%3a%3aRWindowBase%3a%3aActivate%28%29" title="function RWindowBase::Activate()"><code class="ApiItem">RWindowBase::Activate()</code></a>. 
       
   156 </p>
       
   157 <p>
       
   158 On the server side, this panic is raised by
       
   159 <code>CWsClientWindow::Activate()</code> in response to an
       
   160 <code>EWsWinOpActivate</code> request. 
       
   161 </p>
       
   162 <code>12</code>
       
   163 <p>
       
   164 Already inside a begin/end redraw pair. 
       
   165 </p>
       
   166 <p>
       
   167 A begin-redraw window request was made when the window had already
       
   168 begun redrawing. Begin-redraw messages are paired with end-redraw messages, and
       
   169 ordering is important. Invoking <a href="../reference-cpp/WSERV8.1/RWindowClass.html#%3a%3aRWindow%3a%3aBeginRedraw%28%29" title="function RWindow::BeginRedraw()"><code class="ApiItem">RWindow::BeginRedraw()</code></a>,
       
   170 then <code>RWindow::BeginRedraw()</code> again before the corresponding
       
   171 <a href="../reference-cpp/WSERV8.1/RWindowClass.html#%3a%3aRWindow%3a%3aEndRedraw%28%29" title="function RWindow::EndRedraw()"><code class="ApiItem">RWindow::EndRedraw()</code></a> raises this panic. 
       
   172 </p>
       
   173 <p>
       
   174 On the server side, this panic is raised if an
       
   175 <code>EWsWinOpBeginRedraw</code> request is sent twice before the closing
       
   176 <code>EWsWinOpEndRedraw
       
   177 </code>. 
       
   178 </p>
       
   179 <code>13</code>
       
   180 <p>
       
   181 Invalid font handle. 
       
   182 </p>
       
   183 <p>
       
   184 On the client-side is raised if
       
   185 <a href="../reference-cpp/WSERV8.1/CWindowGcClass.html#%3a%3aCWindowGc%3a%3aUseFont%28%29" title="function CWindowGc::UseFont()"><code class="ApiItem">CWindowGc::UseFont()</code></a> is called with an invalid font
       
   186 handle. 
       
   187 </p>
       
   188 <p>
       
   189 On the server side, <code>CWsGc::SetGcAttribute()</code> raises
       
   190 this error in response to an <code>EWsGcOpUseFont</code> request. 
       
   191 </p>
       
   192 <code>14</code>
       
   193 <p>
       
   194 Printing with no active font. 
       
   195 </p>
       
   196 <p>
       
   197 A command to draw text to a window was sent to a graphics context
       
   198 when no font was set. Any of the overloads of
       
   199 <a href="../reference-cpp/WSERV8.1/CWindowGcClass.html#%3a%3aCWindowGc%3a%3aDrawTextVertical%28%29" title="function CWindowGc::DrawTextVertical()"><code class="ApiItem">CWindowGc::DrawTextVertical()</code></a> or
       
   200 <a href="../reference-cpp/WSERV8.1/CWindowGcClass.html#%3a%3aCWindowGc%3a%3aDrawText%28%29" title="function CWindowGc::DrawText()"><code class="ApiItem">CWindowGc::DrawText()</code></a> might cause the panic to be raised;
       
   201 the font should be set using <a href="../reference-cpp/WSERV8.1/CWindowGcClass.html#%3a%3aCWindowGc%3a%3aUseFont%28%29" title="function CWindowGc::UseFont()"><code class="ApiItem">CWindowGc::UseFont()</code></a> first. 
       
   202 </p>
       
   203 <p>
       
   204 On the server side, this panic is raised by
       
   205 <code>CWsGc::DoDrawCommand()</code> in response to any of the requests to
       
   206 display text defined in <code>TWsGcOpcodes</code>. 
       
   207 </p>
       
   208 <code>15</code>
       
   209 <p>
       
   210 Attempted to set an invalid text cursor type, see
       
   211 <a href="../reference-cpp/WSERV8.1/RWindowGroupClass.html#%3a%3aRWindowGroup%3a%3aSetTextCursor%28%29" title="function RWindowGroup::SetTextCursor()"><code class="ApiItem">RWindowGroup::SetTextCursor()</code></a>. 
       
   212 </p>
       
   213 <p>
       
   214 Valid types are defined in the <a href="../reference-cpp/WSERV8.1/TTextCursorStruct.html#%3a%3aTTextCursor" title="struct TTextCursor"><code class="ApiItem">TTextCursor</code></a>
       
   215 struct. 
       
   216 </p>
       
   217 <code>16</code>
       
   218 <p>
       
   219 A drawing command was sent to a graphics context active on a group
       
   220 window. 
       
   221 </p>
       
   222 <code>17</code>
       
   223 <p>
       
   224 Not used. 
       
   225 </p>
       
   226 <code>18</code>
       
   227 <p>
       
   228 Not used. 
       
   229 </p>
       
   230 <code>19</code>
       
   231 <p>
       
   232 Attempted to use a patterned brush when the pattern bitmap has not
       
   233 yet been set&#0160;&#8212;  <code>UseBrushPattern()</code>. 
       
   234 </p>
       
   235 <code>20</code>
       
   236 <p>
       
   237 Not used. 
       
   238 </p>
       
   239 <code>21</code>
       
   240 <p>
       
   241 Attempted to do a client destroy function on an illegal handle. 
       
   242 </p>
       
   243 <p>
       
   244 A client tried to destroy or cancel a server-side object by its
       
   245 handle on an unrecognised handle, or on a handle of the wrong type for the
       
   246 operation. 
       
   247 </p>
       
   248 <p>
       
   249 This panic may be caused by the
       
   250 <a href="../reference-cpp/WSERV8.1/RWindowGroupClass.html#%3a%3aRWindowGroup%3a%3aCancelCaptureKeyUpAndDowns%28%29" title="function RWindowGroup::CancelCaptureKeyUpAndDowns()"><code class="ApiItem">RWindowGroup::CancelCaptureKeyUpAndDowns()</code></a> or
       
   251 <a href="../reference-cpp/WSERV8.1/RWindowGroupClass.html#%3a%3aRWindowGroup%3a%3aCancelCaptureKey%28%29" title="function RWindowGroup::CancelCaptureKey()"><code class="ApiItem">RWindowGroup::CancelCaptureKey()</code></a> methods. These correspond
       
   252 to the <code>EWsWinOpCancelCaptureKeyUpsAndDowns</code> and
       
   253 <code>EWsWinOpCancelCaptureKey</code> server requests. In this case, the panic
       
   254 means that there is no such capture key object in existence in the target
       
   255 window group. 
       
   256 </p>
       
   257 <code>22</code>
       
   258 <p>
       
   259 Panic from the Anim DLL. 
       
   260 </p>
       
   261 <p>
       
   262 An animation DLL tried either changing its default or next timing
       
   263 interval when its timing mode was set to <code>ESyncNone</code>, or activating
       
   264 a graphics context when the context was already activated. 
       
   265 </p>
       
   266 <p>
       
   267 There are a variety of other reasons why this panic might be
       
   268 raised, all which are Anim DLL related. The Animation writer can also cause
       
   269 functions raise this panic. 
       
   270 </p>
       
   271 <code>23</code>
       
   272 <p>
       
   273 Invalid Anim object handle. 
       
   274 </p>
       
   275 <p>
       
   276 A null animation handle was detected in the server on receipt of an
       
   277 animation command, possibly because the relevant animation has been deleted.
       
   278 This panic may be raised by a subclass of <a href="../reference-cpp/WSERV8.1/RAnimClass.html#%3a%3aRAnim" title="class RAnim"><code class="ApiItem">RAnim</code></a> calling
       
   279 <a href="../reference-cpp/WSERV8.1/RAnimClass.html#%3a%3aRAnim%3a%3aCommand%28%29" title="function RAnim::Command()"><code class="ApiItem">RAnim::Command()</code></a> or
       
   280 <a href="../reference-cpp/WSERV8.1/RAnimClass.html#%3a%3aRAnim%3a%3aCommandReply%28%29" title="function RAnim::CommandReply()"><code class="ApiItem">RAnim::CommandReply()</code></a>. 
       
   281 </p>
       
   282 <p>
       
   283 On the server side, the <code>EWsAnimDllOpCommandReply</code> and
       
   284 <code>EWsAnimDllOpCommand</code> requests can raise this panic in
       
   285 <code>CWsAnimDll
       
   286 </code>. 
       
   287 </p>
       
   288 <code>24</code>
       
   289 <p>
       
   290 Leave from a non-leaving animation function. 
       
   291 </p>
       
   292 <p>
       
   293 Code in an animated DLL called by the server invoked
       
   294 <code>Leave()</code>. Animated DLL code is provided by the client and run by
       
   295 the server, so unhandled leaves are trapped and the notification is passed on
       
   296 as a client panic. 
       
   297 </p>
       
   298 <code>25</code>
       
   299 <p>
       
   300 Not used. 
       
   301 </p>
       
   302 <code>26</code>
       
   303 <p>
       
   304 Not used. 
       
   305 </p>
       
   306 <code>27</code>
       
   307 <p>
       
   308 Not used. 
       
   309 </p>
       
   310 <code>28</code>
       
   311 <p>
       
   312 Inconsistent polygon or polyline data was supplied. For example
       
   313 when restarting without finishing an old polygon. 
       
   314 </p>
       
   315 <code>29</code>
       
   316 <p>
       
   317 A client attempted to set a negative shadow height. 
       
   318 </p>
       
   319 <p>
       
   320 This panic is caused by a call to
       
   321 <a href="../reference-cpp/WSERV8.1/RWindowBaseClass.html#%3a%3aRWindowBase%3a%3aSetShadowHeight%28%29" title="function RWindowBase::SetShadowHeight()"><code class="ApiItem">RWindowBase::SetShadowHeight()</code></a> with a negative argument. 
       
   322 </p>
       
   323 <p>
       
   324 On the server side, <code>CWsClientWindow::CommandL()</code> raises
       
   325 the panic in response to an invalid <code>EWsWinOpSetShadowHeight</code>
       
   326 request. 
       
   327 </p>
       
   328 <code>30</code>
       
   329 <p>
       
   330 Not used. 
       
   331 </p>
       
   332 <code>31</code>
       
   333 <p>
       
   334 The client tried to construct a window with an invalid redraw type.
       
   335 The valid redraw types defined in the enumeration <code>TWinTypes</code> of
       
   336 <code class="filename">w32cmd.h
       
   337 </code>. 
       
   338 </p>
       
   339 <p>
       
   340 On the server side, this panic is raised by
       
   341 <code>CWsClientWindow::ConstructL()</code> in response to an initialisation
       
   342 message containing an invalid redraw type. 
       
   343 </p>
       
   344 <code>32</code>
       
   345 <p>
       
   346 A server-side redraw region is almost certainly corrupt. 
       
   347 </p>
       
   348 <p>
       
   349 This panic is raised when an <code>EWsWinOpGetInvalidRegion</code>
       
   350 is received by a <code>CWsRedrawMsgWindow</code> with a <code>TInt</code>
       
   351 parameter of zero or less. 
       
   352 </p>
       
   353 <code>33</code>
       
   354 <p>
       
   355 The client failed to provide a reply buffer to a server-side
       
   356 function when one was needed. 
       
   357 </p>
       
   358 <p>
       
   359 All server-side functions that need more space for their reply than
       
   360 a <code>TInt</code> use the client&#8217;s reply buffer. If the client fails to
       
   361 provide space for such replies, this panic will be emitted. 
       
   362 </p>
       
   363 <p>
       
   364 This panic is raised by <code>CWsClient::ReplyBuf()</code> when
       
   365 <code>CWsClient</code>&#8217;s reply buffer is null. 
       
   366 </p>
       
   367 <code>34</code>
       
   368 <p>
       
   369 Not used. 
       
   370 </p>
       
   371 <code>35</code>
       
   372 <p>
       
   373 A client passed an invalid or unrecognised corner type or flag. 
       
   374 </p>
       
   375 <p>
       
   376 This panic is raised in response to a client call to
       
   377 <a href="../reference-cpp/WSERV8.1/RWindowBaseClass.html#%3a%3aRWindowBase%3a%3aSetCornerType%28%29" title="function RWindowBase::SetCornerType()"><code class="ApiItem">RWindowBase::SetCornerType()</code></a> when specifying inconsistent
       
   378 or non-existent flags. 
       
   379 </p>
       
   380 <p>
       
   381 Valid flags are masked by <a href="../reference-cpp/WSERV8.1/TCornerTypeEnum.html#%3a%3aECornerTypeMask" title="field ECornerTypeMask"><code class="ApiItem">ECornerTypeMask</code></a>, and
       
   382 recognised types are defined in <a href="../reference-cpp/WSERV8.1/TCornerTypeEnum.html#%3a%3aTCornerType" title="enum TCornerType"><code class="ApiItem">TCornerType</code></a>. These are all
       
   383 defined in <code class="filename">w32std.h</code>. 
       
   384 </p>
       
   385 <p>
       
   386 The server raises this panic as a response to
       
   387 <code>EWsWinOpSetCornerType</code> request with an undefined corner type or an
       
   388 unrecognised flag in its parameters. 
       
   389 </p>
       
   390 <code>36</code>
       
   391 <p>
       
   392 The server was asked to update a region of a backed-up window which
       
   393 has not had MaintainBackup called on it. 
       
   394 </p>
       
   395 <p>
       
   396 A client-side call to either form of
       
   397 <a href="../reference-cpp/WSERV8.1/RBackedUpWindowClass.html#%3a%3aRBackedUpWindow%3a%3aUpdateScreen%28%29" title="function RBackedUpWindow::UpdateScreen()"><code class="ApiItem">RBackedUpWindow::UpdateScreen()</code></a> may raise this panic. 
       
   398 </p>
       
   399 <p>
       
   400 On the server side, the panic is raised in response to an
       
   401 <code>EWsWinOpUpdateScreenRegion</code> or <code>EWsWinOpUpdateScreen
       
   402 </code>
       
   403 request when not maintaining a full backup of a backed-up window. 
       
   404 </p>
       
   405 <code>37</code>
       
   406 <p>
       
   407 Panic raised when it was not possible to read or write data to the
       
   408 client thread. The data is usually contained in a descriptor. 
       
   409 </p>
       
   410 <code>38</code>
       
   411 <p>
       
   412 The client attempted to access a sprite after the sprite's window
       
   413 was destroyed. Note that pointer cursors are implemented as sprites. 
       
   414 </p>
       
   415 <code>39</code>
       
   416 <p>
       
   417 A client requested event data without having received an event
       
   418 telling it that the data was ready. 
       
   419 </p>
       
   420 <code>40</code>
       
   421 <p>
       
   422 The mask for a sprite is smaller than the sprite&#8217;s bitmap. A mask
       
   423 is permitted to be larger than its bitmap. 
       
   424 </p>
       
   425 <code>41</code>
       
   426 <p>
       
   427 Bad sprite handle. 
       
   428 </p>
       
   429 <p>
       
   430 A null sprite handle was encountered, or a handle which was
       
   431 supposed to refer to a sprite referred to something else. 
       
   432 </p>
       
   433 <p>
       
   434 The client-side methods
       
   435 <a href="../reference-cpp/WSERV8.1/RWindowTreeNodeClass.html#%3a%3aRWindowTreeNode%3a%3aSetCustomPointerCursor%28%29" title="function RWindowTreeNode::SetCustomPointerCursor()"><code class="ApiItem">RWindowTreeNode::SetCustomPointerCursor()</code></a> and
       
   436 <a href="../reference-cpp/WSERV8.1/RWsSessionClass.html#%3a%3aRWsSession%3a%3aSetSystemPointerCursor%28%29" title="function RWsSession::SetSystemPointerCursor()"><code class="ApiItem">RWsSession::SetSystemPointerCursor()</code></a>, amongst others, can
       
   437 cause this panic to be raised; they correspond to the server requests
       
   438 <code>EWsWinOpSetCustomPointerCursor</code> and
       
   439 <code>EWsClOpSetSystemPointerCursor</code>. 
       
   440 </p>
       
   441 <code>42</code>
       
   442 <p>
       
   443 A client attempted to set or clear a system pointer cursor without
       
   444 first owning the list of system pointer cursors. 
       
   445 </p>
       
   446 <p>
       
   447 <a href="../reference-cpp/WSERV8.1/RWsSessionClass.html#%3a%3aRWsSession%3a%3aSetSystemPointerCursor%28%29" title="function RWsSession::SetSystemPointerCursor()"><code class="ApiItem">RWsSession::SetSystemPointerCursor()</code></a> and
       
   448 <a href="../reference-cpp/WSERV8.1/RWsSessionClass.html#%3a%3aRWsSession%3a%3aClearSystemPointerCursor%28%29" title="function RWsSession::ClearSystemPointerCursor()"><code class="ApiItem">RWsSession::ClearSystemPointerCursor()</code></a> can raise this
       
   449 panic. See also <a href="../reference-cpp/WSERV8.1/RWsSessionClass.html#%3a%3aRWsSession%3a%3aClaimSystemPointerCursorList%28%29" title="function RWsSession::ClaimSystemPointerCursorList()"><code class="ApiItem">RWsSession::ClaimSystemPointerCursorList()</code></a>
       
   450 and <a href="../reference-cpp/WSERV8.1/RWsSessionClass.html#%3a%3aRWsSession%3a%3aFreeSystemPointerCursorList%28%29" title="function RWsSession::FreeSystemPointerCursorList()"><code class="ApiItem">RWsSession::FreeSystemPointerCursorList()</code></a>. 
       
   451 </p>
       
   452 <p>
       
   453 The server requests which can raise this panic are
       
   454 <code>EWsClOpSetSystemPointerCursor</code> and
       
   455 <code>EWsClOpClearSystemPointerCursor</code>. 
       
   456 </p>
       
   457 <code>43</code>
       
   458 <p>
       
   459 A client attempted to enable a pointer move buffer when none was
       
   460 allocated. 
       
   461 </p>
       
   462 <p>
       
   463 <a href="../reference-cpp/WSERV8.1/RWindowBaseClass.html#%3a%3aRWindowBase%3a%3aEnablePointerMoveBuffer%28%29" title="function RWindowBase::EnablePointerMoveBuffer()"><code class="ApiItem">RWindowBase::EnablePointerMoveBuffer()</code></a> can
       
   464 cause this panic to be emitted; the corresponding server request is
       
   465 <code>EWsWinOpEnablePointerMoveBuffer</code>. 
       
   466 </p>
       
   467 <code>44</code>
       
   468 <p>
       
   469 Raised in response to commands that send a string, when the string
       
   470 has been incorrectly stored in the command buffer. 
       
   471 </p>
       
   472 <code>45</code>
       
   473 <p>
       
   474 Not used. 
       
   475 </p>
       
   476 <code>46</code>
       
   477 <p>
       
   478 An invalid call or request parameter was detected by
       
   479 <code>CWsPassword</code>. This can be caused: 
       
   480 </p>
       
   481 <p>
       
   482 By <a href="../reference-cpp/WSERV8.1/RWindowBaseClass.html#%3a%3aRWindowBase%3a%3aPasswordWindow%28%29" title="function RWindowBase::PasswordWindow()"><code class="ApiItem">RWindowBase::PasswordWindow()</code></a> sending
       
   483 an <code>EWsWinOpPasswordWindow</code> server request whose password mode
       
   484 parameter is not recognised. 
       
   485 </p>
       
   486 <p>
       
   487 By an attempt to cancel the password window by a client which
       
   488 doesn&#8217;t own the window. 
       
   489 </p>
       
   490 <p>
       
   491 By <a href="../reference-cpp/WSERV8.1/RWsSessionClass.html#%3a%3aRWsSession%3a%3aPasswordEntered%28%29" title="function RWsSession::PasswordEntered()"><code class="ApiItem">RWsSession::PasswordEntered()</code></a> sending a
       
   492 <code>EWsClOpPasswordEntered</code> server request when no password window has
       
   493 been set, or when the client does not own the password window. 
       
   494 </p>
       
   495 <p>
       
   496 Valid password modes are defined in
       
   497 <a href="../reference-cpp/WSERV8.1/TPasswordModeEnum.html#%3a%3aTPasswordMode" title="enum TPasswordMode"><code class="ApiItem">TPasswordMode</code></a> of <code class="filename">w32std.h</code>. 
       
   498 </p>
       
   499 <code>47</code>
       
   500 <p>
       
   501 An invalid compute mode was sent to the window server. On the
       
   502 client side, <a href="../reference-cpp/WSERV8.1/RWsSessionClass.html#%3a%3aRWsSession%3a%3aComputeMode%28%29" title="function RWsSession::ComputeMode()"><code class="ApiItem">RWsSession::ComputeMode()</code></a> can do this, the
       
   503 window server request is <code>EWsClOpComputeMode</code>. Valid compute modes
       
   504 are defined in the enumeration <a href="../reference-cpp/WSERV8.1/RWsSessionClass.html#%3a%3aRWsSession%3a%3aTComputeMode" title="enum RWsSession::TComputeMode"><code class="ApiItem">RWsSession::TComputeMode</code></a>,
       
   505 which is declared in <code class="filename">w32std.h</code>. 
       
   506 </p>
       
   507 <code>48</code>
       
   508 <p>
       
   509 A client attempted to set the display mode of a backed-up window.
       
   510 This can be done with
       
   511 <a href="../reference-cpp/WSERV8.1/RWindowBaseClass.html#%3a%3aRWindowBase%3a%3aSetRequiredDisplayMode%28%29" title="function RWindowBase::SetRequiredDisplayMode()"><code class="ApiItem">RWindowBase::SetRequiredDisplayMode()</code></a> or the
       
   512 <code>EWsWinOpRequiredDisplayMode</code> server request. 
       
   513 </p>
       
   514 <code>49</code>
       
   515 <p>
       
   516 A client attempted to get a message when has not been signalled in
       
   517 the server. 
       
   518 </p>
       
   519 <p>
       
   520 This panic can be raised on a client thread calling
       
   521 <code class="ApiItem">RWindowGroup::FetchMessage()</code> or sending the
       
   522 <code>EWsWinOpGetMessageSize</code> or <code>EWsWinOpGetMessage
       
   523 </code> messages. 
       
   524 </p>
       
   525 <code>50</code>
       
   526 <p>
       
   527 A client tried to send a second initialisation message, i.e. to
       
   528 call <a href="../reference-cpp/WSERV8.1/RWsSessionClass.html#%3a%3aRWsSession%3a%3aConnect%28%29" title="function RWsSession::Connect()"><code class="ApiItem">RWsSession::Connect()</code></a> twice. 
       
   529 </p>
       
   530 <code>51</code>
       
   531 <p>
       
   532 A client attempted to send a message without specifying a target
       
   533 window. 
       
   534 </p>
       
   535 <p>
       
   536 This can be raised, for example, in response to
       
   537 <a href="../reference-cpp/WSERV8.1/RWsSessionClass.html#%3a%3aRWsSession%3a%3aRequestOffEvents%28%29" title="function RWsSession::RequestOffEvents()"><code class="ApiItem">RWsSession::RequestOffEvents()</code></a>
       
   538 </p>
       
   539 <code>52</code>
       
   540 <p>
       
   541 A client attempted to perform and operation on a window that has
       
   542 had its parent or ancestor deleted. An operation which might raise this panic
       
   543 could be setting the window size, position or extent. 
       
   544 </p>
       
   545 <p>
       
   546 Introduced in v5.1 
       
   547 </p>
       
   548 <code>53</code>
       
   549 <p>
       
   550 A client attempted to reset a window group&#8217;s default owning window.
       
   551 For example, by calling the function
       
   552 <a href="../reference-cpp/WSERV8.1/RWindowGroupClass.html#%3a%3aRWindowGroup%3a%3aDefaultOwningWindow%28%29" title="function RWindowGroup::DefaultOwningWindow()"><code class="ApiItem">RWindowGroup::DefaultOwningWindow()</code></a> twice on the same
       
   553 window group. 
       
   554 </p>
       
   555 <p>
       
   556 This is only raised in debug builds. 
       
   557 </p>
       
   558 <code>54</code>
       
   559 <p>
       
   560 A client attempted to perform an operation on an invalid screen
       
   561 mode. 
       
   562 </p>
       
   563 <p>
       
   564 For example, if the client called the functions
       
   565 <a href="../reference-cpp/WSERV8.1/CWsScreenDeviceClass.html#%3a%3aCWsScreenDevice%3a%3aGetScreenModeSizeAndRotation%28%29" title="function CWsScreenDevice::GetScreenModeSizeAndRotation()"><code class="ApiItem">CWsScreenDevice::GetScreenModeSizeAndRotation()</code></a> or
       
   566 <a href="../reference-cpp/WSERV8.1/CWsScreenDeviceClass.html#%3a%3aCWsScreenDevice%3a%3aSetScreenMode%28%29" title="function CWsScreenDevice::SetScreenMode()"><code class="ApiItem">CWsScreenDevice::SetScreenMode()</code></a> with an illegal index. 
       
   567 </p>
       
   568 <p>
       
   569 Introduced in v5.1 
       
   570 </p>
       
   571 <code>55</code>
       
   572 <p>
       
   573 A client attempted to set an invalid screen enforcement mode. 
       
   574 </p>
       
   575 <p>
       
   576 The valid screen mode enforcement modes are defined in
       
   577 <a href="../reference-cpp/WSERV8.1/TScreenModeEnforcementEnum.html#%3a%3aTScreenModeEnforcement" title="enum TScreenModeEnforcement"><code class="ApiItem">TScreenModeEnforcement</code></a>. 
       
   578 </p>
       
   579 <p>
       
   580 Introduced in v5.1 
       
   581 </p>
       
   582 <code>56</code>
       
   583 <p>
       
   584 A client specified an event type which was not a pointer event,
       
   585 when this is what was required by the operation. e.g.
       
   586 <a href="../reference-cpp/WSERV8.1/RWindowGroupClass.html#%3a%3aRWindowGroup%3a%3aSimulatePointerEvent%28%29" title="function RWindowGroup::SimulatePointerEvent()"><code class="ApiItem">RWindowGroup::SimulatePointerEvent()</code></a>. 
       
   587 </p>
       
   588 <p>
       
   589 Introduced in v5.1 
       
   590 </p>
       
   591 <code>57</code>
       
   592 <p>
       
   593 A client attempted to specify a screen rotation or orientation that
       
   594 is not allowed. Each screen size mode has a list of allowed rotations. 
       
   595 </p>
       
   596 <p>
       
   597 Introduced in v5.1 
       
   598 </p>
       
   599 <code>58</code>
       
   600 <p>
       
   601 A client attempted to call a function that can only be called on a
       
   602 top level client window on a lower level window. A top level client window is a
       
   603 window with a window group as a parent, e.g.
       
   604 <a href="../reference-cpp/WSERV8.1/RWindowBaseClass.html#%3a%3aRWindowBase%3a%3aMoveToGroup%28%29" title="function RWindowBase::MoveToGroup()"><code class="ApiItem">RWindowBase::MoveToGroup()</code></a>. 
       
   605 </p>
       
   606 <p>
       
   607 Introduced in v6.0 
       
   608 </p>
       
   609 <code>59</code>
       
   610 <p>
       
   611 A client attempted to use a
       
   612 <a href="../reference-cpp/WSERV8.1/RDirectScreenAccessClass.html#%3a%3aRDirectScreenAccess" title="class RDirectScreenAccess"><code class="ApiItem">RDirectScreenAccess</code></a> object's member functions in the wrong
       
   613 order. 
       
   614 </p>
       
   615 <p>
       
   616 Introduced in v7.0 
       
   617 </p>
       
   618 <code>60</code>
       
   619 <p>
       
   620 The handle to a window server resource is already in use (debug
       
   621 builds only). 
       
   622 </p>
       
   623 <p>
       
   624 Introduced in v7.0 
       
   625 </p>
       
   626 <code>61</code>
       
   627 <p>
       
   628 An attempt was made to set a custom text cursor (using
       
   629 <a href="../reference-cpp/WSERV8.1/RWindowGroupClass.html#%3a%3aRWindowGroup%3a%3aSetTextCursor%28%29" title="function RWindowGroup::SetTextCursor()"><code class="ApiItem">RWindowGroup::SetTextCursor()</code></a>) but the cursor's type was
       
   630 not recognised. 
       
   631 </p>
       
   632 <p>
       
   633 Introduced in v7.0s. 
       
   634 </p>
       
   635 <code>62</code>
       
   636 <p>
       
   637 An attempt was made to set a custom text cursor (using
       
   638 <a href="../reference-cpp/WSERV8.1/RWindowGroupClass.html#%3a%3aRWindowGroup%3a%3aSetTextCursor%28%29" title="function RWindowGroup::SetTextCursor()"><code class="ApiItem">RWindowGroup::SetTextCursor()</code></a>) whose alignment value is
       
   639 invalid. For valid alignment values see the
       
   640 <code class="ApiItem">TCustomTextCursorAlignment</code> enumeration in class
       
   641 <a href="../reference-cpp/WSERV8.1/RWsSessionClass.html#%3a%3aRWsSession" title="class RWsSession"><code class="ApiItem">RWsSession</code></a>. 
       
   642 </p>
       
   643 <p>
       
   644 Introduced in v7.0s. 
       
   645 </p>
       
   646 <code>63</code>
       
   647 <p>
       
   648 An attempt was made to set a custom text cursor (using
       
   649 <a href="../reference-cpp/WSERV8.1/RWindowGroupClass.html#%3a%3aRWindowGroup%3a%3aSetTextCursor%28%29" title="function RWindowGroup::SetTextCursor()"><code class="ApiItem">RWindowGroup::SetTextCursor()</code></a>) that does not have any
       
   650 sprite members set. 
       
   651 </p>
       
   652 <p>
       
   653 Introduced in v7.0s.</p>