How to duplicate a browserview? - electron

I have to load react-dom module in each browserview (there are 3 of them in my app). It's not optimal. Can I duplicate the view with already loaded react-dom?

Related

CFBundleGetFunctionPointerForName and dlsym return NULL for exported function

I have a fork of the JavaScriptCore framework, where I have added a function of my own, which is exported. The framework compiles just find. Running nm on the framework reveals that the function (JSContextCreateBacktrace_unsafe) is indeed exported:
Leo-Natans-Wix-MPB:JavaScriptCore.framework lnatan$ nm -gU JavaScriptCore.framework/JavaScriptCore | grep JSContextCreateBacktrace
00000000004cb860 T _JSContextCreateBacktrace
00000000004cba10 T _JSContextCreateBacktrace_unsafe
However, I am unable to obtain the pointer of that function using CFBundleGetFunctionPointerForName or dlsym; both return NULL. At first, I used dlopen to open my framework, then tried using CFBundleCreate and then CFBundleGetFunctionPointerForName but that also returns NULL.
What could cause this?
Update
Something fishy is going on. I renamed one of the JSC functions, and nm reflects this. However, dlsym is still able to find the function with the original name, rather than the renamed.
It's hard to track this down since it's highly dependent on your specific environment and circumstances, but it is very likely you're running into this issue because the system image has already been loaded and you haven't changed the name of the framework.
If you look at the source code for dlopen in dyld/dyldAPIS.cpp:1458, you'll notice the context passed to dyld is configured with matchByInstallName = true. This context is then passed to load which executes the various stages necessary for image loading. There are a few phases worth noting:
loadPhase2 in dyld/dyld.cpp:2896 extracts the ending of the framework path and searches for it in the search path
loadPhase5check in dyld/dyld:2712 iterates over all loaded images and determines if any of them have a matching install name, and if one does, it returns that instead of loading a new one.
loadPhase5load in dyld/dyld:2601 finally loads the image if it wasn't loaded/found by any earlier steps. (It's worth noting loadPhase5check is executed first, since image loading is a two pass process.)
Given all of the above, I'd try renaming your framework to something besides JavaScriptCore.framework. Depending on the install name of both the system framework and your framework, I'd also recommend changing the install name. (There are plenty of blog articles and StackOverflow posts that document how to do this using install_name_tool -id.)

Sitefinity 9.2 MVC 5 Feather and Ninject - Error loading module, another module with the same name has already been loaded

Please see attached screenshots and code if that makes it easier (at the bottom of this http://www.sitefinity.com/developer-network/forums/developing-with-sitefinity-/sitefinity-8-2-to-9-upgrade-error#HlX3NsE3622pWP8AAERlJg post)
I have tried all the methods listed above and the workaround, but still keep getting the same issue.
This happens when I trigger changes(activate/deactivate) a module in Sitefinity/Administration/ModulesAndServices
The progress bar (green) goes into a loop and refreshing the page gives me this:
Error loading Ninject component ICache
No such component has been registered in the kernel's component container.
Suggestions:
1) If you have created a custom subclass for KernelBase, ensure that you have properly
implemented the AddComponents() method.
2) Ensure that you have not removed the component from the container via a call to RemoveAll().
3) Ensure you have not accidentally created more than one kernel.
And in the error logs for sitefinity I get:
Message : Error loading module 'YourPackage.YourModule' of type YourModule
Another module (of type YourModule) with the same name has already been loaded
Suggestions:
1) Ensure that you have not accidentally loaded the same module twice.
2) If you are using automatic module loading, ensure you have not manually loaded a module
that may be found by the module loader.
Have followed the article: http://docs.sitefinity.com/feather-use-constructor-dependency-injections
and the workaround too: https://github.com/Sitefinity/feather/issues/2580
Thanks in Advance

Duplicate symbol error when adding NSManagedObject subclass, duplicate link

I was trying to create NSManagedObject subclasses (2 related entities) automatically in Xcode. They are generated like this:
However, before I do anything further, when I tried to build and run it, a link error occur, as shown:
duplicate symbol _OBJC_CLASS_$_Photo in:
/Users/Kefeng/Library/Developer/Xcode/DerivedData/Photomania-aellrakjngugnzcgrleiytvrfvyt/Build/Intermediates/Photomania.build/Debug-iphonesimulator/Photomania.build/Objects-normal/x86_64/Photo+CoreDataClass.o
duplicate symbol _OBJC_METACLASS_$_Photo in:
/Users/Kefeng/Library/Developer/Xcode/DerivedData/Photomania-aellrakjngugnzcgrleiytvrfvyt/Build/Intermediates/Photomania.build/Debug-iphonesimulator/Photomania.build/Objects-normal/x86_64/Photo+CoreDataClass.o
duplicate symbol _OBJC_CLASS_$_Photography in:
/Users/Kefeng/Library/Developer/Xcode/DerivedData/Photomania-aellrakjngugnzcgrleiytvrfvyt/Build/Intermediates/Photomania.build/Debug-iphonesimulator/Photomania.build/Objects-normal/x86_64/Photography+CoreDataClass.o
duplicate symbol _OBJC_METACLASS_$_Photography in:
/Users/Kefeng/Library/Developer/Xcode/DerivedData/Photomania-aellrakjngugnzcgrleiytvrfvyt/Build/Intermediates/Photomania.build/Debug-iphonesimulator/Photomania.build/Objects-normal/x86_64/Photography+CoreDataClass.o
ld: 4 duplicate symbols for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
I tried several times by creating new projects and do the same thing. My original intention is to add some custom methods into those to subclasses. But when I add anything into e.g. Photo+CoreData.h/m, the same error as above showed up.
I found some answers about the "double include" or "save files to the wrong directory", but I didn't do that. Anybody have any idea about this?
If you do not generate managed object subclass automatically, then don't forget to check "Codegen" settings for an Entity in Data Model Inspector:
Edit:
Thanks to some help from #iPeter, found the following:
After doing Editor > Generate NSManagedObject files, if you trash the files BEFORE building, your project should build no problems.
Then #import "myManagedObjectName+CoreDataClass.h" (where the MO name is the one in the entity inspector in core data) into any classes where you require those Managed Objects.
In other words, you don't require any of the actual ManagedObject files in your folder. Xcode keeps the generated ones in your Derived Data folder.
If for some reason you need those files to remain in your file directory, the following workaround will work.
Go to your Target and delete the CoreDataClass sources in your Compile Sources.
Leaving you with this:
Most of the new attributes / relationships I added after the initial generation of ManagedObject subclasses were available as properties after a build. In one case where I renamed an existing relationship, I had to do Editor > Generate NSManagedObject Subclasses again, then I trashed the new files in my folder, built, and everything worked OK.
Just wrote a blog post that includes this info for anybody interested.
You should delete all these entities, change "Codegen" settings to "Manual/None" for them in Data Model Inspector, and generate entities again. It works good! You don't need to remove +CoreDataClass.h files from Compile Source. You don't need to mark entities as abstract. You don't need to generate classes by yourself. You should change only "Codegen" settings and regenerate entities automatically.
late post ... but for me was simply a copy paste of an entity, Xcode does not seem to change the original class name associated with the entity (observed on Xcode 9.0.1)
You need to remove the CoreData related sub class generated by yourself, and you can keep the #import line with those classes, now all those files will be generated automatically when build the project.
I recently tried the above answer and it failed.
Somehow, Xcode was still generating the files.
I solved it using the following method:
Mark all entities as Abstract
Build
Remove Abstract flag
Build
Success !
This sounds like a bug in Xcode...

undefined variables when importing another less file. LESS

When I load my Quote View, I'm getting unprocessed less text at the top. Stating a list of less variables undefined. However when I refresh the same page, the error goes away, and the styles work fine. I realize that SSPContainer.less is loaded after ReadOnlyWaybill.less (incorrect)when error, and on page refresh (working fine) is loaded before. so why is it behaving like that?
I'm using mvc bundling.
layout view - uses the layout bundle including SSPContainer.less
QuoteView - uses the quote bundle, including ReadOnlyWizard.less. but it is also inheriting the 'layout bundle files' as layout view is the master page of Quote View.
error - variable #line such and such is undefined in ReadOnlyWizardLess
SSPContainer.less - this is the parent less file, and declares the variables.
-ReadOnlyWizard.less - this imports 'SSPContainer.less' and uses its less variables.
??

How to localize UI files in PySide

I created an application which loads its UI dynamically from UI files (added to resources of application. I have't translate in with poyside-uic, loading as is. now I want lo localize application, but do not understand how.
I tried to generate TS file using pyside-lupdate widge1.ui widget2.ui ... -ts my.ts and got document with multiple context nodes and linguist does not shows all records (only about 7 records and I do not understand which exact).
So, my question: how to translate dynamically loaded UI files?
Found it. Quite simple, but not always obvious.
Execute pyside-lupdate file1.ui file2.ui .... fileN.ui -ts translations\ru_RU.ts. Got a TS file after that with multiple contexts (it is ok, I was wrong)
Open TS with linguist. Ensure that option 'Context' checked in menu "View->View"
...
PROFIT!!!

Resources