Skip to content

Commit 5cfdd12

Browse files
authored
Merge pull request #2342 from mgreter/bugfix/issue-2341
Fix media query stack and eval issue
2 parents e33894e + dd9b61e commit 5cfdd12

File tree

3 files changed

+7
-6
lines changed

3 files changed

+7
-6
lines changed

src/eval.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1329,7 +1329,7 @@ namespace Sass {
13291329
return ee;
13301330
}
13311331

1332-
Expression_Ptr Eval::operator()(Media_Query_Ptr q)
1332+
Media_Query_Ptr Eval::operator()(Media_Query_Ptr q)
13331333
{
13341334
String_Obj t = q->media_type();
13351335
t = static_cast<String_Ptr>(t.isNull() ? 0 : t->perform(this));

src/eval.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ namespace Sass {
5959
Expression_Ptr operator()(String_Quoted_Ptr);
6060
Expression_Ptr operator()(String_Constant_Ptr);
6161
// Expression_Ptr operator()(Selector_List_Ptr);
62-
Expression_Ptr operator()(Media_Query_Ptr);
62+
Media_Query_Ptr operator()(Media_Query_Ptr);
6363
Expression_Ptr operator()(Media_Query_Expression_Ptr);
6464
Expression_Ptr operator()(At_Root_Query_Ptr);
6565
Expression_Ptr operator()(Supports_Operator_Ptr);

src/expand.cpp

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -176,18 +176,19 @@ namespace Sass {
176176

177177
Statement_Ptr Expand::operator()(Media_Block_Ptr m)
178178
{
179-
media_block_stack.push_back(m);
180-
Expression_Obj mq = m->media_queries()->perform(&eval);
179+
Media_Block_Ptr cpy = m->copy();
180+
Expression_Obj mq = eval(m->media_queries());
181181
std::string str_mq(mq->to_string(ctx.c_options));
182182
char* str = sass_copy_c_string(str_mq.c_str());
183183
ctx.strings.push_back(str);
184184
Parser p(Parser::from_c_str(str, ctx, mq->pstate()));
185185
mq = p.parse_media_queries(); // re-assign now
186-
List_Obj ls = Cast<List>(mq->perform(&eval));
186+
cpy->media_queries(mq);
187+
media_block_stack.push_back(cpy);
187188
Block_Obj blk = operator()(m->block());
188189
Media_Block_Ptr mm = SASS_MEMORY_NEW(Media_Block,
189190
m->pstate(),
190-
ls,
191+
mq,
191192
blk);
192193
media_block_stack.pop_back();
193194
mm->tabs(m->tabs());

0 commit comments

Comments
 (0)