Ensure that all four callbacks are provided when registering a window function
(otherwise SQLITE_MISUSE is returned).

FossilOrigin-Name: 5720dcd8b111b1f8712c8fb4b441ccb129e838db8c26a6e9e0f095dc6a851f6b
diff --git a/src/main.c b/src/main.c
index 9f6061b..78a8d61 100644
--- a/src/main.c
+++ b/src/main.c
@@ -1696,6 +1696,7 @@
       (xSFunc && (xFinal || xStep)) || 
       (!xSFunc && (xFinal && !xStep)) ||
       (!xSFunc && (!xFinal && xStep)) ||
+      ((xValue || xInverse) && (!xStep || !xFinal || !xValue || !xInverse)) ||
       (nArg<-1 || nArg>SQLITE_MAX_FUNCTION_ARG) ||
       (255<(nName = sqlite3Strlen30( zFunctionName))) ){
     return SQLITE_MISUSE_BKPT;