Update of /cvsroot/arcem/arcem/X
In directory vz-cvs-4.sog:/tmp/cvs-serv13637/X
Modified Files:
ControlPane.c DispKbd.c pseudo.c true.c
Log Message:
* Add ControlPane_Error() function to allow errors to be reported in a
platform-specific way.
* Replace numerous fprintf(stderr,"Foo"); exit(1); calls with calls to
ControlPane_Error()
RISC OS specific changes:
* Add support for running in 32bpp modes (e.g. for Raspberry Pi)
* Allow tweak menu keys to be configured
* Fix stdout redirection preventing tweak menu from being visible!
Index: ControlPane.c
===================================================================
RCS file: /cvsroot/arcem/arcem/X/ControlPane.c,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -d -r1.18 -r1.19
--- ControlPane.c 12 May 2012 17:34:51 -0000 1.18
+++ ControlPane.c 21 Oct 2012 16:59:31 -0000 1.19
@@ -16,6 +16,8 @@
#include "arch/keyboard.h"
#include <string.h>
+#include <stdarg.h>
+#include <stdio.h>
#define CTRLPANEWIDTH 640
#define CTRLPANEHEIGHT 100
@@ -205,8 +207,7 @@
tmpptr = strdup("Arc emulator - Control panel");
if (XStringListToTextProperty(&tmpptr, 1, &name) == 0) {
- fprintf(stderr, "Could not allocate window name\n");
- exit(1);
+ ControlPane_Error(1,"Could not allocate window name\n");
}
XSetWMName(PD.disp, PD.ControlPane, &name);
@@ -219,8 +220,7 @@
PD.ButtonFont = XLoadQueryFont(PD.disp, "fixed");
if (PD.ButtonFont == NULL) {
- fprintf(stderr, "Couldn't get font for buttons\n");
- exit(1);
+ ControlPane_Error(1,"Couldn't get font for buttons\n");
}
XSetFont(PD.disp, PD.ControlPaneGC, PD.ButtonFont->fid);
@@ -241,5 +241,17 @@
} /* ControlPane_Init */
+/*----------------------------------------------------------------------------*/
+
+void ControlPane_Error(int code,const char *fmt,...)
+{
+ va_list args;
+ va_start(args,fmt);
+ /* Log it */
+ vfprintf(stderr,fmt,args);
+ /* Quit */
+ exit(code);
+}
+
Index: pseudo.c
===================================================================
RCS file: /cvsroot/arcem/arcem/X/pseudo.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- pseudo.c 12 May 2012 17:34:51 -0000 1.3
+++ pseudo.c 21 Oct 2012 16:59:31 -0000 1.4
@@ -28,6 +28,7 @@
#include "../armemu.h"
#include "arch/displaydev.h"
#include "platform.h"
+#include "ControlPane.h"
typedef char SDD_HostColour;
#define SDD_Name(x) pseudo_##x
@@ -76,9 +77,8 @@
static void SDD_Name(Host_ChangeMode)(ARMul_State *state,int width,int
height,int hz)
{
if (width > MaxVideoWidth || height > MaxVideoHeight) {
- fprintf(stderr, "Resize_Window: new size (%d, %d) exceeds maximum (%d,
%d)\n",
+ ControlPane_Error(EXIT_FAILURE,"Resize_Window: new size (%d, %d) exceeds
maximum (%d, %d)\n",
width, height, MaxVideoWidth, MaxVideoHeight);
- exit(EXIT_FAILURE);
}
HD.XScale = 1;
Index: DispKbd.c
===================================================================
RCS file: /cvsroot/arcem/arcem/X/DispKbd.c,v
retrieving revision 1.81
retrieving revision 1.82
diff -u -d -r1.81 -r1.82
--- DispKbd.c 20 Jul 2012 20:18:57 -0000 1.81
+++ DispKbd.c 21 Oct 2012 16:59:31 -0000 1.82
@@ -392,8 +392,7 @@
PD.blue_prec);
} else {
puts("nothing suitable");
- fprintf(stderr,"DisplayKbd_Init: Failed to find a matching visual - I'm
looking for either 8 bit Pseudo colour, or 32,24,16, or 15 bit TrueColour -
sorry\n");
- exit(EXIT_FAILURE);
+ ControlPane_Error(EXIT_FAILURE,"DisplayKbd_Init: Failed to find a
matching visual - I'm looking for either 8 bit Pseudo colour, or 32,24,16, or
15 bit TrueColour - sorry\n");
}
}
@@ -918,9 +917,8 @@
} else if (e.xany.window == PD.CursorPane) {
CursorPane_Event(state, &e);
} else {
- fprintf(stderr, "event on unknown window: %#lx %d\n",
+ ControlPane_Error(EXIT_FAILURE,"event on unknown window: %#lx %d\n",
e.xany.window, e.type);
- exit(EXIT_FAILURE);
}
}
return 0;
@@ -977,9 +975,8 @@
void *p;
if ((p = malloc(n)) == NULL) {
- fprintf(stderr, "arcem: malloc of %zu bytes for %s failed.\n",
+ ControlPane_Error(1,"arcem: malloc of %zu bytes for %s failed.\n",
n, use);
- exit(1);
}
return p;
@@ -1001,6 +998,5 @@
return;
}
- fprintf(stderr, "arcem: insisting on %s.\n", diag);
- exit(1);
+ ControlPane_Error(1,"arcem: insisting on %s.\n", diag);
}
Index: true.c
===================================================================
RCS file: /cvsroot/arcem/arcem/X/true.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- true.c 12 May 2012 17:34:51 -0000 1.3
+++ true.c 21 Oct 2012 16:59:31 -0000 1.4
@@ -26,6 +26,7 @@
#include "../armemu.h"
#include "arch/displaydev.h"
#include "platform.h"
+#include "ControlPane.h"
typedef unsigned int SDD_HostColour;
#define SDD_Name(x) true_##x
@@ -87,9 +88,8 @@
static void SDD_Name(Host_ChangeMode)(ARMul_State *state,int width,int
height,int hz)
{
if (width > MaxVideoWidth || height > MaxVideoHeight) {
- fprintf(stderr, "Resize_Window: new size (%d, %d) exceeds maximum (%d,
%d)\n",
+ ControlPane_Error(EXIT_FAILURE,"Resize_Window: new size (%d, %d) exceeds
maximum (%d, %d)\n",
width, height, MaxVideoWidth, MaxVideoHeight);
- exit(EXIT_FAILURE);
}
HD.XScale = 1;
------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_sfd2d_oct
--
arcem-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/arcem-cvs