|
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’s requests. Instead it panics the client’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’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’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’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’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’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’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’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 — <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’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>’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’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’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’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> |