IRC Log Viewer » #firebreath » 2012-09-17

IRC Nick Time (GMT-7) Message
jshanab 07:09 I am working on with a plugin on windows and I have a condition variable that prevents my program from continuing until after onWindowAtach is called.
But if I let it run at full speed, and I ask Windows what the window dimensions are they are the desktop diminsions. If I step thru the code, the dimensions are correct. Could onWindowAttach somehow be called too early? (I am on windows7 if that makes any difference)
JuanDaugherty 08:09 sounds like you haven't gotten in the chain from plugin auto and are staring a top level window
*starting
rohald124 10:09 Hello, what is the current status on embedding opengl? The demo mentioned on the website has a number of loose ends.
taxilian 10:09 rohald124: lots of people do it, but you need to know what you're doing
jshanab: onWindowAttached is called as soon as the plugin gets the window; I think sometimes the browser doesn't bother to set the size first
watch the resize event
rkjnsn 11:09 mYLZtgCN897166
Err... sorry. Wrong window.
JuanDaugherty 11:09 that looks like a secret
or a cat/child
does the empty generated project require NP_GetEntryPoints to be supplied?
(in VS)
taxilian 11:09 no
it comes from the PluginAuto projectg
JuanDaugherty 11:09 thx
JuanDaugherty 11:09 once you've fully populated your plugin, built it out, are you supposed to run the prep command?
taxilian 11:09 you never save the build directory
it won't work on a different computer
but you only need to run the prep command when something has changed or it's a new computer or something
JuanDaugherty 11:09 yes but the built out sources aren't in the bld directory, the second parameter to the prep cmd
taxilian 11:09 the prep command only does anything with the build directory
JuanDaugherty 11:09 or when you've built out the plugin beyond the generated stub?
taxilian 11:09 not sure I understand your question
JuanDaugherty 11:09 something changed where?
taxilian 11:09 you mean your project directory?
that's not created by the prep command
that's fbgen
and no, you don't ever run that again
if something changes in your cmake files, configuration files
JuanDaugherty 11:09 i c
do you have a commitment to portability such that if a plugin is built out on your fw on one platform for a given version,
it's sources can be merged into a fbgen'ed stub on another at the same level of the fw?
*fbgen'ed and prep'ed
taxilian 11:09 hmm. I'm not sure I understand your question; fbgen generates a project that works on all three platforms
pretty much the only things that aren't directly portable are drawing APIs (you have a different kinds of PluginWindow) and anything you do that requires system APIs
well, my router died on me, so I need to go buy a new hard drive and try to fix it. be back later
star_ 14:09 Hello
taxilian 14:09 hello
star_ 14:09 i try to build firebreath (last version from g) project with boost::chrono, but i receive next error "unresolved external symbol "public: static class boost::chrono::time_point<class boost::chrono::steady_clock,class boost::chrono::duration<__int64,class boost::ratio<1,1000000000> > >....."
taxilian 14:09 are you using external boost?
star_ 14:09 no, with forebreath
taxilian 14:09 did you get firebreath from git?
star_ 14:09 yes, last version
taxilian 14:09 try doing a git submodule update --recursive
star_ 14:09 i did it already
taxilian 14:09 which platform?
star_ 14:09 boost 1.5
taxilian 14:09 which platform?
star_ 14:09 windows 7, x86
taxilian 14:09 hmm. did you previously use an earlier version and then recently updated?
star_ 14:09 i create new project with latest version of firebreath from git
taxilian 14:09 what changes (if any?) have you made to your project after running fbgen?
star_ 14:09 ..\FireBreath\prep2010.cmd ..\test ..\test\build "-DWITH_DYNAMIC_MSVC_RUNTIME=1"
and only add SDL woth CMake
taxilian 14:09 have you tried building it without setting the dynamic MSVC runtime?
actually, better question
try building the examples
prep2010.cmd examples
see if you have the same issue
though...
hm
maybe I misunderstood your problem/question
are you getting that error trying to do normal things or are you specifically tryingt o use boost::chrono?
star_ 14:09 only with: #include "boost/chrono/chrono.hpp"
taxilian 14:09 ahh
so you're trying to use chrono
star_ 14:09 yes!
taxilian 14:09 I'm not sure if I inlcluded chrono in the firebreath-boost or not
let me look
it does not appear that I did
you'd probably have to use your own boost or manually go and find the binary libs and add them
jshanab_ 14:09 I thought I was using system boost, but I am not. What is the trick? and what version is FB at, I saw traffic about it's update
taxilian 14:09 jshanab_: when it updates it will be 1.7.0
star_ 14:09 but documentation says (http://www.boost.org/doc/libs/1_50_0/more/getting_started/windows.html#header-only-libraries), that boost::chrono not relates to libraries that must be build
taxilian 14:09 aparently it lies
because the error you quoted is a linker error
star_ 14:09 Ok, thanks
taxilian 14:09 unresolved external symbol *always* means that the linker is trying to find that symbol but it wasn't built anywhere
jshanab_ 14:09 Soory, I mean what version of boost in the FB 1.7(head)
taxilian 14:09 it may be possible to add a preprocessor def that makes it header-only
I don't know
star_ 14:09 Another question: Do you know, why Visual Studio IntelliSense not working with FireBreath project?
taxilian 14:09 the theory is that the ms package manager is broken and boost is too big for it to work
star_ 14:09 in VS 2012, after half an hour its start working, but if close project, if again start to parse all files
taxilian 14:09 if you figure out a way to fix it, let us know =]
star_ 14:09 only way that i know its to install visual assist
taxilian 14:09 that's what I do
JuanDaugherty 14:09 <taxilian> the reason is that if you subclass the window yourself you'll kill some of FireBreath's internal workings and if you use firebreath's abstraction for giving you access to those (there are two ways) then it won't give you enough access
sorry, I didn't follow up then; what are the two ways?
taxilian 14:09 JuanDaugherty: the first is to just handle the WindowEvent, which simply wraps a HWND message
that's the easy way
the second is to subclass PluginWindowWin with your own and override the custom winproc method there
then in the factory you can override the factory method to return yours
JuanDaugherty 14:09 yeah, I was assuming the second
taxilian 14:09 I don't usually recommend that, since it's a pain and far more likely to be inadvertantly broken in a future version, but you use what you need to solve the problem
most often if that's what you need then creating your own child HWND is the better solution
JuanDaugherty 14:09 I think I have to but too tired to say for sure right ATM
jshanab_ 14:09 I am still not able to use system boost in windows. I add a few of the -D options but it complains about libraries. Do I also remove the add_boost_library(*) in the pluginConfig.cmake?
JuanDaugherty 14:09 can an IE plugin work without AX?
taxilian 14:09 JuanDaugherty: no, IE only supports AX for plugins
jshanab_: I have no idea; I've never done it
JuanDaugherty 14:09 does "system boost" mean the header only usage in FB?
jshanab_ 14:09 newer boost cannot be header only :-(
JuanDaugherty 14:09 thought it could be both host abstraction and that with threads the only non-header stuff
jshanab_ 15:09 So if I just update firebreath, what version of boost will I get?
Filesystem and atomic and ipc need lib
JuanDaugherty 15:09 he's using current 1.51
jshanab_ 15:09 then that is the ticket!
JuanDaugherty 15:09 it's been more than 10 years since I've done intensive Win32 programming, but pretty sure then you couldn't use c++ member functions for window procs
taxilian 15:09 that is true
JuanDaugherty 15:09 when did it change?
taxilian 15:09 it didn't
JuanDaugherty 15:09 OK, I see I thought at first look your wrappers were
(i.e. were the actual window procs)
taxilian 15:09 nope =] but I find it's more convenient to put things back in the proper scope
JuanDaugherty 15:09 i get the impression there are no working X11 gui FB plugins
taxilian 15:09 there are
just the people who have them haven't shared back much
JuanDaugherty 15:09 that's what I figured
so carbon and dos are the actually worked out guis
taxilian 15:09 ?
carbon is completely deprecated
and we don't support any version of windows earlier than xp, so dos is long gone (me was the last dos-based windows)
JuanDaugherty 15:09 what do the call it now?
y
taxilian 15:09 cocoa is the new mac interface
JuanDaugherty 15:09 o right
taxilian 15:09 but yeah, mac/windows are the ones I know well enough to put stuff in for
the x11 stuff is a little less well rounded
JuanDaugherty 15:09 so if your plugin works with IE and FF it's work with anything on Windows, like Opera?
taxilian 15:09 opera may or may not work
JuanDaugherty 15:09 *it'll
taxilian 15:09 every time I look something else is weird
it should in theory work on opera
but in practice opera has really lousy plugin support
and it's not worth the effort to keep it working
JuanDaugherty 15:09 it uses AX?
but yeah, agree, it's only a consideration if you have to have like 99.9 coverage or something
taxilian 15:09 no, opera uses npapi
only ie uses activex
JuanDaugherty 15:09 are you considering mobile?
taxilian 15:09 I might if I thought I could make firebreath build on android
but I doubt it
JuanDaugherty 15:09 mozilla was trynna stay out
then they did a 180
i've done android, it's not bad
taxilian 15:09 also I prefer to keep things consistent across platforms; can't do plugins on ios, so easiest to do an app on both
JuanDaugherty 15:09 think I'm gonna get a nexus 77 and update this free app I did for it
you can't do plugins on Safari on non-Mac because Apple won't allow it?
taxilian 15:09 right
JuanDaugherty 15:09 they're goin down man
taxilian 15:09 no room for it in the app store ecosystem
nah, it makes sense
I'd do the same
JuanDaugherty 15:09 well they are a biz
a biz is just a biz
they're not ur bff or whatever
taxilian 15:09 exactly
supporting plugins would require a whole new way of installing things, a whole new potential pile of problems… and for very few (relatively speaking) legitimate usecases
JuanDaugherty 15:09 IT is an enormous field. Apple looks big now, but they're still actually a relatively small part, and dominant in only a few specialty areas
tablet is actually the only thing I can think of
so I should be able to do anything I could do in a regular win32 message handling proc in your event system, extending it in my generated derivative of core as needed?
taxilian 15:09 would think so
JuanDaugherty 16:09 i think I'll prolly have to do it the other way but will consider it
jshanab_ 16:09 Anyone building firebreath on Windows 8 ???
When I do the "git submodule update --init --recursive" it claims srdparty/boost is not a git repo :-(
taxilian 16:09 weird
jshanab_ 16:09 I am thinking a url is not being interpreted correctly in .gitmodules. but it would be the one in the firebreath and it works on win7
Windows path length limit passed to gitbash and all those ..\..\..\
JuanDaugherty 17:09 I don't understand why the VS projects say in the IDE thay're not using PCH
they're generated outside it's normal mechanism so it doesn't see them, know they're there
taxilian 17:09 mine shows up...
Wait a sec… are you using 1.6?
or the latest from master/1.7?
JuanDaugherty 17:09 how would I tell?
I did git
taxilian 17:09 default branch?
JuanDaugherty 17:09 suppose so
the version file say 25 juen
taxilian 17:09 no idea, then; I go to the project properties (not my project, but any firebreath ones) and go to Configuration Properties : C/C++ : Precompiled Headers
and there it is
JuanDaugherty 17:09 the version file say 25 june
and it says using precompiled headers 'Yes'?
so which branch should I be using to have that?
*says
taxilian 17:09 that's the latest from master
JuanDaugherty 17:09 that I should use to have VS pick up the pch's or that is assoc with 25 june?
taxilian 17:09 tyring to think; might be that fix happened after 25 june
do a git pull
in fact it probably did
JuanDaugherty 17:09 Not a git repository
taxilian 17:09 well, try getting the latest
however you want to do it
JuanDaugherty 17:09 maybe I did the git clone on unix
the version file there is just a template
taxilian 17:09 the version file owuld be filled out if you'd downloaded the tarball from github
JuanDaugherty 17:09 prolly it was some weeks ago
well only about 2 but still
JuanDaugherty 17:09 confirmed, current shows the pch setting in the IDE
taxilian 17:09 have fun =]
gotta run