Use case: I want a "quicktabs" style view where each "tab" is a view result row. I'm rendering 3 nodes in the main display, and then the 3 node titles in the attachment. Then I have a bit of custom javascript that toggles the visibility of the appropriate node based on the link clicked. This requires the order of the titles in the attachment and the full node displays in the main display to match.
Setup: I have a Views Content Pane display configured in my view, which has an attachment. The attachment is configured to inherit arguments and exposed filters from the parent display. The content pane is configured so that the arguments and exposed filters / sorts can be configured via the panel pane configuration.
Situation: with the above setup, there is no exposed filters form displayed or rendered - the settings come from the panel pane. As a result, there are no $_GET parameters in the url showing what the exposed input values are.
Problem: the parent content pane display receives the exposed input values from the pane configuration, and that display appears correctly. However, the attachment doesn't receive its exposed input values from the parent display - it is still looking at the url for the $_GET parameters, even though it has the correct values in $view->exposed_input (when printed in the "attach_to()" function in plugins/views_plugin_display_attachment.inc). It doesn't have $view->exposed_raw_input or $view->exposed_data set initially, however once get_exposed_input() function is executed all of these 3 variables are set to the default values, not the actual values configured in the panel pane.
This means that the content pane and its attachment are using different exposed filters/sorts, which is causing problems with my "quicktabs" use case as there is a different sort applied to the 2 displays, and so there is a mismatch between the title clicked and node content displayed.
Solution: 2 line patch (see attached) which uses the "exposed_input" as the parent display and calls $view->set_exposed_input(). This prevents the exposed form being submitted again which would result in the default exposed filter/sort settings being used rather than those configured in the panel pane.