FreeCalypso > hg > fc-magnetite
annotate src/gpf2/inc/alert.h @ 660:293c7db5f10f
bmi3: fixed the mysterious "mute on first call" bug
When UI-enabled fw boots on a previously blank (no /mmi/* files) FFS
for the first time, the output_volume member of the persistent UI settings
structure was left uninitialized, corresponding to the earpiece volume
being set to mute, which is an invalid setting. Because of other quirks
in the far-from-finished UI code, this volume setting takes effect only
when the first call is answered, producing the odd behaviour seen at the
user level.
The current fix is to set the blank-FFS default for output_volume to
volume level 4, which is the same -6 dB Iota volume as the ACI default.
| author | Mychaela Falconia <falcon@freecalypso.org> |
|---|---|
| date | Thu, 14 May 2020 02:50:41 +0000 |
| parents | 864b8cc0cf63 |
| children |
| rev | line source |
|---|---|
|
1
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1 /* |
|
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2 +------------------------------------------------------------------------------ |
|
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
3 | File: alert.h |
|
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
4 +------------------------------------------------------------------------------ |
|
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
5 | Copyright 2002 Texas Instruments Berlin, AG |
|
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
6 | All rights reserved. |
|
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
7 | |
|
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
8 | This file is confidential and a trade secret of Texas |
|
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
9 | Instruments Berlin, AG |
|
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
10 | The receipt of or possession of this file does not convey |
|
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
11 | any rights to reproduce or disclose its contents or to |
|
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
12 | manufacture, use, or sell anything it may describe, in |
|
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
13 | whole, or in part, without the specific written consent of |
|
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
14 | Texas Instruments Berlin, AG. |
|
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
15 +----------------------------------------------------------------------------- |
|
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
16 | Purpose : definitions for the ALERT macro. |
|
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
17 +----------------------------------------------------------------------------- |
|
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
18 */ |
|
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
19 |
|
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
20 #ifndef ALERT_H |
|
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
21 #define ALERT_H |
|
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
22 |
|
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
23 #undef ALERT |
|
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
24 #undef E_ALERT |
|
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
25 |
|
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
26 #ifndef ALERT_OFF |
|
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
27 #include "typedefs.h" |
|
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
28 #include "vsi.h" |
|
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
29 |
|
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
30 extern BOOL _Alert(char *, T_HANDLE, ULONG); |
|
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
31 extern BOOL alert_info(char *, ...); |
|
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
32 #define NO_ALERT_INFO alert_info("") |
|
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
33 |
|
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
34 #define _STR(x) _VAL(x) |
|
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
35 #define _VAL(x) #x |
|
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
36 /* |
|
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
37 * The && FALSE in the end is just to notify the reader that |
|
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
38 * FALSE is always returned if the predicate evaluates to false. |
|
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
39 */ |
|
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
40 #define ALERT(expression, alertclass, function) ((expression) ? ((void) 0) : \ |
|
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
41 (void) (_Alert(__FILE__ "(" _STR(__LINE__) ") \"" #expression "\"", VSI_CALLER TC_ALERT_##alertclass) && (function))) |
|
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
42 |
|
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
43 #define E_ALERT(expression, alertclass, function) ((expression) ? (TRUE) : \ |
|
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
44 (BOOL) (_Alert(__FILE__ "(" _STR(__LINE__) ") \"" #expression "\"", VSI_CALLER TC_ALERT_##alertclass) && (function) && FALSE)) |
|
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
45 |
|
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
46 #else /* ALERT_OFF */ |
|
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
47 #define NO_ALERT_INFO (0) |
|
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
48 #define ALERT(expression, alertclass, function) ((void) 0) |
|
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
49 #define E_ALERT(expression, alertclass, function) (expression) |
|
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
50 #endif /* ALERT_OFF */ |
|
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
51 |
|
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
52 #endif /* ALERT_H */ |
|
864b8cc0cf63
src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
53 |
