So I’ve been working on a new version of my app, starting from the ground up, trying to incorporate a Context/Backend (which I’m still trying to figure out). Here’s the GitHub (https://github.com/Hahnstrong/SASi-New).
Anyways, I’m not sure how this broke, and I’ve been trying to figure it out for awhile, but I’ve had no success. For some reason, on one of my pages, when I click a button simply to progress to the next page, I get this error message
"Fatal signal 11 (SIGSEGV), code 1, fault addr 0x7 in tid 13625 (Thread-3)"
Here is the UX and JS code for that page
<SASi.Page ux:Class="VehicleListPage">
<Router ux:Dependency="router" />
<JavaScript File="VehicleListPage.js" />
<DockPanel>
<SASi.Text FontSize="30" TextAlignment="Center" Dock="Top" Margin="0,50">Your Vehicles</SASi.Text>
<Grid Dock="Bottom">
<SASi.Button Text="Add Vehicle" Clicked="{goToVehicleCreate}" />
</Grid>
<ScrollView>
<StackPanel>
<Rectangle ux:Class="Separator" Height="1" Fill="#fff4" />
<Each Items="{vehicles}" >
<Separator />
<Panel HitTestMode="LocalBoundsAndChildren" Clicked="{goToVehicleInfo}">
<SASi.Text Value="{model}" Margin="20" />
<WhilePressed>
<Scale Factor=".95" Duration=".08" Easing="QuadraticOut" />
</WhilePressed>
</Panel>
</Each>
<Separator />
</StackPanel>
</ScrollView>
</DockPanel>
<Activated Handler="{viewLoaded}" />
</SASi.Page>
var Context = require("Modules/Context");
console.log(Context.vehicles);
function goToVehicleCreate() {
router.push("vehicleInfo");
}
function viewLoaded() {
console.log(Context.vehicles);
}
module.exports = {
vehicles: Context.vehicles,
goToVehicleCreate: goToVehicleCreate,
viewLoaded: viewLoaded,
};
And here is the code for the page that should be loaded.
<SASi.Page ux:Class="VehicleInfoPage">
<Router ux:Dependency="router" />
<JavaScript File="VehicleInfoPage.js" />
<DockPanel>
<Grid ColumnCount="2" RowCount="2" Dock="Bottom">
<SASi.Button Text="Order Services for this Vehicle" ColumnSpan="2" Clicked="{goToSelections}" />
<SASi.Button Text="Cancel" Clicked="{cancel}" />
<SASi.Button Text="Save" Clicked="{save}" />
</Grid>
<ScrollView>
<StackPanel ItemSpacing="10" Padding="10">
<SASi.Text Opacity=".6" Margin="0,0,0,5" />
<StackPanel>
<SASi.Text>*Required Information</SASi.Text>
<SASi.Text>*Vehicle Year: ex. 2010 </SASi.Text>
<SASi.TextBox Value="{vyear}" InputHint="Number" />
</StackPanel>
<StackPanel>
<SASi.Text>*Vehicle Make: ex. Ford </SASi.Text>
<SASi.TextBox Value="{vmake}" AutoCorrectHint="Enabled" AutoCapitalizationHint="Words" />
</StackPanel>
<StackPanel>
<SASi.Text>*Vehicle Model: ex. F150 </SASi.Text>
<SASi.TextBox Value="{vmodel}" AutoCorrectHint="Enabled" AutoCapitalizationHint="Words" />
</StackPanel>
<StackPanel>
<SASi.Text>Prefered Fuel Type: ex. Unleaded</SASi.Text>
<SASi.TextBox Value="{fuelType}" AutoCorrectHint="Enabled" AutoCapitalizationHint="Words" />
</StackPanel>
<StackPanel>
<SASi.Text>Additional Notes: ex. Oil type, special requests...</SASi.Text>
<SASi.TextView Value="{comments}" TextAlignment="Left" Height="80" AutoCorrectHint="Enabled" AutoCapitalizationHint="Sentences" />
</StackPanel>
<SASi.Text Value="{info}" Color="#FF0000" TextWrapping="Wrap"/>
</StackPanel>
</ScrollView>
</DockPanel>
</SASi.Page>
var Observable = require("FuseJS/Observable");
var Context = require("Modules/Context");
var UUID = require('UUIDModule');
var vyear = Observable("");
var vmake = Observable("");
var vmodel = Observable("");
var fueltType = Observable("");
var comments = Observable("");
var info = Observable("");
var guid = UUID.getUUID();
var id = JSON.stringify(guid);
function save() {
Context.updateVehicle(id, vyear, vmake, vmodel, fuelType, comments);
router.goBack();
}
function goToSelections() {
}
function cancel() {
}
function viewLoaded() {
}
module.exports = {
vyear: vyear,
vmake: vmake,
vmodel: vmodel,
fuelType: fuelType,
comments: comments,
cancel: cancel,
save: save,
goToSelections: goToSelections,
info: info,
viewLoaded: viewLoaded,
};
Let me know if anyone has any idea why. Thanks in advance!