Comments (3)
This doesn't look as pretty, but at least it works:
func PushEvent(event Event) bool {
var p cast
switch ev := event.(type) {
case ActiveEvent: p = cast(&ev)
case KeyboardEvent: p = cast(&ev)
case MouseMotionEvent: p = cast(&ev)
case MouseButtonEvent: p = cast(&ev)
case JoyAxisEvent: p = cast(&ev)
case JoyBallEvent: p = cast(&ev)
case JoyHatEvent: p = cast(&ev)
case JoyButtonEvent: p = cast(&ev)
case ResizeEvent: p = cast(&ev)
case ExposeEvent: p = cast(&ev)
case QuitEvent: p = cast(&ev)
case UserEvent: p = cast(&ev)
case SysWMEvent: p = cast(&ev)
default: panic(fmt.Errorf("Unknown event type: %T", event))
}
ret := C.SDL_PushEvent((*C.SDL_Event)(p))
return ret != 0
}
from go-sdl.
Found the problem. cEvent() is attempting to run UnsafeAddr() on a pointer. I'll send in a pull-request with a fix.
One other thing to note, however: It looks like you're attempting to run PushEvent() on a non-pointer. You need to run it on a pointer:
PushEvent(UserEvent{})
will panic, but
PushEvent(&UserEvent{})
will succeed, after the fix is implemented. I'll also add something to the godoc comment for PushEvent() that explicitly states that.
from go-sdl.
This is not compatible with the current event-handling though (which needs to be changed anyway: Issue 55).
from go-sdl.
Related Issues (20)
- Compile error with "6g version weekly.2011-04-04 8085"
- Unlock flips the buffer HOT 1
- Unable to compile on Windows/MinGW32 HOT 3
- "Package SDL_ttf was not found in the pkg-config search path." HOT 5
- Included test program crashes on startup (OSX) HOT 2
- License?
- Bunch of unresolved names when building HOT 1
- Fail to build HOT 3
- Issue with Goinstall HOT 1
- Does Go-SDL work with the go command? HOT 2
- Event parameters HOT 1
- Go-SDL/ttf incompatible with Go 1.0.1? HOT 3
- Add SDL_mixer effects for things like positional sound
- [fyi] go-sdl-example
- Outdated Install Instructions? HOT 1
- which fork should i use? HOT 1
- Uncaught exception in OSX 10.8.4 when trying to run the tests HOT 1
- Update to newer go version
- On Windows "Package sdl was not found in the pkg-config search path."
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from go-sdl.